From 721bacd23e2b11ad31084b223dc1822c1e647eca Mon Sep 17 00:00:00 2001 From: bdemsky Date: Wed, 12 Oct 2005 17:43:10 +0000 Subject: [PATCH] 2 bug fixes to getRequiredConstraints added option to reject updates that change the layout of objects. --- Repair/RepairCompiler/MCC/CLI.java | 6 +++++- Repair/RepairCompiler/MCC/Compiler.java | 1 + Repair/RepairCompiler/MCC/State.java | 8 +++++--- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Repair/RepairCompiler/MCC/CLI.java b/Repair/RepairCompiler/MCC/CLI.java index 7a38d83..d69310a 100755 --- a/Repair/RepairCompiler/MCC/CLI.java +++ b/Repair/RepairCompiler/MCC/CLI.java @@ -11,7 +11,7 @@ import MCC.IR.DebugItem; * files. * * @author le01, 6.035 Staff (6.035-staff@mit.edu) - * @version $Id: CLI.java,v 1.16 2005/10/02 05:13:26 bdemsky Exp $ + * @version $Id: CLI.java,v 1.17 2005/10/12 17:43:10 bdemsky Exp $ */ public class CLI { /** @@ -110,6 +110,8 @@ public class CLI { System.out.println("-omitcomp -- omit compensation updates"); System.out.println("-mergenodes -- omit nodes for simpler role dependence graphs"); System.out.println("-debuggraph -- add edge labels and support to debug graph"); + System.out.println("-rejectlengthchanges -- reject all updates which change the length of an array"); + System.exit(-1); } @@ -131,6 +133,8 @@ public class CLI { } else if (args[i].equals("-depthconj")) { Compiler.debuggraphs.add(new DebugItem(Integer.parseInt(args[i+1]),Integer.parseInt(args[i+2]),Integer.parseInt(args[i+3]))); i+=3; + } else if (args[i].equals("-rejectlengthchanges")) { + Compiler.REJECTLENGTH=true; } else if (args[i].equals("-debug")) { Compiler.GENERATEDEBUGHOOKS=true; } else if (args[i].equals("-time")) { diff --git a/Repair/RepairCompiler/MCC/Compiler.java b/Repair/RepairCompiler/MCC/Compiler.java index 213abdd..5fa3fca 100755 --- a/Repair/RepairCompiler/MCC/Compiler.java +++ b/Repair/RepairCompiler/MCC/Compiler.java @@ -29,6 +29,7 @@ public class Compiler { public static boolean MERGENODES=false; public static boolean TIME=false; public static boolean DEBUGGRAPH=false; + public static boolean REJECTLENGTH=false; public static Vector debuggraphs=new Vector(); diff --git a/Repair/RepairCompiler/MCC/State.java b/Repair/RepairCompiler/MCC/State.java index d30e7cc..55a86e1 100755 --- a/Repair/RepairCompiler/MCC/State.java +++ b/Repair/RepairCompiler/MCC/State.java @@ -6,7 +6,7 @@ import MCC.IR.*; import java.util.*; public class State { - + public static State currentState = null; public static boolean failed = false; @@ -32,9 +32,10 @@ public class State { public Vector vRules; public Hashtable rulenodes; - public Hashtable constraintnodes; + public Hashtable constraintnodes; public Hashtable implicitrule; public Hashtable implicitruleinv; + public HashSet noupdate; public SetAnalysis setanalysis; State() { @@ -52,6 +53,7 @@ public class State { ptSpace = null; implicitrule=new Hashtable(); implicitruleinv=new Hashtable(); + noupdate=new HashSet(); } void printall() { @@ -64,5 +66,5 @@ public class State { System.out.println(c.toString()); } } - + } -- 2.34.1