CsEntity Struct Reference

Abstract Entity class. Base class for all entity classes. More...

Inheritance diagram for CsEntity:

CsEntityAnonymousMethod CsEntityBlockVariable CsEntityConstantBase CsEntityEvent CsEntityFormalParameter CsEntityFormalParameterList CsEntityGenericParam CsEntityLocalVariable CsEntityMethod CsEntityProperty CsEntityVariable CsScopeEntity

List of all members.

Public Member Functions

 CsEntity (cs_entity type_, cs_entity_access ac, PHashString name_)
 CsEntity (cs_entity type_, cs_entity_access ac)
virtual ~CsEntity ()
virtual void visit (CsEntityVisitor *visitor)=0
bool isNamespaceOrType () const
 Returns true if entity is namespace or type.
bool isNamespaceOrTypeRef () const
 Returns true if entity is namespace or type reference.
bool isType () const
 Returns true if entity is type.
bool isTypeRef () const
 Returns true if entity is type reference.
bool isNamespace () const
 Returns true if entity is namespace.
bool isIdentifier () const
bool isField () const
 Returns true if entity is field.
bool isMethod () const
 Returns true if entity is method.
bool isProperty () const
 Returns true if entity is property.
bool isGenericParam () const
 Returns true if entity is generic parameter.
bool isVirtualMethod () const
 Returns true if entity is virtual method.
bool isOverride () const
 Returns true if entity is override entity.
int isBaseClassResolved () const
void setBaseClassResolved ()
void setPartial (bool flag)
 Set partial flag.
int isPartial () const
 Returns true if entity is partial.
int isEffectiveBaseEvaluated () const
void setEffectiveBaseEvaluated ()
int isGenerated () const
 Returns true if entity is generated.
int isCompilerAttribute () const
int isRecursiveInheritance () const
 Returns true if entity directly or indirectly inherits itself.
void setRecursiveInheritance () const
bool isLocalEntity () const
bool isPropertyEvent ()
bool isMethodPropertyEvent ()
bool isAnonymousType ()
 Returns true if entity is anonymous type.
const char * getNameAsString (entity_name_options &options) const

Static Public Member Functions

static bool isParentChild (CsEntity *parent, CsEntity *child)
 Returns true if child is sub-node of parent node.

Public Attributes

cs_entity e: 8
 Entity type enumeration.
cs_entity_access access: 8
 Access to entity.
unsigned __int16 pflags
 Parser flags (for internal purposes only).
PHashString name
 Entity name. Name maybe compound (like "a.b.c") for explicit interface implementation entitites. Name is null for global namespace, blocks and unresolved explicit interface implementation entitites.
unsigned __int32 mflags
 Metadata flags (imported from assembly or generated by parser).
CsEntityparent
 Outer scope of entity. Non-null for all entitites except global namespace.
ClsAssembly * assembly
 Assembly where entity was defined. Always null for entities generated by parser and namespaces.

Classes

struct  entity_name_options
 Entity name generation options. More...


Detailed Description

Abstract Entity class. Base class for all entity classes.

Constructor & Destructor Documentation

CsEntity::CsEntity ( cs_entity  type_,
cs_entity_access  ac,
PHashString  name_ 
) [inline]

CsEntity::CsEntity ( cs_entity  type_,
cs_entity_access  ac 
) [inline]

virtual CsEntity::~CsEntity (  )  [inline, virtual]


Member Function Documentation

bool CsEntity::isNamespaceOrType (  )  const [inline]

Returns true if entity is namespace or type.

bool CsEntity::isNamespaceOrTypeRef (  )  const [inline]

Returns true if entity is namespace or type reference.

bool CsEntity::isType (  )  const [inline]

Returns true if entity is type.

bool CsEntity::isTypeRef (  )  const [inline]

Returns true if entity is type reference.

bool CsEntity::isNamespace (  )  const [inline]

Returns true if entity is namespace.

bool CsEntity::isIdentifier (  )  const [inline]

bool CsEntity::isField (  )  const [inline]

Returns true if entity is field.

bool CsEntity::isMethod (  )  const [inline]

Returns true if entity is method.

bool CsEntity::isProperty (  )  const [inline]

Returns true if entity is property.

bool CsEntity::isGenericParam (  )  const [inline]

Returns true if entity is generic parameter.

bool CsEntity::isVirtualMethod (  )  const [inline]

Returns true if entity is virtual method.

bool CsEntity::isOverride (  )  const [inline]

Returns true if entity is override entity.

static bool CsEntity::isParentChild ( CsEntity parent,
CsEntity child 
) [inline, static]

Returns true if child is sub-node of parent node.

int CsEntity::isBaseClassResolved (  )  const [inline]

void CsEntity::setBaseClassResolved (  )  [inline]

void CsEntity::setPartial ( bool  flag  )  [inline]

Set partial flag.

int CsEntity::isPartial (  )  const [inline]

Returns true if entity is partial.

int CsEntity::isEffectiveBaseEvaluated (  )  const [inline]

void CsEntity::setEffectiveBaseEvaluated (  )  [inline]

int CsEntity::isGenerated (  )  const [inline]

Returns true if entity is generated.

int CsEntity::isCompilerAttribute (  )  const [inline]

int CsEntity::isRecursiveInheritance (  )  const [inline]

Returns true if entity directly or indirectly inherits itself.

void CsEntity::setRecursiveInheritance (  )  const [inline]

bool CsEntity::isLocalEntity (  )  const [inline]

bool CsEntity::isPropertyEvent (  )  [inline]

bool CsEntity::isMethodPropertyEvent (  )  [inline]

bool CsEntity::isAnonymousType (  )  [inline]

Returns true if entity is anonymous type.

const char* CsEntity::getNameAsString ( entity_name_options options  )  const


Member Data Documentation

Entity type enumeration.

unsigned __int16 CsEntity::pflags

Parser flags (for internal purposes only).

PHashString CsEntity::name

Entity name. Name maybe compound (like "a.b.c") for explicit interface implementation entitites. Name is null for global namespace, blocks and unresolved explicit interface implementation entitites.

unsigned __int32 CsEntity::mflags

Metadata flags (imported from assembly or generated by parser).

Outer scope of entity. Non-null for all entitites except global namespace.

ClsAssembly* CsEntity::assembly

Assembly where entity was defined. Always null for entities generated by parser and namespaces.

© 2008 metaspec