CsNode Struct Reference

Abstract AST node. Base class for all AST node classes. More...

Inheritance diagram for CsNode:
CsArgument CsArgumentList CsArgumentName CsArrayInitializer CsAttribute CsAttributes CsAttributeSection CsCatchClause CsCollectionInitializer CsConstantDeclaration CsConstantDeclarator CsConstructor CsConversionOperator CsDefaultArgument CsDestructor CsEnumMember CsEvent CsEventAccessor CsEventDeclarator CsExpression CsExpressionListBase CsExternAliasDirective CsFixedPointDeclarator CsFixedSizeBuffer CsFixedSizeBufferDeclarator CsFormalParameter CsFormalParameterListBase CsFromClause CsGroupClause CsIndexer CsJoinClause CsLabel CsLetClause CsLocalConstantDeclaration CsLocalConstantDeclarator CsLocalVariableDeclaration CsLocalVariableDeclarator CsMemberDeclarator CsMemberInitializer CsMethod CsNamedArgument CsNamespaceOrTypeName CsObjectInitializer CsOperator CsOrderbyClause CsOrdering CsProperty CsPropertyAccessor CsQualifiedAliasMember CsQueryBody CsQueryContinuation CsScopeNode CsSelectClause CsStackAllocInitializer CsStatement CsStatementExpressionList CsSwitchLabel CsSwitchSection CsTypeArgumentList CsTypeBase CsTypeParameter CsTypeParameterConstraintsClause CsTypeParameterList CsTypeRef CsUsingDirective CsVariableDeclaration CsVariableDeclarator CsWhereClause

List of all members.

Public Member Functions

 CsNode (cs_node node_type_)
 CsNode (cs_node node_type_, CsNode *parent_)
 CsNode (cs_node node_type_, LineInfo line_info_)
 CsNode (cs_node node_type_, LineInfo line_info_, CsNode *parent_)
virtual ~CsNode ()
virtual void deleteGenerated (delete_generated_node_enum dgn)
cs_node getNodeType () const
virtual void build_entities (CsDisplay &display)=0
 Build Entities - pass 2 (for internal purpose only).
virtual void type_lookup (CsDisplay &display)=0
 Type Lookup - pass 3 (for internal purpose only).
virtual void member_lookup (CsDisplay &display)=0
 Member Lookup - pass 4 (for internal purpose only).
virtual void clearEntities ()=0
 Clear all entity references (for internal purpose only).
virtual void addTokensRecursive (CsTokenCollector &tokenCollector)=0
 Recursively collect token indexes in source code order.
virtual void addTokens (CsTokenCollector &tokenCollector)=0
 Collect token indexes associated with this AST node.
virtual void addEntityDefinitions (CsEntityCollector &tokenCollector)=0
 Collect entities defined in this AST node.
virtual void addEntityReferences (CsEntityCollector &tokenCollector)=0
 Collect entity references.
virtual void visit (CsAstVisitor *visitor)=0
 CsAstVisitor support.
virtual void callback (CsAstCallback *visitor)=0
 CsAstCallback support.
const LineInfogetLineInfo () const
 Returns LineInfo.
LineInfogetLineInfo ()
 Returns LineInfo.
CsCompilationUnitgetCompilationUnit () const
 Returns compilation unit.
CsFilegetCsFile () const
 Returns C# file.
const TCHAR * getFilePath () const
 Returns C# file path associated with CsCompilationUnit. Returns null if CsCompilationUnit is not direct or indirect parent of this node.
virtual bool isExpression () const
 Returns true if node is expression.
virtual bool isStatement () const
 Returns true if node is statement.
void setGeneratedNode ()
bool isGeneratedNode () const
void setGeneratedNodeCopy ()
bool isGeneratedNodeCopy () const
virtual cs_pass getNodePassType ()=0
 Returns node pass type.
virtual cs_entity_modification getEntityModification ()=0
 Returns entity modification.
virtual void iBuildEntities (CsDisplay &display, cs_pass pass)
 Build entities.
virtual void iInternalBuildEntities (CsDisplay &display, cs_pass pass)
virtual void iRemoveEntities (cs_pass pass)
 Remove entities.
virtual void iInternalRemoveEntities (cs_pass pass)

Public Attributes

unsigned __int8 pass
 Entity state.
unsigned flags: 16
 Flags (for internal purpose).
CsNodeparent
 Parent node. Every node except compilation unit has parent.
LineInfo line_info
 Line/Column information.

Private Member Functions

 CsNode (const CsNode &rhs)
CsNodeoperator= (const CsNode &rhs)

Private Attributes

unsigned __int8 e
 AST node type enumeration.

Detailed Description

Abstract AST node. Base class for all AST node classes.


Constructor & Destructor Documentation

