diff --git a/src/jastadd/incremental/IncrementalDebug.jadd b/src/jastadd/incremental/IncrementalDebug.jadd index 47d5801ae453d14542ecdf5c96a10c9bae07ad16..3055f0a8ba4fc95479b3c6bb056fc15d13b312c0 100644 --- a/src/jastadd/incremental/IncrementalDebug.jadd +++ b/src/jastadd/incremental/IncrementalDebug.jadd @@ -122,6 +122,7 @@ aspect IncrementalDebug { TemplateContext tt = templateContext(); for (AttrDecl attr : listOfCachedAttributes()) { tt.bind("IsParameterized", attr.getNumParameter() > 0); + tt.bind("IsCircular", attr.isCircular()); tt.bind("PrintAsObject", attr.isPrimitive() || attr.getType().equals("String")); tt.bind("AttrSign", attr.signature()); res.append(tt.expand("ASTDecl.dumpCachedAttributeValue")); diff --git a/src/template/incremental/Debug.tt b/src/template/incremental/Debug.tt index a10cbe761a391d1f8deedaae643148976c0bd52c..a179a966abe69f2cdefbbe1d3c3ed874a7623c65 100644 --- a/src/template/incremental/Debug.tt +++ b/src/template/incremental/Debug.tt @@ -139,7 +139,11 @@ if ($(AttrSign)_values != null) { } } $else +$if (IsCircular) +if ($(AttrSign)_computed == $StateClass.NON_CYCLE || $(AttrSign)_computed == state().cycle()) { +$else if ($(AttrSign)_computed) { +$endif $if (PrintAsObject) System.out.println("value(" + relativeNodeID() + ":$(AttrSign), " + $(AttrSign)_value + ")"); $else