CsTypeRef Struct Reference

Type AST node. More...

Inheritance diagram for CsTypeRef:

CsNode List of all members.

Public Member Functions

 CsTypeRef ()
 CsTypeRef (LineInfo line_info)
virtual ~CsTypeRef ()
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).
bool isEntityType () const
 Returns true is type-name.

Public Attributes

CsTokenType embedded_type
 Embedded type.
CsCompoundIdentifier compound_identifier
 Type-name.
CsTypeSpecifiersspecifiers
 Type specifiers.
CsEntityTypeRef entity_typeref
 Type entity.
CsTokenIndex separator_token
CsTokenIndex embedded_type_token
CsUsingAliasDirectiveusing_directive_used_in_type_lookup

Detailed Description

Type AST node.

EBNF grammar:

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


Constructor & Destructor Documentation

CsTypeRef::CsTypeRef  )  [inline]
 

CsTypeRef::CsTypeRef LineInfo  line_info  )  [inline, explicit]
 

virtual CsTypeRef::~CsTypeRef  )  [inline, virtual]
 


Member Function Documentation

virtual void CsTypeRef::addEntityDefinitions CsEntityCollector tokenCollector  )  [inline, virtual]
 

Collect entities defined in this AST node.

Implements CsNode.

virtual void CsTypeRef::addEntityReferences CsEntityCollector tokenCollector  )  [inline, virtual]
 

Collect entity references.

Implements CsNode.

virtual void CsTypeRef::addTokens CsTokenCollector tokenCollector  )  [virtual]
 

Collect token indexes associated with this AST node.

Implements CsNode.

virtual void CsTypeRef::addTokensRecursive CsTokenCollector tokenCollector  )  [virtual]
 

Recusively collect token indexes in source code order.

Implements CsNode.

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

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

Implements CsNode.

virtual void CsTypeRef::clearEntities  )  [virtual]
 

Clear all entity references (for internal purpose only).

Implements CsNode.

bool CsTypeRef::isEntityType  )  const [inline]
 

Returns true is type-name.

virtual void CsTypeRef::member_lookup CsDisplay &  display  )  [inline, virtual]
 

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

Implements CsNode.

virtual void CsTypeRef::type_lookup CsDisplay &  display  )  [inline, virtual]
 

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

Implements CsNode.


Member Data Documentation

CsCompoundIdentifier CsTypeRef::compound_identifier
 

Type-name.

CsTokenType CsTypeRef::embedded_type
 

Embedded type.

CsTokenIndex CsTypeRef::embedded_type_token
 

CsEntityTypeRef CsTypeRef::entity_typeref
 

Type entity.

CsTokenIndex CsTypeRef::separator_token
 

CsTypeSpecifiers* CsTypeRef::specifiers
 

Type specifiers.

CsUsingAliasDirective* CsTypeRef::using_directive_used_in_type_lookup
 

Using-directive used in type lookup.
This field was introduced for rename refactoring support.

© 2005 metaspec