CsNode::CsNode ( cs_node  node_type_  )  [inline, explicit]
CsNode::CsNode ( cs_node  node_type_,
CsNode parent_ 
) [inline]
CsNode::CsNode ( cs_node  node_type_,
LineInfo  line_info_ 
) [inline]
CsNode::CsNode ( cs_node  node_type_,
LineInfo  line_info_,
CsNode parent_ 
) [inline]
virtual CsNode::~CsNode (  )  [inline, virtual]
CsNode::CsNode ( const CsNode rhs  )  [private]

Member Function Documentation

virtual void CsNode::addEntityDefinitions ( CsEntityCollector tokenCollector  )  [pure virtual]

Collect entities defined in this AST node.

Implemented in CsExternAliasDirective, CsTypeArgumentList, CsQualifiedAliasMember, CsNamespaceOrTypeName, CsUsingAliasDirective, CsUsingNamespaceDirective, CsTypeRef, CsExpression, CsPredefinedTypeMemberAccess, CsQualifiedAliasMemberAccess, CsMemberInitializer, CsObjectInitializer, CsCollectionInitializer, CsMemberDeclarator, CsInvocationExpression, CsElementAccess, CsAsIsExpression, CsCastUnaryExpression, CsAssignmentExpression, CsExpressionListBase, CsNamedArgument, CsAttribute, CsAttributeSection, CsAttributes, CsTypeBase, CsTypeParameter, CsTypeParameterList, CsTypeParameterConstraintsClause, CsClassStruct, CsInterface, CsEnumMember, CsEnum, CsDefaultArgument, CsFormalParameter, CsFormalParameterListBase, CsDelegate, CsNamespace, CsArgumentName, CsArgument, CsArgumentList, CsBlock, CsLambdaExpression, CsLabel, CsLabeledStatement, CsEmptyStatement, CsExpressionStatement, CsDeclarationStatement, CsLocalConstantDeclarator, CsLocalConstantDeclaration, CsIfStatement, CsSwitchLabel, CsSwitchSection, CsSwitchStatement, CsWhileStatement, CsDoWhileStatement, CsLocalVariableDeclarator, CsLocalVariableDeclaration, CsStatementExpressionList, CsForStatement, CsForeachStatement, CsBreakStatement, CsContinueStatement, CsGotoStatement, CsReturnStatement, CsThrowStatement, CsCatchClause, CsTryStatement, CsCheckedStatement, CsUncheckedStatement, CsLockStatement, CsUsingStatement, CsUnsafeStatement, CsFixedPointDeclarator, CsFixedStatement, CsYieldStatement, CsStackAllocInitializer, CsConstructor, CsConstantDeclarator, CsConstantDeclaration, CsVariableDeclarator, CsVariableDeclaration, CsArrayInitializer, CsMethod, CsPropertyAccessor, CsProperty, CsEventAccessor, CsEventDeclarator, CsEvent, CsIndexer, CsOperator, CsConversionOperator, CsDestructor, CsCompilationUnit, CsJoinClause, CsFromClause, CsLetClause, CsWhereClause, CsOrdering, CsOrderbyClause, CsSelectClause, CsGroupClause, CsQueryContinuation, CsQueryBody, CsQueryExpression, CsMakeRefExpression, CsRefTypeExpression, CsRefValueExpression, CsArgListExpression, CsFixedSizeBufferDeclarator, and CsFixedSizeBuffer.

virtual void CsNode::addEntityReferences ( CsEntityCollector tokenCollector  )  [pure virtual]

Collect entity references.

Implemented in CsExternAliasDirective, CsTypeArgumentList, CsQualifiedAliasMember, CsNamespaceOrTypeName, CsUsingAliasDirective, CsUsingNamespaceDirective, CsTypeRef, CsExpression, CsPredefinedTypeMemberAccess, CsQualifiedAliasMemberAccess, CsMemberInitializer, CsObjectInitializer, CsCollectionInitializer, CsMemberDeclarator, CsInvocationExpression, CsElementAccess, CsAsIsExpression, CsCastUnaryExpression, CsAssignmentExpression, CsExpressionListBase, CsNamedArgument, CsAttribute, CsAttributeSection, CsAttributes, CsTypeBase, CsTypeParameter, CsTypeParameterList, CsTypeParameterConstraintsClause, CsClassStruct, CsInterface, CsEnumMember, CsEnum, CsDefaultArgument, CsFormalParameter, CsFormalParameterListBase, CsDelegate, CsNamespace, CsArgumentName, CsArgument, CsArgumentList, CsBlock, CsLambdaExpression, CsLabel, CsLabeledStatement, CsEmptyStatement, CsExpressionStatement, CsDeclarationStatement, CsLocalConstantDeclarator, CsLocalConstantDeclaration, CsIfStatement, CsSwitchLabel, CsSwitchSection, CsSwitchStatement, CsWhileStatement, CsDoWhileStatement, CsLocalVariableDeclarator, CsLocalVariableDeclaration, CsStatementExpressionList, CsForStatement, CsForeachStatement, CsBreakStatement, CsContinueStatement, CsGotoStatement, CsReturnStatement, CsThrowStatement, CsCatchClause, CsTryStatement, CsCheckedStatement, CsUncheckedStatement, CsLockStatement, CsUsingStatement, CsUnsafeStatement, CsFixedPointDeclarator, CsFixedStatement, CsYieldStatement, CsStackAllocInitializer, CsConstructor, CsConstantDeclarator, CsConstantDeclaration, CsVariableDeclarator, CsVariableDeclaration, CsArrayInitializer, CsMethod, CsPropertyAccessor, CsProperty, CsEventAccessor, CsEventDeclarator, CsEvent, CsIndexer, CsOperator, CsConversionOperator, CsDestructor, CsCompilationUnit, CsJoinClause, CsFromClause, CsLetClause, CsWhereClause, CsOrdering, CsOrderbyClause, CsSelectClause, CsGroupClause, CsQueryContinuation, CsQueryBody, CsQueryExpression, CsMakeRefExpression, CsRefTypeExpression, CsRefValueExpression, CsArgListExpression, CsFixedSizeBufferDeclarator, and CsFixedSizeBuffer.

