return optionaltaskdescriptors;
}
+
/** Boolean flag which indicates whether compiler is compiling a task-based
* program. */
public boolean WEBINTERFACE=false;
private int arraycount=0;
+
private Hashtable<ClassDescriptor, Hashtable<OptionalTaskDescriptor, OptionalTaskDescriptor>> optionaltaskdescriptors;
private Hashtable<ClassDescriptor, Hashtable<FlagState, Set<OptionalTaskDescriptor>>> analysisresults;
}
public int getArrayNumber(TypeDescriptor td) {
- return ((Integer)arraytonumber.get(td)).intValue();
+ if (arraytonumber.containsKey(td))
+ return ((Integer)arraytonumber.get(td)).intValue();
+ else throw new Error("Could not find array type:" + td.toPrettyString());
}
public int numArrays() {
throw new Error("Bad lside in "+an.printNode(0));
checkExpressionNode(md, nametable, an.getDest(), null);
-
/* We want parameter variables to tasks to be immutable */
if (md instanceof TaskDescriptor) {
if (an.getDest() instanceof NameNode) {
}
}
-
if (!postinc&&!typeutil.isSuperorType(an.getDest().getType(),an.getSrc().getType())) {
throw new Error("Type of rside ("+an.getSrc().getType()+") not compatible with type of lside ("+an.getDest().getType()+")"+an.printNode(0));
}