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

Encapsulates a definition. More...

Inheritance diagram for AST.Definition:
AST.IdDeclaration AST.Declaration AST.Statement AST.AstNode AST.ConstantDefinition

Public Member Functions

 Definition (SingleIdentifierExpression id, string type, Expression init, Location location)
 Constructor of Definition. More...
 
 Definition (SingleIdentifierExpression id, string type, Expression init, int indexSSA, Location location)
 Constructor of Definition More...
 
override Object Accept (Visitor v, Object o)
 Accept method of a concrete visitor. More...
 
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.IdDeclaration
 IdDeclaration (SingleIdentifierExpression id, string type, Location location)
 Constructor of IdDeclaration More...
 
 IdDeclaration (SingleIdentifierExpression id, int indexSSA, string type, Location location)
 Constructor of IdDeclaration More...
 
override Object Accept (Visitor v, Object o)
 Accept method of a concrete visitor. More...
 
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
override bool Equals (object obj)
 AntLR compares Nodes with the class name. This is not correct for our purposes. More...
 
override int GetHashCode ()
 

Properties

Expression Init [get]
 Gets the initialization of the definition More...
 
TypeExpression FrozenTypeExpression [get, set]
 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...
 
- Properties inherited from AST.IdDeclaration
string Identifier [get]
 Gets the name associated to the declaration More...
 
string ILName [get]
 Gets the IL name associated to the declaration identifier. More...
 
SingleIdentifierExpression IdentifierExp [get]
 Gets the identifier expression More...
 
Symbol Symbol [get, set]
 The symbol of the identifier More...
 
- Properties inherited from AST.Declaration
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]
 

Additional Inherited Members

- Protected Member Functions inherited from AST.Declaration
 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 inherited from AST.Declaration
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...
 

Detailed Description

Encapsulates a definition.

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

Definition at line 36 of file Definition.cs.

Constructor & Destructor Documentation

AST.Definition.Definition ( SingleIdentifierExpression  id,
string  type,
Expression  init,
Location  location 
)

Constructor of Definition.

Parameters
idName of the definition.
typeTypeExpression of the definition.
initInitialization of the definition.
fileNameFile name.
lineNumberLine number.
columnNumberColumn number.

Definition at line 81 of file Definition.cs.

AST.Definition.Definition ( SingleIdentifierExpression  id,
string  type,
Expression  init,
int  indexSSA,
Location  location 
)

Constructor of Definition

Parameters
idName of the declaration.
typeTypeExpression of the declaration.
initInitialization of the definition.
indexSSANumber associated to the declaration for SSA algorithm
fileNameFile name.
lineNumberLine number.
columnNumberColumn number.

Definition at line 97 of file Definition.cs.

Member Function Documentation

override Object AST.Definition.Accept ( Visitor  v,
Object  o 
)
virtual

Accept method of a concrete visitor.

Parameters
vConcrete visitor
oOptional information to use in the visit.
Returns
Optional information to return

Implements AST.AstNode.

Definition at line 113 of file Definition.cs.

override object AST.Definition.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.Declaration.

Definition at line 128 of file Definition.cs.

Property Documentation

TypeExpression AST.Definition.FrozenTypeExpression
getset

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 63 of file Definition.cs.

Expression AST.Definition.Init
get

Gets the initialization of the definition

Definition at line 53 of file Definition.cs.


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