virtual void CsNode::addTokens ( CsTokenCollector tokenCollector  )  [pure virtual]

Collect token indexes associated with this AST node.

Implemented in CsExternAliasDirective, CsTypeArgumentList, CsQualifiedAliasMember, CsNamespaceOrTypeName, CsUsingAliasDirective, CsUsingNamespaceDirective, CsTypeRef, CsSimpleName, CsLiteral, CsPredefinedTypeMemberAccess, CsQualifiedAliasMemberAccess, CsThisAccess, CsBaseMemberAccess, CsBaseIndexerAccess, CsTypeofExpression, CsCheckedExpression, CsUncheckedExpression, CsSizeofExpression, CsParenthesizedExpression, CsMemberInitializer, CsObjectInitializer, CsCollectionInitializer, CsNewObjectExpression, CsNewArrayExpression, CsMemberDeclarator, CsAnonymousObjectCreationExpression, CsInvocationExpression, CsElementAccess, CsPrimaryExpressionMemberAccess, CsPointerMemberAccess, CsPostIncrementDecrementExpression, CsBinaryExpression, CsAsIsExpression, CsConditionalExpression, CsOperatorUnaryExpression, CsPreIncrementDecrementExpression, CsCastUnaryExpression, CsAssignmentExpression, CsDefaultValueExpression, CsExpressionListBase, CsElementInitializer, CsNamedArgument, CsAttribute, CsAttributeSection, CsAttributes, CsTypeBase, CsTypeParameter, CsTypeParameterList, CsTypeParameterConstraintsClause, CsClass, CsStruct, CsInterface, CsEnumMember, CsEnum, CsDefaultArgument, CsFormalParameter, CsFormalParameterListBase, CsDelegate, CsNamespace, CsArgumentName, CsArgument, CsArgumentList, CsBlock, CsAnonymousFunctionSignature, CsAnonymousMethodExpression, CsLambdaExpression, CsLabel, CsLabeledStatement, CsEmptyStatement, CsExpressionStatement, CsDeclarationStatement, CsLocalConstantDeclarator, CsLocalConstantDeclaration, CsIfStatement, CsSwitchLabel, CsSwitchSection, CsSwitchStatement, CsWhileStatement, CsDoWhileStatement, CsLocalVariableDeclarator, CsLocalVariableDeclaration, CsStatementExpressionList, CsForStatement, CsForeachStatement, CsBreakStatement, CsContinueStatement, CsGotoStatement, CsReturnStatement, CsThrowStatement, CsCatchClause, CsTryStatement, CsCheckedStatement, CsUncheckedStatement, CsLockStatement, CsUsingStatement, CsUnsafeStatement, CsFixedPointDeclarator, CsFixedStatement, CsYieldStatement, CsStackAllocInitializer, CsConstructor, CsConstantDeclarator, CsConstantDeclaration, CsVariableDeclarator, CsVariableDeclaration, CsArrayInitializer, CsMethod, CsPropertyAccessor, CsProperty, CsEventAccessor, CsEventDeclarator, CsEvent, CsIndexer, CsOperator, CsConversionOperator, CsDestructor, CsCompilationUnit, CsJoinClause, CsFromClause, CsLetClause, CsWhereClause, CsOrdering, CsOrderbyClause, CsSelectClause, CsGroupClause, CsQueryContinuation, CsQueryBody, CsQueryExpression, CsMakeRefExpression, CsRefTypeExpression, CsRefValueExpression, CsArgListExpression, CsFixedSizeBufferDeclarator, CsFixedSizeBuffer, and CsStuffExpression.

virtual void CsNode::addTokensRecursive ( CsTokenCollector tokenCollector  )  [pure virtual]

Recursively collect token indexes in source code order.

