CsClass Class Reference

Class AST node. More...

Inheritance diagram for CsClass:

CsClassStruct 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

int class_token
int lcurly_token
int rcurly_token
int semicolon_token


Detailed Description

Class AST node.

EBNF grammar:

class-declaration:
  (attributes)? (class-modifiers)? ("partial")? "class" identifier
  (type-parameter-list)? (type-base)? (type-parameter-constraints-clauses)? class-body (";")?

class-modifiers:
  (class-modifier)+

class-modifier:
  "public"
  "protected"
  "internal"
  "private"
  "extern"

class-body:
  "{" (class-member-declarations)? "}"

class-member-declarations:
  (class-member-declaration)+

class-member-declaration:
  constant-declaration
  field-declaration
  method-declaration
  property-declaration
  event-declaration
  indexer-declaration
  operator-declaration
  constructor-declaration
  destructor-declaration
  static-constructor-declaration
  type-declaration

© 2007 metaspec