CsLambdaExpression Struct Reference

Lambda expression declaration AST node. More...

Inheritance diagram for CsLambdaExpression:
CsExpression CsNode

List of all members.

Public Member Functions

 CsLambdaExpression ()
 CsLambdaExpression (LineInfo line_info)
virtual ~CsLambdaExpression ()
virtual void deleteGenerated (delete_generated_node_enum dgn)
virtual void member_lookup (CsDisplay &display)
 Member Lookup - pass 4 (for internal purpose only).
bool member_lookup (CsDisplay &display, CsEntityTypeRef *T)
bool member_lookup (CsDisplay &display, CsEntityMethodSpecifier *delegate_specifier, bool assignment, bool check_implicit_conversion_to_delegate_return_type)
virtual void clearEntities ()
 Clear all entity references (for internal purpose only).
void clearEntitiesWithoutEntityTypeRef ()
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 &entityCollector)
 Collect entities defined in this AST node.
virtual void addEntityReferences (CsEntityCollector &entityCollector)
 Collect entity references.
virtual void visit (CsAstVisitor *visitor)
 CsAstVisitor support.
void callback (CsAstCallback *visitor)
 CsAstCallback support.

Public Attributes

CsAnonymousFunctionSignaturesignature
 Anonymous function signature.
CsNodebody
 Anonymous function body.
CsEntityTypeRef best_common_type
 Best common type.
bool initialized_parent
int follow_token

Detailed Description

Lambda expression declaration AST node.

EBNF grammar:

lambda-expression:
   anonymous-function-signature "=>" anonymous-function-body

anonymous-function-body:
  expression
  block


Constructor & Destructor Documentation

CsLambdaExpression::CsLambdaExpression (  )  [inline]
CsLambdaExpression::CsLambdaExpression ( LineInfo  line_info  )  [inline]
virtual CsLambdaExpression::~CsLambdaExpression (  )  [inline, virtual]

Member Function Documentation

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

Collect entities defined in this AST node.

Reimplemented from CsExpression.

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

Collect entity references.

Reimplemented from CsExpression.

virtual void CsLambdaExpression::addTokens ( CsTokenCollector tokenCollector  )  [inline, virtual]

Collect token indexes associated with this AST node.

Implements CsNode.

virtual void CsLambdaExpression::addTokensRecursive ( CsTokenCollector tokenCollector  )  [inline, virtual]

Recursively collect token indexes in source code order.

Implements CsNode.

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

CsAstCallback support.

Implements CsNode.

virtual void CsLambdaExpression::clearEntities (  )  [virtual]

Clear all entity references (for internal purpose only).

Reimplemented from CsExpression.

void CsLambdaExpression::clearEntitiesWithoutEntityTypeRef (  )  [inline]
virtual void CsLambdaExpression::deleteGenerated ( delete_generated_node_enum  dgn  )  [inline, virtual]

Reimplemented from CsNode.

bool CsLambdaExpression::member_lookup ( CsDisplay &  display,
CsEntityMethodSpecifier delegate_specifier,
bool  assignment,
bool  check_implicit_conversion_to_delegate_return_type 
)
bool CsLambdaExpression::member_lookup ( CsDisplay &  display,
CsEntityTypeRef T 
)
virtual void CsLambdaExpression::member_lookup ( CsDisplay &  display  )  [virtual]

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

Implements CsNode.

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

CsAstVisitor support.

Implements CsNode.


Member Data Documentation

Anonymous function body.

© 2010 metaspec