Implemented in CsExternAliasDirective, CsTypeArgumentList, CsQualifiedAliasMember, CsNamespaceOrTypeName, CsUsingAliasDirective, CsUsingNamespaceDirective, CsTypeRef, CsSimpleName, CsLiteral, CsPredefinedTypeMemberAccess, CsQualifiedAliasMemberAccess, CsThisAccess, CsBaseMemberAccess, CsBaseIndexerAccess, CsTypeofExpression, CsCheckedExpression, CsUncheckedExpression, CsSizeofExpression, CsParenthesizedExpression, CsMemberInitializer, CsObjectInitializer, CsCollectionInitializer, CsNewObjectExpression, CsNewArrayExpression, CsMemberDeclarator, CsAnonymousObjectCreationExpression, CsInvocationExpression, CsElementAccess, CsPrimaryExpressionMemberAccess, CsPointerMemberAccess, CsPostIncrementDecrementExpression, CsBinaryExpression, CsAsIsExpression, CsConditionalExpression, CsOperatorUnaryExpression, CsPreIncrementDecrementExpression, CsCastUnaryExpression, CsAssignmentExpression, CsDefaultValueExpression, CsExpressionListBase, CsElementInitializer, CsNamedArgument, CsAttribute, CsAttributeSection, CsAttributes, CsTypeBase, CsTypeParameter, CsTypeParameterList, CsTypeParameterConstraintsClause, CsClass, CsStruct, CsInterface, CsEnumMember, CsEnum, CsDefaultArgument, CsFormalParameter, CsFormalParameterListBase, CsDelegate, CsNamespace, CsArgumentName, CsArgument, CsArgumentList, CsBlock, CsAnonymousFunctionSignature, CsAnonymousMethodExpression, CsLambdaExpression, CsLabel, CsLabeledStatement, CsEmptyStatement, CsExpressionStatement, CsDeclarationStatement, CsLocalConstantDeclarator, CsLocalConstantDeclaration, CsIfStatement, CsSwitchLabel, CsSwitchSection, CsSwitchStatement, CsWhileStatement, CsDoWhileStatement, CsLocalVariableDeclarator, CsLocalVariableDeclaration, CsStatementExpressionList, CsForStatement, CsForeachStatement, CsBreakStatement, CsContinueStatement, CsGotoStatement, CsReturnStatement, CsThrowStatement, CsCatchClause, CsTryStatement, CsCheckedStatement, CsUncheckedStatement, CsLockStatement, CsUsingStatement, CsUnsafeStatement, CsFixedPointDeclarator, CsFixedStatement, CsYieldStatement, CsStackAllocInitializer, CsConstructor, CsConstantDeclarator, CsConstantDeclaration, CsVariableDeclarator, CsVariableDeclaration, CsArrayInitializer, CsMethod, CsPropertyAccessor, CsProperty, CsEventAccessor, CsEventDeclarator, CsEvent, CsIndexer, CsOperator, CsConversionOperator, CsDestructor, CsCompilationUnit, CsJoinClause, CsFromClause, CsLetClause, CsWhereClause, CsOrdering, CsOrderbyClause, CsSelectClause, CsGroupClause, CsQueryContinuation, CsQueryBody, CsQueryExpression, CsMakeRefExpression, CsRefTypeExpression, CsRefValueExpression, CsArgListExpression, CsFixedSizeBufferDeclarator, CsFixedSizeBuffer, and CsStuffExpression.

virtual void CsNode::build_entities ( CsDisplay &  display  )  [pure virtual]

Build Entities - pass 2 (for internal purpose only).

Implemented in CsExternAliasDirective, CsTypeArgumentList, CsQualifiedAliasMember, CsNamespaceOrTypeName, CsUsingAliasDirective, CsUsingNamespaceDirective, CsTypeRef, CsExpression, CsMemberInitializer, CsObjectInitializer, CsCollectionInitializer, CsMemberDeclarator, CsExpressionListBase, CsNamedArgument, CsAttribute, CsAttributeSection, CsAttributes, CsTypeBase, CsTypeParameter, CsTypeParameterList, CsTypeParameterConstraintsClause, CsClassStruct, CsInterface, CsEnumMember, CsEnum, CsDefaultArgument, CsFormalParameter, CsFormalParameterListBase, CsDelegate, CsNamespace, CsArgumentName, CsArgument, CsArgumentList, CsStatement, CsLabel, CsEmptyStatement, CsExpressionStatement, CsLocalConstantDeclarator, CsLocalConstantDeclaration, CsIfStatement, CsSwitchLabel, CsSwitchSection, CsSwitchStatement, CsWhileStatement, CsDoWhileStatement, CsLocalVariableDeclarator, CsLocalVariableDeclaration, CsStatementExpressionList, CsForStatement, CsForeachStatement, CsBreakStatement, CsContinueStatement, CsGotoStatement, CsReturnStatement, CsThrowStatement, CsCatchClause, CsTryStatement, CsCheckedStatement, CsUncheckedStatement, CsLockStatement, CsUsingStatement, CsUnsafeStatement, CsFixedPointDeclarator, CsFixedStatement, CsYieldStatement, CsStackAllocInitializer, CsConstructor, CsConstantDeclarator, CsConstantDeclaration, CsVariableDeclarator, CsVariableDeclaration, CsArrayInitializer, CsMethod, CsPropertyAccessor, CsProperty, CsEventAccessor, CsEventDeclarator, CsEvent, CsIndexer, CsOperator, CsConversionOperator, CsDestructor, CsCompilationUnit, CsJoinClause, CsFromClause, CsLetClause, CsWhereClause, CsOrdering, CsOrderbyClause, CsSelectClause, CsGroupClause, CsQueryContinuation, CsQueryBody, CsQueryExpression, CsMakeRefExpression, CsRefTypeExpression, CsRefValueExpression, CsArgListExpression, CsFixedSizeBufferDeclarator, and CsFixedSizeBuffer.

