18 using System.Collections.Generic;
22 using ErrorManagement;
41 private List<SingleIdentifierExpression> thetaList;
55 public List<SingleIdentifierExpression>
ThetaList
57 get {
return this.thetaList; }
65 get {
return this.thetaId; }
83 this.thetaList =
new List<SingleIdentifierExpression>();
98 private bool containsValue(
string id,
int index)
100 for (
int i = 0; i < this.thetaList.Count; i++)
102 if (thetaList[i].Identifier.Equals(
id))
103 if (thetaList[i].IndexOfSSA == index)
111 #region insertElements
117 private void insertElements(List<SingleIdentifierExpression> list)
119 for (
int i = 0; i < list.Count; i++)
121 if (!(containsValue(list[i].Identifier, list[i].IndexOfSSA)))
122 this.thetaList.Add(list[i]);
138 return v.Visit(
this, o);
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.
Encapsulates a identifier expression of our programming language.
Encapsulates a Theta function to use in SSA algorithm.
SingleIdentifierExpression ThetaId
Gets the expression
Location location
Location: Encapsulates in one object the line, column and filename
override Object Accept(Visitor v, Object o)
Accept method of a concrete visitor.
List< SingleIdentifierExpression > ThetaList
Gets the parameter of theta funcion
ThetaStatement(SingleIdentifierExpression id, List< SingleIdentifierExpression > list, Location location)
Constructor of ThetaStatement