CsForStatement Struct Reference

For statement AST node. More...

Inheritance diagram for CsForStatement:

CsStatement CsNode List of all members.

Public Member Functions

 CsForStatement ()
 CsForStatement (LineInfo line_info)
virtual ~CsForStatement ()
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

CsNodeinitializer
 Initializer.
CsExpressioncondition
 Condition.
CsNodeiterator
 Iterator.
CsStatementstatement
 Statement.
CsEntityBlockentity
 For block entity.
CsTokenIndex for_token
CsTokenIndex lparen_token
CsTokenIndex semicolon1_token
CsTokenIndex semicolon2_token
CsTokenIndex rparen_token

Detailed Description

For statement AST node.

EBNF grammar:

for-statement:
  "for" "(" (for-initializer)? ";" (for-condition)? ";" (for-iterator)? ")" embedded-statement

for-initializer:
  local-variable-declaration
  statement-expression-list

for-condition:
  boolean-expression

for-iterator:
  statement-expression-list


Constructor & Destructor Documentation

CsForStatement::CsForStatement  )  [inline]
 

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

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


Member Function Documentation

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

Collect entities defined in this AST node.

Implements CsNode.

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

Collect entity references.

Implements CsNode.

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

Collect token indexes associated with this AST node.

Implements CsNode.

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

Recusively collect token indexes in source code order.

Implements CsNode.

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

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

Implements CsNode.

virtual void CsForStatement::clearEntities  )  [virtual]
 

Clear all entity references (for internal purpose only).

Implements CsNode.

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

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

Implements CsNode.

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

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

Implements CsNode.


Member Data Documentation

CsExpression* CsForStatement::condition
 

Condition.

CsEntityBlock* CsForStatement::entity
 

For block entity.

CsTokenIndex CsForStatement::for_token
 

CsNode* CsForStatement::initializer
 

Initializer.

CsNode* CsForStatement::iterator
 

Iterator.

CsTokenIndex CsForStatement::lparen_token
 

CsTokenIndex CsForStatement::rparen_token
 

CsTokenIndex CsForStatement::semicolon1_token
 

CsTokenIndex CsForStatement::semicolon2_token
 

CsStatement* CsForStatement::statement
 

Statement.

© 2005 metaspec