virtual void CsNode::callback ( CsAstCallback visitor  )  [pure virtual]

CsAstCallback support.

Implemented in CsExternAliasDirective, CsTypeArgumentList, CsQualifiedAliasMember, CsNamespaceOrTypeName, CsUsingAliasDirective, CsUsingNamespaceDirective, CsTypeRef, CsSimpleName, CsLiteral, CsPredefinedTypeMemberAccess, CsQualifiedAliasMemberAccess, CsThisAccess, CsBaseMemberAccess, CsBaseIndexerAccess, CsTypeofExpression, CsCheckedExpression, CsUncheckedExpression, CsSizeofExpression, CsParenthesizedExpression, CsMemberInitializer, CsObjectInitializer, CsCollectionInitializer, CsNewObjectExpression, CsNewArrayExpression, CsMemberDeclarator, CsAnonymousObjectCreationExpression, CsInvocationExpression, CsElementAccess, CsPrimaryExpressionMemberAccess, CsPointerMemberAccess, CsPostIncrementDecrementExpression, CsBinaryExpression, CsAsIsExpression, CsConditionalExpression, CsOperatorUnaryExpression, CsPreIncrementDecrementExpression, CsCastUnaryExpression, CsAssignmentExpression, CsDefaultValueExpression, CsExpressionList, CsElementInitializer, CsNamedArgument, CsPositionalArgumentList, CsAttribute, CsAttributeSection, CsAttributes, CsTypeBase, CsTypeParameter, CsTypeParameterList, CsTypeParameterConstraintsClause, CsClass, CsStruct, CsInterface, CsEnumMember, CsEnum, CsDefaultArgument, CsFormalParameter, CsFormalParameterList, CsDelegate, CsNamespace, CsArgumentName, CsArgument, CsArgumentList, CsBlock, CsAnonymousFunctionSignature, CsAnonymousMethodExpression, CsLambdaExpression, CsLabel, CsLabeledStatement, CsEmptyStatement, CsExpressionStatement, CsDeclarationStatement, CsLocalConstantDeclarator, CsLocalConstantDeclaration, CsIfStatement, CsSwitchLabel, CsSwitchSection, CsSwitchStatement, CsWhileStatement, CsDoWhileStatement, CsLocalVariableDeclarator, CsLocalVariableDeclaration, CsStatementExpressionList, CsForStatement, CsForeachStatement, CsBreakStatement, CsContinueStatement, CsGotoStatement, CsReturnStatement, CsThrowStatement, CsCatchClause, CsTryStatement, CsCheckedStatement, CsUncheckedStatement, CsLockStatement, CsUsingStatement, CsUnsafeStatement, CsFixedPointDeclarator, CsFixedStatement, CsYieldStatement, CsStackAllocInitializer, CsConstructor, CsConstantDeclarator, CsConstantDeclaration, CsVariableDeclarator, CsVariableDeclaration, CsArrayInitializer, CsMethod, CsPropertyAccessor, CsProperty, CsEventAccessor, CsEventDeclarator, CsEvent, CsIndexer, CsOperator, CsConversionOperator, CsDestructor, CsCompilationUnit, CsJoinClause, CsFromClause, CsLetClause, CsWhereClause, CsOrdering, CsOrderbyClause, CsSelectClause, CsGroupClause, CsQueryContinuation, CsQueryBody, CsQueryExpression, CsMakeRefExpression, CsRefTypeExpression, CsRefValueExpression, CsArgListExpression, CsFixedSizeBufferDeclarator, CsFixedSizeBuffer, and CsStuffExpression.

virtual void CsNode::clearEntities (  )  [pure virtual]

Clear all entity references (for internal purpose only).

