CsTypeParameterConstraintsClause Class Reference

Type parameter list AST node. More...

Inheritance diagram for CsTypeParameterConstraintsClause:
CsNode

List of all members.

Public Member Functions

 CsTypeParameterConstraintsClause ()
override void replace (CsNode old_node, CsNode new_node)
 Replace CsNode fields.
override CsNode clone (clone_options options)
 Clone AST node.
override void addTokensRecursive (CsTokenCollector tokenCollector)
 Recursively collect token indexes in source code order.
override void addTokens (CsTokenCollector tokenCollector)
 Collect token indexes associated with this AST node.
override void visit (ICsAstVisitor visitor)
 ICsAstVisitor support.
override void callback (ICsAstCallback visitor)
 ICsAstCallback support.

Public Attributes

CsIdentifier type_parameter
 Type parameter.
uint constraints_flags
 Constraints flags.
LinkedList< CsTypeRefconstraints
 Primary and secondary constraints (types).
int where_token
int type_parameter_token
int colon_token
int primary_constraint_keyword_token
int constructor_constraint_comma_token
int constructor_constraint_new_token
int constructor_constraint_lparen_token
int constructor_constraint_rparen_token

Detailed Description

Type parameter list AST node.

EBNF grammar:

type-parameter-constraints-clause:
  ":" "where" type-parameter ":" type-parameter-constraints

type-parameter-constraints:
  ":" primary-constraint
  ":" secondary-constraints
  ":" constructor-constraint
  ":" primary-constraint "," secondary-constraints
  ":" primary-constraint "," constructor-constraint
  ":" secondary-constraints "," constructor-constraint
  ":" primary-constraint "," secondary-constraints "," constructor-constraint

primary-constraint:
  ":" class-type
  ":" class
  ":" struct

secondary-constraints:
  ":" interface-type
  ":" type-parameter
  ":" secondary-constraints "," interface-type
  ":" secondary-constraints "," type-parameter

constructor-constraint:
  ":" "new" "(" ")"


Constructor & Destructor Documentation


Member Function Documentation

override void addTokens ( CsTokenCollector  tokenCollector  )  [virtual]

Collect token indexes associated with this AST node.

Implements CsNode.

override void addTokensRecursive ( CsTokenCollector  tokenCollector  )  [virtual]

Recursively collect token indexes in source code order.

Implements CsNode.

override void callback ( ICsAstCallback  visitor  )  [virtual]

ICsAstCallback support.

Implements CsNode.

override CsNode clone ( clone_options  options  )  [virtual]

Clone AST node.

Implements CsNode.

override void replace ( CsNode  old_node,
CsNode  new_node 
) [virtual]

Replace CsNode fields.

Reimplemented from CsNode.

override void visit ( ICsAstVisitor  visitor  )  [virtual]

ICsAstVisitor support.

Implements CsNode.


Member Data Documentation

LinkedList<CsTypeRef> constraints

Primary and secondary constraints (types).

Constraints flags.

Type parameter.

© 2010 metaspec