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 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

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]
 

Recusively collect token indexes in source code order.

Implements CsNode.

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

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

Reimplemented from CsExpression.

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::type_lookup CsDisplay &  display  )  [virtual]
 

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

Implements CsNode.


Member Data Documentation

CsTokenIndex CsAsIsExpression::as_is_token
 

CsExpression* CsAsIsExpression::expression
 

Expression.

CsTokenType CsAsIsExpression::oper
 

as (tkAS) or is (tkIS) operator.

CsTypeRef* CsAsIsExpression::type
 

Target type.

Reimplemented from CsNode.

© 2005 metaspec