CsTypeRef Class Reference

Type AST node. More...

Inheritance diagram for CsTypeRef:
CsNode

List of all members.

Public Member Functions

 CsTypeRef ()
override void visit (ICsAstVisitor visitor)
 ICsAstVisitor support.
override void callback (ICsAstCallback visitor)
 ICsAstCallback support.
override void replace (CsNode old_node, CsNode new_node)
 Replace CsNode fields.
override CsNode clone (CsNode.clone_options options)
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.
bool isTypeName ()

Public Attributes

CsTokenType predefined_type
 Predefined type (CsTokenType).
bool nullable
 True for nullable type.
CsNode type_name
 Type-name.
CsTypeSpecifiers specifiers
 Type specifiers.
CsEntityTypeRef entity_typeref
 Entity type reference.
int separator_token
int predefined_type_token
int question_token
CsUsingAliasDirective using_directive_used_in_type_lookup

Detailed Description

Type AST node.

EBNF grammar:

type:
  type-name
  "bool"
  "byte"
  "char"
  "decimal"
  "double"
  "float"
  "int"
  "long"
  "object"
  "sbyte"
  "string"
  "short"
  "uint"
  "ulong"
  "ushort"
  non-array-type rank-specifiers
  pointer-type

pointer-type:
  unmanaged-type "*"
  void "*"

unmanaged-type:
  type

rank-specifiers:
  ( rank-specifier )+

rank-specifier:
  "[" ( "," )* "]"


Constructor & Destructor Documentation

CsTypeRef (  ) 

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 ( CsNode.clone_options  options  ) 
bool isTypeName (  ) 
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

Entity type reference.

bool nullable

True for nullable type.

Predefined type (CsTokenType).

tkEOF - if type is a type-name,
or one of: tkBOOL, tkBYTE, tkCHAR, tkDECIMAL, tkDOUBLE, tkFLOAT, tkINT, tkLONG, tkOBJECT, tkSBYTE, tkSHORT, tkSTRING, tkUINT, tkULONG, tkUSHORT, tkVOID.

Type specifiers.

Type-name.

Using-directive which was used in type lookup.


This field was introduced for rename refactoring support.

© 2010 metaspec