From 94f62079ed1aec461df5e3e493664abe38cf61f9 Mon Sep 17 00:00:00 2001 From: bdemsky Date: Thu, 29 Jul 2004 22:21:58 +0000 Subject: [PATCH] Updates to allow repairing backpointers. --- .../MCC/IR/AbstractInterferes.java | 40 +++++++++++++++ .../RepairCompiler/MCC/IR/AbstractRepair.java | 3 -- .../MCC/IR/ConcreteInterferes.java | 51 ++++++++++++++++++- Repair/RepairCompiler/MCC/IR/Termination.java | 5 ++ Repair/RepairCompiler/MCC/IR/VarExpr.java | 2 + 5 files changed, 96 insertions(+), 5 deletions(-) diff --git a/Repair/RepairCompiler/MCC/IR/AbstractInterferes.java b/Repair/RepairCompiler/MCC/IR/AbstractInterferes.java index a4c1ba3..fc683a9 100755 --- a/Repair/RepairCompiler/MCC/IR/AbstractInterferes.java +++ b/Repair/RepairCompiler/MCC/IR/AbstractInterferes.java @@ -59,6 +59,46 @@ class AbstractInterferes { return false; } + public boolean checkrelationconstraint(AbstractRepair ar, Constraint c) { + if (c.numQuantifiers()==1&& + (c.getQuantifier(0) instanceof RelationQuantifier)) { + RelationQuantifier rq=(RelationQuantifier)c.getQuantifier(0); + if (rq.getRelation()==ar.getDescriptor()) { + Hashtable ht=new Hashtable(); + if (ar.getDomainSet()!=null) + ht.put(rq.x,ar.getDomainSet()); + if (ar.getRangeSet()!=null) + ht.put(rq.y,ar.getRangeSet()); + DNFConstraint dconst=c.dnfconstraint; + conjloop: + for(int i=0;i