if (srctype.equals(LOCAL) && fsfn.getField().getType().isPrimitive())
return;
if (!(srctype.equals(GLOBAL)||srctype.equals(EITHER)))
- throw new Error("Writing possible local reference to global object in context:\n"+lb.getExplanation());
+ throw new Error("Writing possible local reference to global object in context:\n"+lb.getExplanation()+" for FlatFieldNode "+fsfn);
} else if (dsttype.equals(EITHER)) {
if (srctype.equals(CONFLICT))
throw new Error("Using reference that could be local or global in context:\n"+lb.getExplanation());
void processOpNode(FlatOpNode fon, Hashtable<TempDescriptor, Integer> currtable) {
/* Just propagate value */
+ Integer srcvalue=currtable.get(fon.getLeft());
+ if (srcvalue==null) {
+ throw new Error(fon.getLeft()+" is undefined!");
+ }
currtable.put(fon.getDest(), currtable.get(fon.getLeft()));
}
return con;
} else if (isNode(pn,"createarray")) {
//System.out.println(pn.PPrint(3,true));
- boolean isglobal=pn.getChild("createarray")!=null;
+ boolean isglobal=pn.getChild("global")!=null;
TypeDescriptor td=parseTypeDescriptor(pn);
Vector args=parseDimExprs(pn);
int num=0;