diff --git a/src/jastadd/incremental/IncrementalDebug.jadd b/src/jastadd/incremental/IncrementalDebug.jadd index 84c902578e61f0b64088b08ea6bf9af522c3ca5e..672e7eaaf32e75a152de555a27499a7b094347c6 100644 --- a/src/jastadd/incremental/IncrementalDebug.jadd +++ b/src/jastadd/incremental/IncrementalDebug.jadd @@ -115,14 +115,10 @@ aspect IncrementalDebug { */ public String ASTDecl.genDumpAttributeValuesString() { StringBuffer res = new StringBuffer(); - TemplateContext tt = templateContext(); for (AttrDecl attr : listOfCachedAttributes()) { - // TODO(joqvist): use AttrDecl as template context instead. - tt.bind("IsParameterized", attr.getNumParameter() > 0); - tt.bind("SimpleCacheCheck", attr.simpleCacheCheck()); + TemplateContext tt = attr.templateContext(); tt.bind("PrintAsObject", attr.isPrimitive() || attr.getType().equals("String")); - tt.bind("AttrSign", attr.signature()); - res.append(tt.expand("ASTDecl.dumpCachedAttributeValue")); + res.append(tt.expand("AttrDecl.dumpCachedAttributeValue")); } return res.toString(); } diff --git a/src/template/incremental/Debug.tt b/src/template/incremental/Debug.tt index 448ea0b5c51b43c486bcb6e99b7183966b88b99d..795e4cfdabf29fffc320cdf3b220a47a988921f2 100644 --- a/src/template/incremental/Debug.tt +++ b/src/template/incremental/Debug.tt @@ -126,29 +126,29 @@ $endif ]] # Generate code for dumping a cached attribute value -ASTDecl.dumpCachedAttributeValue = [[ -$if (IsParameterized) -if ($(AttrSign)_values != null) { - for (java.util.Iterator itr = $(AttrSign)_values.keySet().iterator();itr.hasNext();) { +AttrDecl.dumpCachedAttributeValue = [[ +$if (#isParameterized) +if (#(signature)_values != null) { + for (java.util.Iterator itr = #(signature)_values.keySet().iterator();itr.hasNext();) { Object key = (Object)itr.next(); - Object value = $(AttrSign)_values.get(key); - System.out.println("value(" + relativeNodeID() + ":$(AttrSign)[" + + Object value = #(signature)_values.get(key); + System.out.println("value(" + relativeNodeID() + ":#(signature)[" + (key instanceof $ASTNode ? (($ASTNode) key).relativeNodeID() : (key instanceof java.util.List ? printParamList((java.util.List)key) : key) ) + "], " + (value instanceof $ASTNode ? (($ASTNode) value).relativeNodeID() : printValue(value)) + ")"); } } $else - $if (SimpleCacheCheck) -if ($(AttrSign)_computed) { + $if (#simpleCacheCheck) +if (#(signature)_computed) { $else -if ($(AttrSign)_computed == $StateClass.NON_CYCLE || $(AttrSign)_computed == state().cycle()) { +if (#(signature)_computed == $StateClass.NON_CYCLE || #(signature)_computed == state().cycle()) { $endif $if (PrintAsObject) - System.out.println("value(" + relativeNodeID() + ":$(AttrSign), " + $(AttrSign)_value + ")"); + System.out.println("value(" + relativeNodeID() + ":#(signature), " + #(signature)_value + ")"); $else - Object obj = $(AttrSign)_value; - System.out.println("value(" + relativeNodeID() + ":$(AttrSign), " + + Object obj = #(signature)_value; + System.out.println("value(" + relativeNodeID() + ":#(signature), " + (obj instanceof $ASTNode ? (($ASTNode) obj).relativeNodeID() : obj) + ")"); $endif }