From a96a70b06ad3e49230fda5c5db5647f96efd0815 Mon Sep 17 00:00:00 2001
From: hansen <dominik_hansen@web.de>
Date: Thu, 17 Dec 2015 13:21:18 +0100
Subject: [PATCH] translating all necessary TLA+ definitions

---
 .../de/tla2b/translation/BDefinitionsFinder.java     | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/main/java/de/tla2b/translation/BDefinitionsFinder.java b/src/main/java/de/tla2b/translation/BDefinitionsFinder.java
index 93351e8..3c98c6c 100644
--- a/src/main/java/de/tla2b/translation/BDefinitionsFinder.java
+++ b/src/main/java/de/tla2b/translation/BDefinitionsFinder.java
@@ -1,9 +1,11 @@
 package de.tla2b.translation;
 
+import java.util.ArrayList;
 import java.util.HashSet;
 
 import tla2sany.semantic.ASTConstants;
 import tla2sany.semantic.AssumeNode;
+import tla2sany.semantic.ExprNode;
 import tla2sany.semantic.ExprOrOpArgNode;
 import tla2sany.semantic.OpApplNode;
 import tla2sany.semantic.OpDefNode;
@@ -27,6 +29,13 @@ public class BDefinitionsFinder extends AbstractASTVisitor implements
 
 		for (BOperation op : specAnalyser.getBOperations()) {
 			visitExprNode(op.getNode());
+			ArrayList<OpApplNode> existQuans = op.getExistQuans();
+			for (OpApplNode opApplNode : existQuans) {
+				ExprNode[] bdedQuantBounds = opApplNode.getBdedQuantBounds();
+				for (ExprNode exprNode : bdedQuantBounds) {
+					visitExprNode(exprNode);
+				}
+			}
 		}
 
 		if (specAnalyser.getInits() != null) {
@@ -43,7 +52,6 @@ public class BDefinitionsFinder extends AbstractASTVisitor implements
 			bDefinitionsSet.add(def);
 		}
 
-		
 		HashSet<OpDefNode> temp = new HashSet<OpDefNode>(bDefinitionsSet);
 		for (OpDefNode opDefNode : temp) {
 			visitExprNode(opDefNode.getBody());
@@ -52,7 +60,7 @@ public class BDefinitionsFinder extends AbstractASTVisitor implements
 
 	public void visitUserDefinedNode(OpApplNode n) {
 		OpDefNode def = (OpDefNode) n.getOperator();
-		if(bDefinitionsSet.add(def)){
+		if (bDefinitionsSet.add(def)) {
 			visitExprNode(def.getBody());
 		}
 		for (ExprOrOpArgNode exprOrOpArgNode : n.getArgs()) {
-- 
GitLab