The StaDyn Programming Language
Source code documentation of StaDyn, a hybrid static and dynamic typing language.
|
Encapsulates a new expression. More...
Public Member Functions | |
NewExpression (string type, CompoundExpression arguments, Location location) | |
Constructor of NewExpression 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... | |
![]() | |
BaseCallExpression (CompoundExpression arguments, Location location) | |
Constructor of BaseCallExpression More... | |
![]() | |
Expression | CloneInit () |
Clones the initialization of the current object. 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... | |
![]() | |
override bool | Equals (object obj) |
AntLR compares Nodes with the class name. This is not correct for our purposes. More... | |
override int | GetHashCode () |
Properties | |
string | TypeInfo [get] |
Gets the name of the new type More... | |
TypeExpression | NewType [get, set] |
![]() | |
CompoundExpression | Arguments [get] |
Gets the arguments to invoke in the expression More... | |
TypeExpression | BaseType [get, set] |
The type of the base reference More... | |
TypeExpression | ActualMethodCalled [get, set] |
The actual method called once overload has been solved. More... | |
![]() | |
TypeExpression | ExpressionType [get, set] |
Gets or sets the type of the expression. More... | |
bool | Lvalue [get, set] |
Gets or sets the lvalue. More... | |
bool | LeftExpression [get, set] |
Gets or sets true if the expression is allocated in the left part of an assignment, false otherwise. More... | |
virtual TypeExpression | ILTypeExpression [get] |
Gets the type expression to use in code generation. More... | |
![]() | |
Location | Location [get] |
Additional Inherited Members | |
![]() | |
Expression (Location location) | |
Protected constructor of Expresion. More... | |
![]() | |
Statement (Location location) | |
Protected constructor of Statement. More... | |
![]() | |
AstNode (Location location) | |
Protected constructor of NodeAst More... | |
![]() | |
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... | |
![]() | |
Location | location |
Location: Encapsulates in one object the line, column and filename More... | |
Encapsulates a new expression.
Inheritance: BaseCallExpression. Implements Composite pattern [Composite]. Implements Visitor pattern [Concrete Element].
Definition at line 36 of file NewExpression.cs.
AST.NewExpression.NewExpression | ( | string | type, |
CompoundExpression | arguments, | ||
Location | location | ||
) |
Constructor of NewExpression
type | TypeExpression to create. |
arguments | Arguments of the invocation. |
fileName | File name. |
lineNumber | Line number. |
columnNumber | Column number. |
Definition at line 82 of file NewExpression.cs.
|
virtual |
Accept method of a concrete visitor.
v | Concrete visitor |
o | Optional information to use in the visit. |
Reimplemented from AST.BaseCallExpression.
Definition at line 98 of file NewExpression.cs.
|
virtual |
Dispatches expressions to the operation passed as argument. It provokes the execution of op.AcceptOperation(AstNode) with the parameter resolved polymorfically
op | AstOperation to dispatch |
Reimplemented from AST.BaseCallExpression.
Definition at line 113 of file NewExpression.cs.
|
getset |
The type expression of what is being created
Definition at line 65 of file NewExpression.cs.
|
get |
Gets the name of the new type
Definition at line 58 of file NewExpression.cs.