Implemented in CsScopeNode, CsExternAliasDirective, CsTypeArgumentList, CsQualifiedAliasMember, CsNamespaceOrTypeName, CsUsingAliasDirective, CsUsingNamespaceDirective, CsScopeNodeWithUsingDirectives, CsTypeRef, CsExpression, CsSimpleName, CsPredefinedTypeMemberAccess, CsQualifiedAliasMemberAccess, CsBaseMemberAccess, CsBaseIndexerAccess, CsTypeofExpression, CsCheckedExpression, CsUncheckedExpression, CsSizeofExpression, CsParenthesizedExpression, CsMemberInitializer, CsObjectInitializer, CsCollectionInitializer, CsNewObjectExpression, CsNewArrayExpression, CsMemberDeclarator, CsAnonymousObjectCreationExpression, CsInvocationExpression, CsElementAccess, CsPrimaryExpressionMemberAccess, CsPointerMemberAccess, CsPostIncrementDecrementExpression, CsBinaryExpression, CsAsIsExpression, CsConditionalExpression, CsOperatorUnaryExpression, CsPreIncrementDecrementExpression, CsCastUnaryExpression, CsAssignmentExpression, CsDefaultValueExpression, CsExpressionListBase, CsElementInitializer, CsNamedArgument, CsAttribute, CsAttributeSection, CsAttributes, CsTypeBase, CsTypeParameter, CsTypeParameterList, CsTypeParameterConstraintsClause, CsClassStruct, CsInterface, CsEnumMember, CsEnum, CsDefaultArgument, CsFormalParameter, CsFormalParameterListBase, CsDelegate, CsNamespace, CsArgumentName, CsArgument, CsArgumentList, CsBlock, CsAnonymousMethodExpression, CsLambdaExpression, CsLabel, CsLabeledStatement, CsEmptyStatement, CsExpressionStatement, CsDeclarationStatement, CsLocalConstantDeclarator, CsLocalConstantDeclaration, CsIfStatement, CsSwitchLabel, CsSwitchSection, CsSwitchStatement, CsWhileStatement, CsDoWhileStatement, CsLocalVariableDeclarator, CsLocalVariableDeclaration, CsStatementExpressionList, CsForStatement, CsForeachStatement, CsBreakStatement, CsContinueStatement, CsGotoStatement, CsReturnStatement, CsThrowStatement, CsCatchClause, CsTryStatement, CsCheckedStatement, CsUncheckedStatement, CsLockStatement, CsUsingStatement, CsUnsafeStatement, CsFixedPointDeclarator, CsFixedStatement, CsYieldStatement, CsStackAllocInitializer, CsConstructor, CsConstantDeclarator, CsConstantDeclaration, CsVariableDeclarator, CsVariableDeclaration, CsArrayInitializer, CsMethod, CsPropertyAccessor, CsProperty, CsEventAccessor, CsEventDeclarator, CsEvent, CsIndexer, CsOperator, CsConversionOperator, CsDestructor, CsCompilationUnit, CsJoinClause, CsFromClause, CsLetClause, CsWhereClause, CsOrdering, CsOrderbyClause, CsSelectClause, CsGroupClause, CsQueryContinuation, CsQueryBody, CsQueryExpression, CsMakeRefExpression, CsRefTypeExpression, CsRefValueExpression, CsArgListExpression, CsFixedSizeBufferDeclarator, and CsFixedSizeBuffer.

CsCompilationUnit* CsNode::getCompilationUnit (  )  const

Returns compilation unit.

CsFile* CsNode::getCsFile (  )  const

Returns C# file.

virtual cs_entity_modification CsNode::getEntityModification (  )  [pure virtual]

Returns entity modification.

Implemented in CsCompilationUnit.

const TCHAR* CsNode::getFilePath (  )  const

Returns C# file path associated with CsCompilationUnit. Returns null if CsCompilationUnit is not direct or indirect parent of this node.

LineInfo& CsNode::getLineInfo (  )  [inline]

Returns LineInfo.

const LineInfo& CsNode::getLineInfo (  )  const [inline]

Returns LineInfo.

virtual cs_pass CsNode::getNodePassType (  )  [pure virtual]

Returns node pass type.

Implemented in CsCompilationUnit.

cs_node CsNode::getNodeType (  )  const [inline]
virtual void CsNode::iBuildEntities ( CsDisplay &  display,
cs_pass  pass 
) [inline, virtual]

Build entities.

virtual void CsNode::iInternalBuildEntities ( CsDisplay &  display,
cs_pass  pass 
) [inline, virtual]

Reimplemented in CsCompilationUnit.

virtual void CsNode::iInternalRemoveEntities ( cs_pass  pass  )  [inline, virtual]

Reimplemented in CsCompilationUnit.

virtual void CsNode::iRemoveEntities ( cs_pass  pass  )  [inline, virtual]

Remove entities.

virtual bool CsNode::isExpression (  )  const [inline, virtual]

Returns true if node is expression.

Reimplemented in CsExpression.

bool CsNode::isGeneratedNode (  )  const [inline]
bool CsNode::isGeneratedNodeCopy (  )  const [inline]
virtual bool CsNode::isStatement (  )  const [inline, virtual]

Returns true if node is statement.

Reimplemented in CsStatement.

virtual void CsNode::member_lookup ( CsDisplay &  display  )  [pure virtual]

Member Lookup - pass 4 (for internal purpose only).

