The StaDyn Programming Language
Source code documentation of StaDyn, a hybrid static and dynamic typing language.
AST.Declaration Class Reference

Encapsulates a declaration of a concrete type. More...

Inheritance diagram for AST.Declaration:
AST.Statement AST.AstNode AST.DeclarationSet AST.FieldDeclarationSet AST.IdDeclaration AST.Definition AST.FieldDeclaration AST.MethodDeclaration AST.PropertyDefinition AST.TypeDefinition AST.ConstantDefinition AST.FieldDefinition AST.MethodDefinition AST.ClassDefinition AST.InterfaceDefinition AST.ConstantFieldDefinition AST.ConstructorDefinition

Public Member Functions

override object AcceptOperation (AstOperation op, object arg)
 Dispatches expressions to the operation passed as argument. It provokes the execution of op.AcceptOperation(AstNode) with the parameter resolved polymorfically More...
 
- Public Member Functions inherited from AST.Statement
override object AcceptOperation (AstOperation op, object arg)
 Dispatches expressions to the operation passed as argument. It provokes the execution of op.AcceptOperation(AstNode) with the parameter resolved polymorfically More...
 
- Public Member Functions inherited from AST.AstNode
abstract Object Accept (Visitor v, Object o)
 Accept method of a concrete visitor. More...
 
override bool Equals (object obj)
 AntLR compares Nodes with the class name. This is not correct for our purposes. More...
 
override int GetHashCode ()
 

Protected Member Functions

 Declaration (string type, Location location)
 Constructor of Declaration More...
 
- Protected Member Functions inherited from AST.Statement
 Statement (Location location)
 Protected constructor of Statement. More...
 
- Protected Member Functions inherited from AST.AstNode
 AstNode (Location location)
 Protected constructor of NodeAst More...
 

Protected Attributes

TypeExpression frozenTypeExpression
 WriteType variable may change its type's substitution (e.g., field type variables) This attribute saves the type in an specific time (frozen). If this type's substitution changes, the frozen type does not. More...
 
- Protected Attributes inherited from AST.AstNode
Location location
 Location: Encapsulates in one object the line, column and filename More...
 

Properties

TypeExpression TypeExpr [get, set]
 Gets or sets the type of the declaration More...
 
string FullName [get, set]
 Gets or sets the nominal type of the declaration More...
 
virtual TypeExpression ILTypeExpression [get]
 Gets the type expression to use in code generation. More...
 
- Properties inherited from AST.AstNode
Location Location [get]
 

Detailed Description

Encapsulates a declaration of a concrete type.

Inheritance: Statement. Implements Composite pattern [Composite]. Implements Visitor pattern [Concrete Element].

Definition at line 34 of file Declaration.cs.

Constructor & Destructor Documentation

AST.Declaration.Declaration ( string  type,
Location  location 
)
protected

Constructor of Declaration

Parameters
typeTypeExpression of the declaration.
fileNameFile name.
lineNumberLine number.
columnNumberColumn number.

Definition at line 103 of file Declaration.cs.

Member Function Documentation

override object AST.Declaration.AcceptOperation ( AstOperation  op,
object  arg 
)
virtual

Dispatches expressions to the operation passed as argument. It provokes the execution of op.AcceptOperation(AstNode) with the parameter resolved polymorfically

Parameters
opAstOperation to dispatch
Returns

Reimplemented from AST.AstNode.

Reimplemented in AST.IdDeclaration, and AST.Definition.

Definition at line 117 of file Declaration.cs.

Member Data Documentation

TypeExpression AST.Declaration.frozenTypeExpression
protected

WriteType variable may change its type's substitution (e.g., field type variables) This attribute saves the type in an specific time (frozen). If this type's substitution changes, the frozen type does not.

Definition at line 53 of file Declaration.cs.

Property Documentation

string AST.Declaration.FullName
getset

Gets or sets the nominal type of the declaration

Definition at line 72 of file Declaration.cs.

virtual TypeExpression AST.Declaration.ILTypeExpression
get

Gets the type expression to use in code generation.

Definition at line 81 of file Declaration.cs.

TypeExpression AST.Declaration.TypeExpr
getset

Gets or sets the type of the declaration

Definition at line 63 of file Declaration.cs.


The documentation for this class was generated from the following file: