CsInterface Class Reference

Interface AST node. More...

Inheritance diagram for CsInterface:
CsScopeNode CsNode

List of all members.

Public Member Functions

 CsInterface ()
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.
override bool isTypeNode ()
 Returns true if node is type.

Public Attributes

CsAttributes attributes
 Attributes.
CsModifiers modifiers
 Modifiers.
CsIdentifier identifier
 Interface name.
CsTypeParameterList type_parameter_list
 Type parameter list.
CsTypeBase type_base
 Base type list.
LinkedList
< CsTypeParameterConstraintsClause
constraints
 Constraints.
List< CsNodemember_declarations
 Member declarations.
int interface_token
int lcurly_token
int rcurly_token
int semicolon_token
DcData dc
 Documentation comments.

Detailed Description

Interface AST node.

EBNF grammar:

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

interface-modifiers:
  (interface-modifier)+

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

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

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

interface-member-declaration:
  interface-method-declaration
  interface-property-declaration
  interface-event-declaration
  interface-indexer-declaration

interface-method-declaration:
  (attributes)? ("new")? return-type identifier "(" formal-parameter-listopt ")" ";"

interface-property-declaration:
  (attributes)? ("new")? type identifier "{" interface-accessors "}"

interface-event-declaration:
  (attributes)? ("new")? "event" type identifier ";"

interface-indexer-declaration:
  (attributes)? ("new")? type "this" "[" formal-parameter-list "]" "{" interface-accessors "}"

interface-accessors:
  (attributes)? "get" ";"
  (attributes)? "set" ";"
  (attributes)? "get" ";" (attributes)? "set" ";"
  (attributes)? "set" ";" (attributes)? "get" ";"


Constructor & Destructor Documentation

CsInterface (  ) 

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 bool isTypeNode (  )  [virtual]

Returns true if node is type.

Reimplemented from 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

Attributes.

Documentation comments.

Interface name.

Member declarations.

Modifiers.

Base type list.

© 2010 metaspec