Skip to content
Snippets Groups Projects
Commit 2d4b4fb2 authored by hansene's avatar hansene
Browse files

Collecting all assumption errors

parent 30d171e1
No related branches found
No related tags found
No related merge requests found
...@@ -5,7 +5,6 @@ apply plugin: 'maven' ...@@ -5,7 +5,6 @@ apply plugin: 'maven'
project.version = '1.0.0-SNAPSHOT' project.version = '1.0.0-SNAPSHOT'
project.group = 'de.tla' project.group = 'de.tla'
sourceCompatibility = 1.5
repositories { repositories {
mavenCentral() mavenCentral()
......
...@@ -17,7 +17,7 @@ public class OutputCollector { ...@@ -17,7 +17,7 @@ public class OutputCollector {
private static ArrayList<Message> allMessages = new ArrayList<Message>(); private static ArrayList<Message> allMessages = new ArrayList<Message>();
private static Hashtable<Location, Long> lineCount = new Hashtable<Location, Long>(); private static Hashtable<Location, Long> lineCount = new Hashtable<Location, Long>();
private static ModuleNode moduleNode = null; private static ModuleNode moduleNode = null;
private static ExprNode violatedAssumption = null; private static ArrayList<ExprNode> violatedAssumptions = new ArrayList<>();
public static ArrayList<TLCStateInfo> getTrace() { public static ArrayList<TLCStateInfo> getTrace() {
return trace; return trace;
...@@ -46,12 +46,12 @@ public class OutputCollector { ...@@ -46,12 +46,12 @@ public class OutputCollector {
return allMessages; return allMessages;
} }
public static void setViolatedAssumption(ExprNode assumption) { public static void addViolatedAssumption(ExprNode assumption) {
violatedAssumption = assumption; violatedAssumptions.add(assumption);
} }
public static ExprNode getViolatedAssumption() { public static ArrayList<ExprNode> getViolatedAssumptions() {
return violatedAssumption; return violatedAssumptions;
} }
public synchronized static void saveMessage(int messageClass, public synchronized static void saveMessage(int messageClass,
......
...@@ -267,25 +267,30 @@ public class ModelChecker extends AbstractChecker ...@@ -267,25 +267,30 @@ public class ModelChecker extends AbstractChecker
{ {
ExprNode[] assumps = this.tool.getAssumptions(); ExprNode[] assumps = this.tool.getAssumptions();
boolean[] isAxiom = this.tool.getAssumptionIsAxiom(); boolean[] isAxiom = this.tool.getAssumptionIsAxiom();
boolean assumptionsAreTRUE = true;
for (int i = 0; i < assumps.length; i++) for (int i = 0; i < assumps.length; i++)
{ {
try try
{ {
if ((!isAxiom[i]) && !this.tool.isValid(assumps[i])) if ((!isAxiom[i]) && !this.tool.isValid(assumps[i]))
{ {
OutputCollector.setViolatedAssumption(assumps[i]); OutputCollector.addViolatedAssumption(assumps[i]);
MP.printError(EC.TLC_ASSUMPTION_FALSE, assumps[i].toString()); MP.printError(EC.TLC_ASSUMPTION_FALSE, assumps[i].toString());
return false; //return false;
assumptionsAreTRUE = false;
} }
} catch (Exception e) } catch (Exception e)
{ {
// Assert.printStack(e); // Assert.printStack(e);
OutputCollector.addViolatedAssumption(assumps[i]);
MP.printError(EC.TLC_ASSUMPTION_EVALUATION_ERROR, MP.printError(EC.TLC_ASSUMPTION_EVALUATION_ERROR,
new String[] { assumps[i].toString(), e.getMessage() }); new String[] { assumps[i].toString(), e.getMessage() });
return false; //return false;
assumptionsAreTRUE = false;
} }
} }
return true; //return true;
return assumptionsAreTRUE;
} }
/** /**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment