From 6b05365fd9507d396573cfd398eaec9d653ad7d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emma=20S=C3=B6derberg?= <emma.m.soderberg@gmail.com> Date: Fri, 11 Dec 2020 12:54:18 +0100 Subject: [PATCH] Update coll tracing for collection contributikons and renaming --- src/jastadd/ast/Trace.jrag | 2 +- src/template/ast/Collections.tt | 4 ++-- src/template/trace/TraceHooks.tt | 10 +++++++--- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/jastadd/ast/Trace.jrag b/src/jastadd/ast/Trace.jrag index f23bed30..b22c6cc0 100644 --- a/src/jastadd/ast/Trace.jrag +++ b/src/jastadd/ast/Trace.jrag @@ -100,7 +100,7 @@ aspect Trace { syn String AttrDecl.traceEndAttr() = trace("end " + traceSignature()); syn String AttrDecl.traceEndCachedAttr() = trace("end cached " + traceSignature()); - syn String CollEq.getConditionStringified() = getCondition().replace("\n", " ").replace("\"", "\\\""); + syn String CollEq.escapeConditionForTemplate() = getCondition().replace("\n", " ").replace("\"", "\\\""); } aspect NewTrace { diff --git a/src/template/ast/Collections.tt b/src/template/ast/Collections.tt index 64db435b..0e043c52 100644 --- a/src/template/ast/Collections.tt +++ b/src/template/ast/Collections.tt @@ -238,11 +238,9 @@ CollEq.contributeStatement [[ $if(#hasCondition) if (#getCondition) { $include(CollEq.addValueToCollection) - $include(CollEq.traceContributionCheckMatch) } $else $include(CollEq.addValueToCollection) - $include(CollEq.traceContributionCheckMatch) $endif $include(CollEq.traceContributionCheckEnd) ]] @@ -251,9 +249,11 @@ CollEq.addValueToCollection [[ $if(#iterableValue) for (#elementType value : #getValue) { collection.$CombOp(value); + $include(CollEq.traceContributionCheckMatch) } $else collection.$CombOp(#getValue); +$include(CollEq.traceContributionCheckMatch) $endif ]] diff --git a/src/template/trace/TraceHooks.tt b/src/template/trace/TraceHooks.tt index f60e76e0..e23ae7ab 100644 --- a/src/template/trace/TraceHooks.tt +++ b/src/template/trace/TraceHooks.tt @@ -325,18 +325,22 @@ $endif CollEq.traceContributionCheckBegin [[ $if (TraceColl) -state().trace().contributionCheckBegin(this, "#collectionId", "#getConditionStringified"); +state().trace().contributionCheckBegin(this, "#collectionId", "#escapeConditionForTemplate"); $endif ]] CollEq.traceContributionCheckEnd [[ $if (TraceColl) -state().trace().contributionCheckEnd(this, "#collectionId", "#getConditionStringified"); +state().trace().contributionCheckEnd(this, "#collectionId", "#escapeConditionForTemplate"); $endif ]] CollEq.traceContributionCheckMatch [[ $if (TraceColl) -state().trace().contributionCheckMatch(this, "#collectionId", "#getConditionStringified", #getValue); +$if(#iterableValue) +state().trace().contributionCheckMatch(this, "#collectionId", "#escapeConditionForTemplate", value); +$else +state().trace().contributionCheckMatch(this, "#collectionId", "#escapeConditionForTemplate", #getValue); +$endif $endif ]] -- GitLab