Implemented in CsExternAliasDirective, CsTypeArgumentList, CsQualifiedAliasMember, CsNamespaceOrTypeName, CsUsingAliasDirective, CsUsingNamespaceDirective, CsTypeRef, CsSimpleName, CsLiteral, CsPredefinedTypeMemberAccess, CsQualifiedAliasMemberAccess, CsThisAccess, CsBaseMemberAccess, CsBaseIndexerAccess, CsTypeofExpression, CsCheckedExpression, CsUncheckedExpression, CsSizeofExpression, CsParenthesizedExpression, CsMemberInitializer, CsObjectInitializer, CsCollectionInitializer, CsNewObjectExpression, CsNewArrayExpression, CsMemberDeclarator, CsAnonymousObjectCreationExpression, CsInvocationExpression, CsElementAccess, CsPrimaryExpressionMemberAccess, CsPointerMemberAccess, CsPostIncrementDecrementExpression, CsBinaryExpression, CsAsIsExpression, CsConditionalExpression, CsOperatorUnaryExpression, CsPreIncrementDecrementExpression, CsCastUnaryExpression, CsAssignmentExpression, CsDefaultValueExpression, CsExpressionListBase, CsNamedArgument, CsAttribute, CsAttributeSection, CsAttributes, CsTypeBase, CsTypeParameter, CsTypeParameterList, CsTypeParameterConstraintsClause, CsClassStruct, CsInterface, CsEnumMember, CsEnum, CsDefaultArgument, CsFormalParameter, CsFormalParameterListBase, CsDelegate, CsNamespace, CsArgumentName, CsArgument, CsArgumentList, CsBlock, CsAnonymousMethodExpression, CsLambdaExpression, CsLabel, CsLabeledStatement, CsEmptyStatement, CsExpressionStatement, CsDeclarationStatement, CsLocalConstantDeclarator, CsLocalConstantDeclaration, CsIfStatement, CsSwitchLabel, CsSwitchSection, CsSwitchStatement, CsWhileStatement, CsDoWhileStatement, CsLocalVariableDeclarator, CsLocalVariableDeclaration, CsStatementExpressionList, CsForStatement, CsForeachStatement, CsBreakStatement, CsContinueStatement, CsGotoStatement, CsReturnStatement, CsThrowStatement, CsCatchClause, CsTryStatement, CsCheckedStatement, CsUncheckedStatement, CsLockStatement, CsUsingStatement, CsUnsafeStatement, CsFixedPointDeclarator, CsFixedStatement, CsYieldStatement, CsStackAllocInitializer, CsConstructor, CsConstantDeclarator, CsConstantDeclaration, CsVariableDeclarator, CsVariableDeclaration, CsArrayInitializer, CsMethod, CsPropertyAccessor, CsProperty, CsEventAccessor, CsEventDeclarator, CsEvent, CsIndexer, CsOperator, CsConversionOperator, CsDestructor, CsCompilationUnit, CsJoinClause, CsFromClause, CsLetClause, CsWhereClause, CsOrdering, CsOrderbyClause, CsSelectClause, CsGroupClause, CsQueryContinuation, CsQueryBody, CsQueryExpression, CsMakeRefExpression, CsRefTypeExpression, CsRefValueExpression, CsArgListExpression, CsFixedSizeBufferDeclarator, CsFixedSizeBuffer, and CsStuffExpression.

CsNode& CsNode::operator= ( const CsNode rhs  )  [private]
void CsNode::setGeneratedNode (  )  [inline]
void CsNode::setGeneratedNodeCopy (  )  [inline]
virtual void CsNode::type_lookup ( CsDisplay &  display  )  [pure virtual]

Type Lookup - pass 3 (for internal purpose only).

Implemented in CsExternAliasDirective, CsTypeArgumentList, CsQualifiedAliasMember, CsNamespaceOrTypeName, CsUsingAliasDirective, CsUsingNamespaceDirective, CsTypeRef, CsExpression, CsSimpleName, CsLiteral, CsPredefinedTypeMemberAccess, CsQualifiedAliasMemberAccess, CsMemberInitializer, CsObjectInitializer, CsCollectionInitializer, CsMemberDeclarator, CsExpressionListBase, CsNamedArgument, CsAttribute, CsAttributeSection, CsAttributes, CsTypeBase, CsTypeParameter, CsTypeParameterList, CsTypeParameterConstraintsClause, CsClassStruct, CsInterface, CsEnumMember, CsEnum, CsDefaultArgument, CsFormalParameter, CsFormalParameterListBase, CsDelegate, CsNamespace, CsArgumentName, CsArgument, CsArgumentList, CsStatement, CsLabel, CsEmptyStatement, CsExpressionStatement, CsLocalConstantDeclarator, CsLocalConstantDeclaration, CsIfStatement, CsSwitchLabel, CsSwitchSection, CsSwitchStatement, CsWhileStatement, CsDoWhileStatement, CsLocalVariableDeclarator, CsLocalVariableDeclaration, CsStatementExpressionList, CsForStatement, CsForeachStatement, CsBreakStatement, CsContinueStatement, CsGotoStatement, CsReturnStatement, CsThrowStatement, CsCatchClause, CsTryStatement, CsCheckedStatement, CsUncheckedStatement, CsLockStatement, CsUsingStatement, CsUnsafeStatement, CsFixedPointDeclarator, CsFixedStatement, CsYieldStatement, CsStackAllocInitializer, CsConstructor, CsConstantDeclarator, CsConstantDeclaration, CsVariableDeclarator, CsVariableDeclaration, CsArrayInitializer, CsMethod, CsPropertyAccessor, CsProperty, CsEventAccessor, CsEventDeclarator, CsEvent, CsIndexer, CsOperator, CsConversionOperator, CsDestructor, CsCompilationUnit, CsJoinClause, CsFromClause, CsLetClause, CsWhereClause, CsOrdering, CsOrderbyClause, CsSelectClause, CsGroupClause, CsQueryContinuation, CsQueryBody, CsQueryExpression, CsMakeRefExpression, CsRefTypeExpression, CsRefValueExpression, CsArgListExpression, CsFixedSizeBufferDeclarator, CsFixedSizeBuffer, and CsStuffExpression.

