CsExpression Struct Reference

Abstract expression AST node. More...

Inheritance diagram for CsExpression:

CsNode CsArrayInitializer CsAsIsExpression CsAssignmentExpression CsBinaryExpression CsConditionalExpression CsLambdaExpression CsPrimaryExpression CsStackAllocExpression CsUnaryExpression

List of all members.

Public Member Functions

 CsExpression (cs_node type)
 CsExpression (cs_node type, LineInfo line_info)
 CsExpression (cs_node type, LineInfo line_info, CsNode *parent)
virtual ~CsExpression ()
virtual void build_entities (CsDisplay &display)
 Build Entities - pass 2 (for internal purpose only).
virtual void addEntityDefinitions (CsEntityCollector &entityCollector)
 Collect entities defined in this AST node.
virtual void addEntityReferences (CsEntityCollector &entityCollector)
 Collect entity references.
virtual void clearEntities ()
 Clear all entity references (for internal purpose only).
virtual bool isExpression () const
 Returns true if AST-node is expression.

Public Attributes

expression_classification ec: 8
 Expression classification.
bool delete_entity_typeref
bool method_group
CsEntityTypeRefentity_typeref
 Type of expression.
CsEntityentity
 Refers to entity which generate expression.
CsEntityMethoduser_defined_conversion
 User-defined conversion operator (method) which used to convert this expression to another type.
CsTokenIndex separator_token


Detailed Description

Abstract expression AST node.

EBNF grammar:

expression:
  unary-expression
  binary-expression
  as-is-expression
  conditional-expression
  assignment-expression


Constructor & Destructor Documentation

CsExpression::CsExpression ( cs_node  type  )  [inline, explicit]

CsExpression::CsExpression ( cs_node  type,
LineInfo  line_info 
) [inline]

CsExpression::CsExpression ( cs_node  type,
LineInfo  line_info,
CsNode parent 
) [inline]

virtual CsExpression::~CsExpression (  )  [inline, virtual]


Member Function Documentation

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

virtual bool CsExpression::isExpression (  )  const [inline, virtual]

Returns true if AST-node is expression.

Reimplemented from CsNode.


Member Data Documentation

Expression classification.

Refers to entity which generate expression.

User-defined conversion operator (method) which used to convert this expression to another type.

© 2008 metaspec