From: bdemsky <bdemsky> Date: Thu, 12 Apr 2007 14:47:53 +0000 (+0000) Subject: changes X-Git-Tag: preEdgeChange~632 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=0df27646da8774841bb5a1f0d81fd195d6daf6fe;p=IRC.git changes --- diff --git a/Robust/src/IR/Flat/BuildFlat.java b/Robust/src/IR/Flat/BuildFlat.java index f5730635..088e9c2e 100644 --- a/Robust/src/IR/Flat/BuildFlat.java +++ b/Robust/src/IR/Flat/BuildFlat.java @@ -42,7 +42,11 @@ public class BuildFlat { FlatMethod fm=new FlatMethod(td, ffan); for(int i=0;i<td.numParameters();i++) { - fm.addParameterTemp(getTempforVar(td.getParameter(i))); + VarDescriptor paramvd=td.getParameter(i); + fm.addParameterTemp(getTempforVar(paramvd)); + //Don't need to get temps for tag variables + //If they are used, this will be done automatically + //If they aren't we won't pass them in } /* Flatten Vector of Flag Effects */ diff --git a/Robust/src/IR/TaskDescriptor.java b/Robust/src/IR/TaskDescriptor.java index 2e3d2deb..2478d217 100644 --- a/Robust/src/IR/TaskDescriptor.java +++ b/Robust/src/IR/TaskDescriptor.java @@ -52,12 +52,13 @@ public class TaskDescriptor extends Descriptor { tagstable.put(vd, tel); for(int i=0;i<tel.numTags();i++) { TagVarDescriptor tvd=new TagVarDescriptor(new TagDescriptor(tel.getType(i)), tel.getName(i)); - if (!(paramtable.getFromSameScope(tel.getName(i)) instanceof TagVarDescriptor)) + if (paramtable.getFromSameScope(tel.getName(i))==null) { + paramtable.add(tvd); + } else if (!(((paramtable.getFromSameScope(tel.getName(i)) instanceof TagVarDescriptor)&¶mtable.getFromSameScope(tel.getName(i))).equals(tvd))) throw new Error("Parameter "+paramname+" already defined"); - paramtable.add(tvd); } } - + if (paramtable.getFromSameScope(paramname)!=null) { throw new Error("Parameter "+paramname+" already defined"); } diff --git a/Robust/src/IR/Tree/TagExpressionList.java b/Robust/src/IR/Tree/TagExpressionList.java index 44c03119..77eb9670 100644 --- a/Robust/src/IR/Tree/TagExpressionList.java +++ b/Robust/src/IR/Tree/TagExpressionList.java @@ -1,13 +1,16 @@ package IR.Tree; import java.util.Vector; +import IR.Flat.TempDescriptor; public class TagExpressionList { Vector names; Vector types; + Vector temps; public TagExpressionList() { names=new Vector(); types=new Vector(); + temps=new Vector(); } public void addTag(String type, String name) {