virtual void CsNode::visit ( CsAstVisitor visitor  )  [pure virtual]

CsAstVisitor support.

Implemented in CsExternAliasDirective, CsTypeArgumentList, CsQualifiedAliasMember, CsNamespaceOrTypeName, CsUsingAliasDirective, CsUsingNamespaceDirective, CsScopeNodeWithUsingDirectives, CsTypeRef, CsSimpleName, CsLiteral, CsPredefinedTypeMemberAccess, CsQualifiedAliasMemberAccess, CsThisAccess, CsBaseMemberAccess, CsBaseIndexerAccess, CsTypeofExpression, CsCheckedExpression, CsUncheckedExpression, CsSizeofExpression, CsParenthesizedExpression, CsMemberInitializer, CsObjectInitializer, CsCollectionInitializer, CsNewObjectExpression, CsNewArrayExpression, CsMemberDeclarator, CsAnonymousObjectCreationExpression, CsInvocationExpression, CsElementAccess, CsPrimaryExpressionMemberAccess, CsPointerMemberAccess, CsPostIncrementDecrementExpression, CsBinaryExpression, CsAsIsExpression, CsConditionalExpression, CsOperatorUnaryExpression, CsPreIncrementDecrementExpression, CsCastUnaryExpression, CsAssignmentExpression, CsDefaultValueExpression, CsExpressionListBase, CsExpressionList, CsElementInitializer, CsNamedArgument, CsPositionalArgumentList, CsAttribute, CsAttributeSection, CsAttributes, CsTypeBase, CsTypeParameter, CsTypeParameterList, CsTypeParameterConstraintsClause, CsClassStruct, CsClass, CsStruct, CsInterface, CsEnumMember, CsEnum, CsDefaultArgument, CsFormalParameter, CsFormalParameterListBase, CsFormalParameterList, CsDelegate, CsNamespace, CsArgumentName, CsArgument, CsArgumentList, CsBlock, CsAnonymousFunctionSignature, CsAnonymousMethodExpression, CsLambdaExpression, CsLabel, CsLabeledStatement, CsEmptyStatement, CsExpressionStatement, CsDeclarationStatement, CsLocalConstantDeclarator, CsLocalConstantDeclaration, CsIfStatement, CsSwitchLabel, CsSwitchSection, CsSwitchStatement, CsWhileStatement, CsDoWhileStatement, CsLocalVariableDeclarator, CsLocalVariableDeclaration, CsStatementExpressionList, CsForStatement, CsForeachStatement, CsBreakStatement, CsContinueStatement, CsGotoStatement, CsReturnStatement, CsThrowStatement, CsCatchClause, CsTryStatement, CsCheckedStatement, CsUncheckedStatement, CsLockStatement, CsUsingStatement, CsUnsafeStatement, CsFixedPointDeclarator, CsFixedStatement, CsYieldStatement, CsStackAllocInitializer, CsConstructor, CsConstantDeclarator, CsConstantDeclaration, CsVariableDeclarator, CsVariableDeclaration, CsArrayInitializer, CsMethod, CsPropertyAccessor, CsProperty, CsEventAccessor, CsEventDeclarator, CsEvent, CsIndexer, CsOperator, CsConversionOperator, CsDestructor, CsCompilationUnit, CsJoinClause, CsFromClause, CsLetClause, CsWhereClause, CsOrdering, CsOrderbyClause, CsSelectClause, CsGroupClause, CsQueryContinuation, CsQueryBody, CsQueryExpression, CsMakeRefExpression, CsRefTypeExpression, CsRefValueExpression, CsArgListExpression, CsFixedSizeBufferDeclarator, CsFixedSizeBuffer, and CsStuffExpression.


Member Data Documentation

unsigned __int8 CsNode::e [private]

AST node type enumeration.

unsigned CsNode::flags

Flags (for internal purpose).

Line/Column information.

Parent node. Every node except compilation unit has parent.

unsigned __int8 CsNode::pass

Entity state.

© 2010 metaspec