From b552119a9aefad233cebee1851537537bd25c844 Mon Sep 17 00:00:00 2001
From: Johannes Mey <johannes.mey@tu-dresden.de>
Date: Thu, 28 Jun 2018 09:44:13 +0200
Subject: [PATCH] fix infinite loop in inc_throwAway()

---
 .../src/main/jastadd/intrinsics/nt-ref-list.jadd      | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/trainbenchmark-tool-jastadd-specialized-incremental/src/main/jastadd/intrinsics/nt-ref-list.jadd b/trainbenchmark-tool-jastadd-specialized-incremental/src/main/jastadd/intrinsics/nt-ref-list.jadd
index 94f2aa440..64457b5bd 100644
--- a/trainbenchmark-tool-jastadd-specialized-incremental/src/main/jastadd/intrinsics/nt-ref-list.jadd
+++ b/trainbenchmark-tool-jastadd-specialized-incremental/src/main/jastadd/intrinsics/nt-ref-list.jadd
@@ -182,4 +182,15 @@ aspect NTList {
   public boolean RefList.isEmpty() {
     return numChildren() == 0;
   }
+
+
+  refine ASTNode public void RefList.inc_throwAway() {
+    if (inc_throwAway_visited) {
+      return;
+    }
+    inc_throwAway_visited = true;
+    inc_state = inc_GARBAGE;
+    // super.inc_throwAway();
+    inc_throwAway_visited = false;
+  }
 }
-- 
GitLab