From fa8edd6e07c44e1e498642921b8502552f48bb59 Mon Sep 17 00:00:00 2001 From: david Date: Fri, 21 Oct 2011 00:42:25 +0000 Subject: [PATCH] adds global, this, and static tags for var id --- Robust/src/Analysis/SSJava/VarID.java | 123 +++++++++++++++++--------- 1 file changed, 79 insertions(+), 44 deletions(-) diff --git a/Robust/src/Analysis/SSJava/VarID.java b/Robust/src/Analysis/SSJava/VarID.java index 4e8c0add..64ea8375 100644 --- a/Robust/src/Analysis/SSJava/VarID.java +++ b/Robust/src/Analysis/SSJava/VarID.java @@ -3,48 +3,83 @@ package Analysis.SSJava; import java.util.ArrayList; import IR.Descriptor; -public class VarID { - - // contains field and var descriptors - // given the case a.b.f it contains descriptors for a,b, and f - private ArrayList var; - // properties of ID - private boolean isThis; - private boolean isGlobal; - private boolean isTop; - - public VarID(Descriptor var) { - this.var = new ArrayList(); - this.var.add(var); - isThis = false; - isGlobal = false; - isTop = false; - } - - public void addAccess(Descriptor var) { - this.var.add(var); - } - - public void setThis() { - isThis = true; - } - - public void setGlobal() { - isGlobal = true; - } - - public void setTop() { - isTop = true; - } - - public String toString() { - String toReturn = ""; - for (Descriptor d : var) - toReturn += d.toString() + " "; - return toReturn; - } - - public void setReturn() { - //interim fixes - } +public class VarID{ + + //contains field and var descriptors + //given the case a.b.f it contains descriptors for a,b, and f + private ArrayList var; + //properties of ID + private boolean isThis; + private boolean isGlobal; + private boolean isTop; + private boolean isReturn; + + public VarID(){ + this.var = new ArrayList(); + isThis = false; + isGlobal = false; + isTop = false; + isReturn = false; + } + public VarID(Descriptor var){ + this.var = new ArrayList(); + this.var.add(var); + isThis = false; + isGlobal = false; + isTop = false; + isReturn = false; + } + + public void addAccess(Descriptor var){ + this.var.add(var); + } + + public ArrayList getDesc(){ + return var; + } + + public void setThis(){ + isThis = true; + } + + public boolean isThis(){ + return isThis; + } + + public void setGlobal(){ + isGlobal = true; + } + + public boolean isGlobal(){ + return isGlobal; + } + + public void setTop(){ + isTop = true; + } + + public boolean isTop(){ + return isTop; + } + + public void setReturn(){ + isReturn = true; + } + + public boolean isReturn(){ + return isReturn; + } + + public boolean equals(VarID id){ + return var.equals(id.getDesc()); + } + + public String toString(){ + if(isReturn) + return "RETURN"; + String toReturn = ""; + for(Descriptor d: var) + toReturn += d.toString() + " "; + return toReturn; + } } \ No newline at end of file -- 2.34.1