CsEnum Class Reference

Enum AST node. More...

Inheritance diagram for CsEnum:

CsScopeNode CsNode

List of all members.

Public Member Functions

override void addTokensRecursive (CsTokenCollector tokenCollector)
 Recusively 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)
 CsAstVisitor support.
override void callback (ICsAstCallback visitor)
 CsAstCallback support.

Public Attributes

CsAttributes attributes
 Attributes.
CsModifiers modifiers
 Modifiers.
CsIdentifier identifier
 Enumeration type name.
CsTokenType underlying_type
 Underlying type.
List< CsEnumMembermembers
 Members.
int enum_token
int colon_token
int base_token
int lcurly_token
int rcurly_token
int semicolon_token


Detailed Description

Enum AST node.

EBNF grammar:

enum-declaration:
  (attributes)? (enum-modifiers)? "enum" identifier
  (enum-base)? enum-body (";")?

enum-base:
  ":" integral-type

enum-body:
  "{" (enum-member-declarations)? "}"
  "{" enum-member-declarations "," "}"

enum-modifiers:
  (enum-modifier)+

enum-modifier:
  "new"
  "public"
  "protected"
  "internal"
  "private"

enum-member-declarations:
  enum-member-declaration ( "," enum-member-declaration )*

© 2007 metaspec