CsEntity Struct Reference

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

Inheritance diagram for CsEntity:

CsEntityBlockVariable CsEntityConstant CsEntityEvent CsEntityFormalParameter CsEntityFormalParameterList CsEntityLocalConstant 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
virtual bool isSharedEntity () const
bool isNamespaceOrType () const
bool isType () const
bool isNamespace () const
bool isIdentifier () const
bool isField () const
bool isMethod () const
bool isVirtualMethod () const
bool isOverrideMethod () const

Static Public Member Functions

static bool isParentChild (CsEntity *parent, CsEntity *child)

Public Attributes

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

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::isField  )  const [inline]
 

bool CsEntity::isIdentifier  )  const [inline]
 

bool CsEntity::isMethod  )  const [inline]
 

bool CsEntity::isNamespace  )  const [inline]
 

bool CsEntity::isNamespaceOrType  )  const [inline]
 

bool CsEntity::isOverrideMethod  )  const [inline]
 

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

virtual bool CsEntity::isSharedEntity  )  const [inline, virtual]
 

Reimplemented in CsEntityMethod, and CsEntityProperty.

bool CsEntity::isType  )  const [inline]
 

bool CsEntity::isVirtualMethod  )  const [inline]
 

virtual void CsEntity::visit CsEntityVisitor visitor  )  [pure virtual]
 

Implemented in CsScopeEntity, CsEntityNamespace, CsEntityBlock, CsEntityFormalParameter, CsEntityFormalParameterList, CsEntityMethod, CsEntityClass, CsEntityStruct, CsEntityInterface, CsEntityEnum, CsEntityConstant, CsEntityVariable, CsEntityBlockVariable, CsEntityDelegate, CsEntityProperty, CsEntityEvent, CsEntityLocalConstant, and CsEntityLocalVariable.


Member Data Documentation

cs_entity_access CsEntity::access
 

Access to entity.

ClsAssembly* CsEntity::assembly
 

Pointer to assembly where entity was defined. Always null for entities generated by parser and namespaces.

cs_entity CsEntity::e
 

Entity type enumeration.

unsigned __int16 CsEntity::flags1
 

Parser flags (for internal purposes only).

unsigned __int32 CsEntity::flags2
 

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

PHashString CsEntity::name
 

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

CsEntity* CsEntity::parent
 

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

© 2005 metaspec