CsCatchClause Struct Reference

Catch clause AST node. More...

Inheritance diagram for CsCatchClause:

CsNode List of all members.

Public Member Functions

 CsCatchClause ()
 CsCatchClause (CsNode *parent, LineInfo line_info)
virtual ~CsCatchClause ()
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
 Catch type.
PHashString identifier
 Catch variable name.
CsBlockblock
 Catch block.
CsEntityBlockVariableentity
 Catch variable entity.
CsTokenIndex catch_token
CsTokenIndex lparen_token
CsTokenIndex identifier_token
CsTokenIndex rparen_token

Detailed Description

Catch clause AST node.

EBNF grammar:

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


Constructor & Destructor Documentation

CsCatchClause::CsCatchClause  )  [inline]
 

CsCatchClause::CsCatchClause CsNode parent,
LineInfo  line_info
[inline]
 

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


Member Function Documentation

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

Collect entities defined in this AST node.

Implements CsNode.

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

Collect entity references.

Implements CsNode.

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

Collect token indexes associated with this AST node.

Implements CsNode.

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

Recusively collect token indexes in source code order.

Implements CsNode.

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

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

Implements CsNode.

virtual void CsCatchClause::clearEntities  )  [virtual]
 

Clear all entity references (for internal purpose only).

Implements CsNode.

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

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

Implements CsNode.

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

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

Implements CsNode.


Member Data Documentation

CsBlock* CsCatchClause::block
 

Catch block.

CsTokenIndex CsCatchClause::catch_token
 

CsEntityBlockVariable* CsCatchClause::entity
 

Catch variable entity.

PHashString CsCatchClause::identifier
 

Catch variable name.

CsTokenIndex CsCatchClause::identifier_token
 

CsTokenIndex CsCatchClause::lparen_token
 

CsTokenIndex CsCatchClause::rparen_token
 

CsTypeRef* CsCatchClause::type
 

Catch type.

Reimplemented from CsNode.

© 2005 metaspec