From 5efce351e9a8e0a7007e84d705d21adf22404704 Mon Sep 17 00:00:00 2001
From: rschoene <rene.schoene@tu-dresden.de>
Date: Mon, 30 Jul 2018 12:44:15 +0200
Subject: [PATCH] Trace flushing cause by incremental.

---
 src/template/incremental/Notification.tt |  3 +++
 src/template/trace/Tracer.tt             | 10 +++++++++-
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/template/incremental/Notification.tt b/src/template/incremental/Notification.tt
index d32ccae9..8f8d5fb0 100644
--- a/src/template/incremental/Notification.tt
+++ b/src/template/incremental/Notification.tt
@@ -287,6 +287,9 @@ $endif
   $AttrResetVisit
   $AttrResetCache
   $(AttrSign)_handler.notifyDependencies();
+  $if (TraceFlush)
+  state().trace().flushIncAttr(this, "$AttrSign", "", "");
+  $endif
   $if(!#isASTNodeDecl)
   super.reactToDependencyChange(attrID, _parameters);
   $endif
diff --git a/src/template/trace/Tracer.tt b/src/template/trace/Tracer.tt
index cc565cd0..0d19cde6 100644
--- a/src/template/trace/Tracer.tt
+++ b/src/template/trace/Tracer.tt
@@ -78,7 +78,8 @@ public static class Trace {
     // Flag: --tracing=flush
     FLUSH_ATTR,
     FLUSH_REWRITE,
-    FLUSH_REWRITE_INIT;
+    FLUSH_REWRITE_INIT,
+    INC_FLUSH_ATTR;
   }
 
   /**
@@ -324,6 +325,13 @@ public static class Trace {
   public void flushAttr($ASTNode node, String attr, Object params, Object value) {
     receiver.accept($StateClass.Trace.Event.FLUSH_ATTR, node, attr, params, value);
   }
+
+  /**
+   * Trace that an attribute was flushed by incremental evaluation.
+   */
+  public void flushIncAttr($ASTNode node, String attr, Object params, Object value) {
+    receiver.accept($StateClass.Trace.Event.INC_FLUSH_ATTR, node, attr, params, value);
+  }
 }
 $endif
 ]]
-- 
GitLab