this.left = left;
this.field = field;
this.index = index;
-
+ StructureTypeDescriptor struct = (StructureTypeDescriptor) left.getType();
FieldDescriptor fd = struct.getField(field);
- LabelDescriptor ld = struct.getLabel(field);
+ LabelDescriptor ld = struct.getLabel(field);
if (ld != null) { /* label */
assert fd == null;
fieldtype = ld.getType(); // d.s ==> Superblock, while, d.b ==> Block
if (ConcreteInterferes.interferes(mun,r,true)) {
GraphNode scopenode=(GraphNode)scopesatisfy.get(r);
GraphNode.Edge e=new GraphNode.Edge("interferes",scopenode);
- GraphNode gnconseq=(GraphNode)consequence.get(sn);
- gnconseq.addEdge(e);
+ gn.addEdge(e);
}
if (ConcreteInterferes.interferes(mun,r,false)) {
GraphNode scopenode=(GraphNode)scopefalsify.get(r);
GraphNode.Edge e=new GraphNode.Edge("interferes",scopenode);
- GraphNode gnconseq=(GraphNode)consequence.get(sn);
- gnconseq.addEdge(e);
+ gn.addEdge(e);
}
}
}
return ((VarExpr)leftexpr).getVar();
} else if (isField()) {
return ((DotExpr)leftexpr).getField();
- } else throw New Error("Unrecognized Update");
+ } else throw new Error("Unrecognized Update");
}
boolean isField() {