CsAsIsExpression Struct Reference

As or is expression AST node. More...

Inheritance diagram for CsAsIsExpression:
CsExpression CsNode

List of all members.

Public Member Functions

 CsAsIsExpression ()
 CsAsIsExpression (CsExpression *expression_, CsTokenType oper_, CsTypeRef *type_)
 CsAsIsExpression (LineInfo line_info)
 CsAsIsExpression (LineInfo line_info, CsExpression *expression_, CsTokenType oper_)
virtual ~CsAsIsExpression ()
virtual void member_lookup (CsDisplay &display)
 Member Lookup - pass 4 (for internal purpose only).
virtual void clearEntities ()
 Clear all entity references (for internal purpose only).
virtual void addTokensRecursive (CsTokenCollector &tokenCollector)
 Recursively 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 visit (CsAstVisitor *visitor)
 CsAstVisitor support.
virtual void callback (CsAstCallback *visitor)
 CsAstCallback support.

Public Attributes

CsExpressionexpression
 Expression.
CsTokenType oper
 as (tkAS) or is (tkIS) operator.
CsTypeReftype
 Target type.
CsTokenIndex as_is_token

Detailed Description

As or is expression AST node.

EBNF grammar:

as-is-expression:
  expression "as" type
  expression "is" type


Constructor & Destructor Documentation

CsAsIsExpression::CsAsIsExpression (  )  [inline]
CsAsIsExpression::CsAsIsExpression ( CsExpression expression_,
CsTokenType  oper_,
CsTypeRef type_ 
) [inline]
CsAsIsExpression::CsAsIsExpression ( LineInfo  line_info  )  [inline, explicit]
CsAsIsExpression::CsAsIsExpression ( LineInfo  line_info,
CsExpression expression_,
CsTokenType  oper_ 
) [inline]
virtual CsAsIsExpression::~CsAsIsExpression (  )  [inline, virtual]

Member Function Documentation

virtual void CsAsIsExpression::addEntityDefinitions ( CsEntityCollector tokenCollector  )  [inline, virtual]

Collect entities defined in this AST node.

Reimplemented from CsExpression.

virtual void CsAsIsExpression::addEntityReferences ( CsEntityCollector tokenCollector  )  [inline, virtual]

Collect entity references.

Reimplemented from CsExpression.

virtual void CsAsIsExpression::addTokens ( CsTokenCollector tokenCollector  )  [virtual]

Collect token indexes associated with this AST node.

Implements CsNode.

virtual void CsAsIsExpression::addTokensRecursive ( CsTokenCollector tokenCollector  )  [virtual]

Recursively collect token indexes in source code order.

Implements CsNode.

virtual void CsAsIsExpression::callback ( CsAstCallback visitor  )  [inline, virtual]

CsAstCallback support.

Implements CsNode.

virtual void CsAsIsExpression::clearEntities (  )  [virtual]

Clear all entity references (for internal purpose only).

Reimplemented from CsExpression.

virtual void CsAsIsExpression::member_lookup ( CsDisplay &  display  )  [virtual]

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

Implements CsNode.

virtual void CsAsIsExpression::visit ( CsAstVisitor visitor  )  [inline, virtual]

CsAstVisitor support.

Implements CsNode.


Member Data Documentation

as (tkAS) or is (tkIS) operator.

© 2010 metaspec