CsAttribute Struct Reference

Attribute AST node. More...

Inheritance diagram for CsAttribute:

CsNode List of all members.

Public Member Functions

 CsAttribute ()
 CsAttribute (CsNode *parent, LineInfo line_info, WPHashString phs, CsTokenIndex identifier_token)
virtual ~CsAttribute ()
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 CsCompoundIdentifier compound_identifier
 Attribute compound name.
CsPositionalArgumentListpositional_argument_list
 Positional arguments. Null if positional argument list empty.
CsNamedArgumentListnamed_argument_list
 Named arguments. Null if named argument list empty.
CsEntityentity
 Attribute type entity.
CsTokenIndex separator_token
CsTokenIndex lparen_token
CsTokenIndex rparen_token

Detailed Description

Attribute AST node.

EBNF grammar:

attribute:
  attribute-name "[" attribute-arguments "]"

attribute-name:
  type-name

attribute-arguments:
  "(" ( positional-argument-list )? ")"
  "(" positional-argument-list "," named-argument-list ")"
  "(" named-argument-list ")"


Constructor & Destructor Documentation

CsAttribute::CsAttribute  )  [inline]
 

CsAttribute::CsAttribute CsNode parent,
LineInfo  line_info,
WPHashString  phs,
CsTokenIndex  identifier_token
[inline]
 

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


Member Function Documentation

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

Collect entities defined in this AST node.

Implements CsNode.

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

Collect entity references.

Implements CsNode.

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

Collect token indexes associated with this AST node.

Implements CsNode.

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

Recusively collect token indexes in source code order.

Implements CsNode.

virtual void CsAttribute::build_entities CsDisplay &  display  )  [inline, virtual]
 

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

Implements CsNode.

virtual void CsAttribute::clearEntities  )  [virtual]
 

Clear all entity references (for internal purpose only).

Implements CsNode.

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

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

Implements CsNode.

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

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

Implements CsNode.


Member Data Documentation

CS_GET_NODES CsCompoundIdentifier CsAttribute::compound_identifier
 

Attribute compound name.

CsEntity* CsAttribute::entity
 

Attribute type entity.

CsTokenIndex CsAttribute::lparen_token
 

CsNamedArgumentList* CsAttribute::named_argument_list
 

Named arguments. Null if named argument list empty.

CsPositionalArgumentList* CsAttribute::positional_argument_list
 

Positional arguments. Null if positional argument list empty.

CsTokenIndex CsAttribute::rparen_token
 

CsTokenIndex CsAttribute::separator_token
 

© 2005 metaspec