From 1bb54b22f19966d5c5ae1298e21e1d23d75a3e16 Mon Sep 17 00:00:00 2001 From: bdemsky Date: Wed, 19 Dec 2007 21:00:03 +0000 Subject: [PATCH] correction --- Robust/src/Analysis/Locality/LocalityAnalysis.java | 6 +++++- Robust/src/IR/Tree/BuildIR.java | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Robust/src/Analysis/Locality/LocalityAnalysis.java b/Robust/src/Analysis/Locality/LocalityAnalysis.java index 7a6d589c..8a4907b0 100644 --- a/Robust/src/Analysis/Locality/LocalityAnalysis.java +++ b/Robust/src/Analysis/Locality/LocalityAnalysis.java @@ -469,7 +469,7 @@ public class LocalityAnalysis { 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()); @@ -490,6 +490,10 @@ public class LocalityAnalysis { void processOpNode(FlatOpNode fon, Hashtable 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())); } diff --git a/Robust/src/IR/Tree/BuildIR.java b/Robust/src/IR/Tree/BuildIR.java index da609565..3c9847d0 100644 --- a/Robust/src/IR/Tree/BuildIR.java +++ b/Robust/src/IR/Tree/BuildIR.java @@ -414,7 +414,7 @@ public class BuildIR { 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; -- 2.34.1