From 26006bdf7b2782d199aa648a3babdf49a1a779cf Mon Sep 17 00:00:00 2001
From: hansen <dominik_hansen@web.de>
Date: Tue, 13 Jan 2015 15:56:24 +0100
Subject: [PATCH] added command line switch (assertion check)

---
 src/main/java/de/tlc4b/TLC4B.java             |  2 ++
 src/main/java/de/tlc4b/TLC4BGlobals.java      | 10 +++++++
 .../java/de/tlc4b/prettyprint/TLAPrinter.java | 28 +++++++++----------
 3 files changed, 26 insertions(+), 14 deletions(-)

diff --git a/src/main/java/de/tlc4b/TLC4B.java b/src/main/java/de/tlc4b/TLC4B.java
index 88638b8..7404ea7 100644
--- a/src/main/java/de/tlc4b/TLC4B.java
+++ b/src/main/java/de/tlc4b/TLC4B.java
@@ -139,6 +139,8 @@ public class TLC4B {
 				TLC4BGlobals.setGOAL(false);
 			} else if (args[index].toLowerCase().equals("-noinv")) {
 				TLC4BGlobals.setInvariant(false);
+			}else if (args[index].toLowerCase().equals("-noass")) {
+				TLC4BGlobals.setAssertionCheck(false);
 			} else if (args[index].toLowerCase().equals("-wdcheck")) {
 				TLC4BGlobals.setWelldefinednessCheck(true);
 			} else if (args[index].toLowerCase().equals("-tool")) {
diff --git a/src/main/java/de/tlc4b/TLC4BGlobals.java b/src/main/java/de/tlc4b/TLC4BGlobals.java
index 27fd599..366232b 100644
--- a/src/main/java/de/tlc4b/TLC4BGlobals.java
+++ b/src/main/java/de/tlc4b/TLC4BGlobals.java
@@ -8,6 +8,7 @@ public class TLC4BGlobals {
 	private static boolean checkGOAL;
 	private static boolean checkDeadlock;
 	private static boolean checkInvariant;
+	private static boolean checkAssertion;
 	private static boolean checkLTL;
 	private static boolean checkWD;
 	private static boolean proBconstantsSetup;
@@ -43,6 +44,7 @@ public class TLC4BGlobals {
 		checkGOAL = true;
 		checkDeadlock = true;
 		checkInvariant = true;
+		checkAssertion = true;
 		checkLTL = true;
 		checkWD= false;
 		
@@ -117,6 +119,10 @@ public class TLC4BGlobals {
 	public static boolean isInvariant() {
 		return checkInvariant;
 	}
+	
+	public static boolean isAssertion() {
+		return checkAssertion;
+	}
 
 	public static boolean isCheckltl() {
 		return checkLTL;
@@ -169,6 +175,10 @@ public class TLC4BGlobals {
 	public static void setInvariant(boolean invariant) {
 		TLC4BGlobals.checkInvariant = invariant;
 	}
+	
+	public static void setAssertionCheck(boolean b) {
+		TLC4BGlobals.checkAssertion = b;
+	}
 
 	public static void setCheckltl(boolean checkltl) {
 		TLC4BGlobals.checkLTL = checkltl;
diff --git a/src/main/java/de/tlc4b/prettyprint/TLAPrinter.java b/src/main/java/de/tlc4b/prettyprint/TLAPrinter.java
index 6e3fe3c..b77f668 100644
--- a/src/main/java/de/tlc4b/prettyprint/TLAPrinter.java
+++ b/src/main/java/de/tlc4b/prettyprint/TLAPrinter.java
@@ -211,12 +211,11 @@ public class TLAPrinter extends DepthFirstAdapter {
 			this.configFileString.append("INVARIANT NotGoal\n");
 		}
 
-		if (configFile.getAssertionSize() > 0) {
+		if (TLC4BGlobals.isAssertion()) {
 			for (int i = 0; i < configFile.getAssertionSize(); i++) {
 				this.configFileString.append("INVARIANT Assertion" + (i + 1)
 						+ "\n");
 			}
-
 		}
 
 		if (TLC4BGlobals.isCheckltl()) {
@@ -236,10 +235,10 @@ public class TLAPrinter extends DepthFirstAdapter {
 				configFileString.append(assignments.get(i).getString(renamer));
 			}
 		}
-		if(TLC4BGlobals.isPartialInvariantEvaluation()){
+		if (TLC4BGlobals.isPartialInvariantEvaluation()) {
 			configFileString.append("CONSTANTS\n");
 			configFileString.append("Init1 = Init1\n");
-			
+
 			ArrayList<POperation> operations = tlaModule.getOperations();
 			StringBuilder sb = new StringBuilder();
 			sb.append("{");
@@ -250,7 +249,7 @@ public class TLAPrinter extends DepthFirstAdapter {
 				configFileString.append(name + "1");
 				configFileString.append("\n");
 				sb.append(name + "1");
-				if(i < operations.size()-1){
+				if (i < operations.size() - 1) {
 					sb.append(", ");
 				}
 			}
@@ -260,7 +259,7 @@ public class TLAPrinter extends DepthFirstAdapter {
 			configFileString.append("\n");
 			configFileString.append("VIEW myView");
 		}
-		
+
 	}
 
 	public void moduleStringAppend(String str) {
@@ -416,15 +415,16 @@ public class TLAPrinter extends DepthFirstAdapter {
 	}
 
 	private void printAssertions() {
-		ArrayList<Node> assertions = tlaModule.getAssertions();
-		if (assertions.size() == 0)
-			return;
-		for (int i = 0; i < assertions.size(); i++) {
-			tlaModuleString.append("Assertion" + (i + 1) + " == ");
-			assertions.get(i).apply(this);
-			tlaModuleString.append("\n");
+		if (TLC4BGlobals.isAssertion()) {
+			ArrayList<Node> assertions = tlaModule.getAssertions();
+			if (assertions.size() == 0)
+				return;
+			for (int i = 0; i < assertions.size(); i++) {
+				tlaModuleString.append("Assertion" + (i + 1) + " == ");
+				assertions.get(i).apply(this);
+				tlaModuleString.append("\n");
+			}
 		}
-
 	}
 
 	private void printInit() {
-- 
GitLab