CsNewArrayExpression Struct Reference

New array expression AST node. More...

Inheritance diagram for CsNewArrayExpression:

CsPrimaryExpression CsExpression CsNode List of all members.

Public Member Functions

 CsNewArrayExpression ()
 CsNewArrayExpression (LineInfo line_info)
virtual ~CsNewArrayExpression ()
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 clearEntities ()
 Clear all entity references (for internal purpose only).

Public Attributes

CsTypeReftype
 Array element type.
CsExpressionListexpressions
 Array size expressions.
value_single_list1_with_delete_value<
CsTypeSpecifier > * 
specifiers
 Array type specifiers.
CsArrayInitializerinitializer
 Array initializer.
CsTokenIndex new_token
CsTokenIndex lbracket_token
CsTokenIndex rbracket_token

Detailed Description

New array expression AST node.

EBNF grammar:

new-array-expression:
  "new" non-array-type "[" expression-list "]" ( rank-specifiers )? ( array-initializer )?
  "new" non-array-type rank-specifiers array-initializer


Constructor & Destructor Documentation

CsNewArrayExpression::CsNewArrayExpression  )  [inline]
 

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

virtual CsNewArrayExpression::~CsNewArrayExpression  )  [virtual]
 


Member Function Documentation

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

Collect token indexes associated with this AST node.

Implements CsNode.

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

Recusively collect token indexes in source code order.

Implements CsNode.

virtual void CsNewArrayExpression::clearEntities  )  [virtual]
 

Clear all entity references (for internal purpose only).

Reimplemented from CsExpression.

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

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

Implements CsNode.

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

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

Implements CsNode.


Member Data Documentation

CsExpressionList* CsNewArrayExpression::expressions
 

Array size expressions.

CsArrayInitializer* CsNewArrayExpression::initializer
 

Array initializer.

CsTokenIndex CsNewArrayExpression::lbracket_token
 

CsTokenIndex CsNewArrayExpression::new_token
 

CsTokenIndex CsNewArrayExpression::rbracket_token
 

value_single_list1_with_delete_value<CsTypeSpecifier>* CsNewArrayExpression::specifiers
 

Array type specifiers.

CsTypeRef* CsNewArrayExpression::type
 

Array element type.

Reimplemented from CsNode.

© 2005 metaspec