// System.out.println("base location=" + callerBaseLoc + " constraint=" +
// constraint);
- for (int i = 0; i < calleeParamList.size(); i++) {
+ System.out.println("calleeParamList=" + calleeParamList);
+ int offset = 0;
+ if (!md.isStatic()) {
+ offset = 1;
+ }
+ for (int i = offset; i < calleeParamList.size(); i++) {
CompositeLocation calleeParamLoc = calleeParamList.get(i);
if (calleeParamLoc.get(0).equals(calleeThisLoc) && calleeParamLoc.getSize() > 1) {
continue;
}
+ System.out.println("---idx=" + i + " callerArgLoc=" + callerArgLoc + " paramLocation="
+ + paramLocation);
// if (!CompositeLattice.isGreaterThan(callerArgLoc, paramLocation, errorMsg)) {
if (CompositeLattice.compare(callerArgLoc, paramLocation, true, errorMsg) == ComparisonResult.LESS) {
throw new Error("Caller argument '" + min.getArg(i).printNode(0) + " : " + callerArgLoc
// addTypeLocation(on.getRight().getType(), rightLoc);
}
- System.out.println("\n# OP NODE=" + on.printNode(0));
- // System.out.println("# left loc=" + leftLoc + " from " +
- // on.getLeft().getClass());
+ // System.out.println("# left loc=" + leftLoc + " from " + on.getLeft().getClass());
// if (on.getRight() != null) {
- // System.out.println("# right loc=" + rightLoc + " from " +
- // on.getRight().getClass());
+ // System.out.println("# right loc=" + rightLoc + " from " + on.getRight().getClass());
// }
Operation op = on.getOp();
Set<FlatNode> flatNodeSet = ssjava.getBuildFlat().getFlatNodeSet(an);
for (Iterator iterator = flatNodeSet.iterator(); iterator.hasNext();) {
FlatNode fn = (FlatNode) iterator.next();
+ System.out.println("SAMEHEIGHT!");
ssjava.addSameHeightWriteFlatNode(fn);
}
+ } else {
+ System.out.println("NOT SAME HEIGHT!");
}
} else {
addLocationType(fd.getType(), loc);
+ if (ssjava.isSharedLocation(loc)) {
+ ssjava.addSharedDesc(loc, fd);
+ }
}
}
// composite location
int maxTupleSize = 0;
+ int minTupleSize = 0;
CompositeLocation maxCompLoc = null;
Location prevPriorityLoc = null;
maxTupleSize = compLoc.getSize();
maxCompLoc = compLoc;
}
+ if (minTupleSize == 0 || compLoc.getSize() < minTupleSize) {
+ minTupleSize = compLoc.getSize();
+ }
Location priorityLoc = compLoc.get(0);
String priorityLocId = priorityLoc.getLocIdentifier();
priorityLocIdentifierSet.add(priorityLocId);
// in this case, do not take care about delta
// CompositeLocation inputComp = inputSet.iterator().next();
- for (int i = 1; i < maxTupleSize; i++) {
+ // for (int i = 1; i < maxTupleSize; i++) {
+ for (int i = 1; i < minTupleSize; i++) {
glbCompLoc.addLocation(Location.createTopLocation(maxCompLoc.get(i).getDescriptor()));
}
} else {