18 using System.Collections.Generic;
24 using ErrorManagement;
54 private bool leftExpression =
false;
72 get {
return this.expressionType; }
73 set { this.expressionType = value; }
81 get {
return this.lvalue; }
82 set { this.lvalue = value; }
90 get {
return this.leftExpression; }
91 set { this.leftExpression = value; }
102 return this.frozenTypeExpression;
104 return this.expressionType;
137 #region Dispatcher AstOperation
146 return op.Exec(
this, arg);
Abstract class encapsulate a programming language expression.
TypeExpression ExpressionType
Gets or sets the type of the expression.
This class encapsulates a location in a specific file. Implements an Inmutable pattern. So it can be used in any context, that is his internal fields never change.
Abstract class represents a programming language statement.
bool Lvalue
Gets or sets the lvalue.
override object AcceptOperation(AstOperation op, object arg)
Dispatches expressions to the operation passed as argument. It provokes the execution of op...
This class represent the entry wnen sending a message to an operation object. derived from AstNode ...
Abstract class that represents all different types.
Expression CloneInit()
Clones the initialization of the current object.
bool LeftExpression
Gets or sets true if the expression is allocated in the left part of an assignment, false otherwise.
Location location
Location: Encapsulates in one object the line, column and filename
Expression(Location location)
Protected constructor of Expresion.
TypeExpression frozenTypeExpression
WriteType variable may change its type's substitution (e.g., field type variables) This attribute sav...
virtual TypeExpression ILTypeExpression
Gets the type expression to use in code generation.