CsTryStatement Struct Reference

Try statement AST node. More...

Inheritance diagram for CsTryStatement:

CsStatement CsNode List of all members.

Public Member Functions

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

CS_GET_NODES CsBlocktry_block
 Try block.
single_list1< CsCatchClause * > catch_clauses
 Catch clauses.
CsBlockfinally_block
 Finally block.
CsEntityBlockentity
 Try block entity.
CsTokenIndex try_token
CsTokenIndex finally_token

Detailed Description

Try statement AST node.

EBNF grammar:

try-statement:
  "try" block catch-clauses
  "try" block finally-clause
  "try" block catch-clauses finally-clause

catch-clauses:
  specific-catch-clauses (general-catch-clause)?
  (specific-catch-clauses)? general-catch-clause

specific-catch-clauses:
  ( specific-catch-clause )+

specific-catch-clause:
  "catch" "(" class-type [identifier] ")" block

general-catch-clause:
  "catch" block

finally-clause:
  "finally" block


Constructor & Destructor Documentation

CsTryStatement::CsTryStatement  )  [inline]
 

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

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


Member Function Documentation

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

Collect entities defined in this AST node.

Implements CsNode.

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

Collect entity references.

Implements CsNode.

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

Collect token indexes associated with this AST node.

Implements CsNode.

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

Recusively collect token indexes in source code order.

Implements CsNode.

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

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

Implements CsNode.

virtual void CsTryStatement::clearEntities  )  [virtual]
 

Clear all entity references (for internal purpose only).

Implements CsNode.

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

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

Implements CsNode.

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

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

Implements CsNode.


Member Data Documentation

single_list1<CsCatchClause*> CsTryStatement::catch_clauses
 

Catch clauses.

CsEntityBlock* CsTryStatement::entity
 

Try block entity.

CsBlock* CsTryStatement::finally_block
 

Finally block.

CsTokenIndex CsTryStatement::finally_token
 

CS_GET_NODES CsBlock* CsTryStatement::try_block
 

Try block.

CsTokenIndex CsTryStatement::try_token
 

© 2005 metaspec