Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

VM::ClassInfoIE Class Reference

Possibly internal class type. More...

#include <classinfo.h>

Inheritance diagram for VM::ClassInfoIE:

Inheritance graph
[legend]
Collaboration diagram for VM::ClassInfoIE:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ClassInfoIE (TypeID _tid=0)
 ClassInfoIE (const ClassInfoIE &)
 ~ClassInfoIE ()
 Destructor: No-op.

ClassInfoci ()
 Cast to derived ClassInfo if TypeID>=0, NULL if TypeID<0.

const ClassInfoci () const
 Const version of ci().

TLString CompleteName () const
 Get complete name if TypeID>=0 and string representation for <0.


Public Attributes

TypeID class_tid

Private Member Functions

void operator= (const ClassInfoIE &)
 Do not use.


Detailed Description

Possibly internal class type.

Author:
Wolfgang Wieser ] wwieser (a) gmx <*> de [
This is used as base class specifier. For internal types, only the TypeID is stored here; for non-internal ones, you can static_cast this to ClassInfo. This is done by the ci() function.

This class is semi-C++-safe (for security reasons: you could otherwise assign a ClassInfo to a ClassInfoIE).

Definition at line 45 of file classinfo.h.


Constructor & Destructor Documentation

VM::ClassInfoIE::ClassInfoIE TypeID  _tid = 0  )  [inline]
 

Create a (possibly internal) class info with passed TypeID. If the _tid is negative, no ClassInfo will be derived. Otherwise (_tid>=0), this is part of a (non-internal) ClassInfo object.

Definition at line 59 of file classinfo.h.

References class_tid, and VM::TypeID.

VM::ClassInfoIE::ClassInfoIE const ClassInfoIE  ) 
 

Be VERY careful with the copy constructor. Use only for internal classes.

Definition at line 38 of file classinfo.cc.

References Assert, and class_tid.

VM::ClassInfoIE::~ClassInfoIE  )  [inline]
 

Destructor: No-op.

Definition at line 64 of file classinfo.h.


Member Function Documentation

const ClassInfo * VM::ClassInfoIE::ci  )  const [inline]
 

Const version of ci().

Definition at line 186 of file classinfo.h.

ClassInfo * VM::ClassInfoIE::ci  )  [inline]
 

Cast to derived ClassInfo if TypeID>=0, NULL if TypeID<0.

Definition at line 184 of file classinfo.h.

Referenced by VM::VMLinker::_CheckBaseRecursion(), VM::VMLinker::_CheckNamespaceInfo_Recursive(), VM::VMLinker::_DoPropagateUseFlags(), and CompleteName().

TLString VM::ClassInfoIE::CompleteName  )  const
 

Get complete name if TypeID>=0 and string representation for <0.

Reimplemented in VM::ClassInfo.

Definition at line 25 of file classinfo.cc.

References ci(), class_tid, and FastInt2String().

Referenced by VM::ClassInfo::DumpTree().

void VM::ClassInfoIE::operator= const ClassInfoIE  )  [private]
 

Do not use.


Member Data Documentation

TypeID VM::ClassInfoIE::class_tid
 

TypeID of this class; also stored in the mapping. Also set in the master tree.

Definition at line 50 of file classinfo.h.

Referenced by VM::VMLinker::_CheckNamespaceInfo_Recursive(), VM::VMLinker::_LinkFunction(), VM::AssemblerFile_Plaintext::_WriteSymbols_Recursive(), ClassInfoIE(), CompleteName(), and VM::AssemblerFile::ORD_TypeID2::ord().


The documentation for this class was generated from the following files:
Generated on Sat Feb 19 22:36:13 2005 for Ray by doxygen 1.3.5