CsForeachStatement Struct Reference

Foreach statement AST node. More...

Inheritance diagram for CsForeachStatement:

CsStatement CsNode List of all members.

Public Member Functions

 CsForeachStatement ()
 CsForeachStatement (LineInfo line_info)
virtual ~CsForeachStatement ()
virtual void build_entities (CsDisplay &display)
 Build Entities - pass 2 (for internal purpose only).
virtual void type_lookup (CsDisplay &display)
 Type Lookup - pass 3 (for internal purpose only).
virtual void member_lookup (CsDisplay &display)
 Member Lookup - pass 4 (for internal purpose only).
virtual void addTokensRecursive (CsTokenCollector &tokenCollector)
 Recusively collect token indexes in source code order.
virtual void addTokens (CsTokenCollector &tokenCollector)
 Collect token indexes associated with this AST node.
virtual void addEntityDefinitions (CsEntityCollector &tokenCollector)
 Collect entities defined in this AST node.
virtual void addEntityReferences (CsEntityCollector &tokenCollector)
 Collect entity references.
virtual void clearEntities ()
 Clear all entity references (for internal purpose only).

Public Attributes

CsTypeReftype
 Foreach variable type.
PHashString identifier
 Foreach variable name.
CsExpressionexpression
 Expression.
CsStatementstatement
 Statement.
CsEntityBlockVariableentity
 Foreach variable block entity.
CsTokenIndex foreach_token
CsTokenIndex lparen_token
CsTokenIndex identifier_token
CsTokenIndex in_token
CsTokenIndex rparen_token

Detailed Description

Foreach statement AST node.

EBNF grammar:

foreach-statement:
  "foreach" "(" type identifier "in" expression ")" embedded-statement


Constructor & Destructor Documentation

CsForeachStatement::CsForeachStatement  )  [inline]
 

CsForeachStatement::CsForeachStatement LineInfo  line_info  )  [inline, explicit]
 

virtual CsForeachStatement::~CsForeachStatement  )  [inline, virtual]
 


Member Function Documentation

virtual void CsForeachStatement::addEntityDefinitions CsEntityCollector tokenCollector  )  [virtual]
 

Collect entities defined in this AST node.

Implements CsNode.

virtual void CsForeachStatement::addEntityReferences CsEntityCollector tokenCollector  )  [virtual]
 

Collect entity references.

Implements CsNode.

virtual void CsForeachStatement::addTokens CsTokenCollector tokenCollector  )  [virtual]
 

Collect token indexes associated with this AST node.

Implements CsNode.

virtual void CsForeachStatement::addTokensRecursive CsTokenCollector tokenCollector  )  [virtual]
 

Recusively collect token indexes in source code order.

Implements CsNode.

virtual void CsForeachStatement::build_entities CsDisplay &  display  )  [virtual]
 

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

Implements CsNode.

virtual void CsForeachStatement::clearEntities  )  [virtual]
 

Clear all entity references (for internal purpose only).

Implements CsNode.

virtual void CsForeachStatement::member_lookup CsDisplay &  display  )  [virtual]
 

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

Implements CsNode.

virtual void CsForeachStatement::type_lookup CsDisplay &  display  )  [virtual]
 

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

Implements CsNode.


Member Data Documentation

CsEntityBlockVariable* CsForeachStatement::entity
 

Foreach variable block entity.

CsExpression* CsForeachStatement::expression
 

Expression.

CsTokenIndex CsForeachStatement::foreach_token
 

PHashString CsForeachStatement::identifier
 

Foreach variable name.

CsTokenIndex CsForeachStatement::identifier_token
 

CsTokenIndex CsForeachStatement::in_token
 

CsTokenIndex CsForeachStatement::lparen_token
 

CsTokenIndex CsForeachStatement::rparen_token
 

CsStatement* CsForeachStatement::statement
 

Statement.

CsTypeRef* CsForeachStatement::type
 

Foreach variable type.

Reimplemented from CsNode.

© 2005 metaspec