Skip to content
Snippets Groups Projects
Commit 8f22ce2a authored by Emma Söderberg's avatar Emma Söderberg
Browse files

Removes computed check to change propagation of circular attributes.

This is to prevent the change propagation from being cut short when
the computed value is not fully set. This can happen when circular
attributes are nested and a last cycle to cache all attributes in the
same cycle is not run.
parent c53061ec
Branches
No related tags found
No related merge requests found
...@@ -221,7 +221,11 @@ $endif ...@@ -221,7 +221,11 @@ $endif
ASTDecl.attrFlushCheck = [[ ASTDecl.attrFlushCheck = [[
$if(IncrementalLevelParam) $if(IncrementalLevelParam)
$if(IsParameterized) $if(IsParameterized)
$if(!#isCircular)
if (attrID.equals("$AttrSign") && $(AttrSign)_values != null) {
$else
if (attrID.equals("$AttrSign") && $(AttrSign)_values != null && $(AttrSign)_values.containsKey(_parameters)) { if (attrID.equals("$AttrSign") && $(AttrSign)_values != null && $(AttrSign)_values.containsKey(_parameters)) {
$endif
$if(IsNTA) $if(IsNTA)
$AttrType value = ($AttrType)$(AttrSign)_values.remove(_parameters); $AttrType value = ($AttrType)$(AttrSign)_values.remove(_parameters);
for (int i = 0; i < $(AttrSign)_proxy.children.length; i++) { for (int i = 0; i < $(AttrSign)_proxy.children.length; i++) {
...@@ -245,7 +249,11 @@ if (attrID.equals("$AttrSign") && $(AttrSign)_values != null && $(AttrSign)_valu ...@@ -245,7 +249,11 @@ if (attrID.equals("$AttrSign") && $(AttrSign)_values != null && $(AttrSign)_valu
return; return;
} }
$else $else
$if(!#isCircular)
if (attrID.equals("$AttrSign")) {
$else
if (attrID.equals("$AttrSign") && $(AttrSign)_computed) { if (attrID.equals("$AttrSign") && $(AttrSign)_computed) {
$endif
$if(IsNTA) $if(IsNTA)
if ($(AttrSign)_value instanceof $ASTNode) { if ($(AttrSign)_value instanceof $ASTNode) {
$(AttrSign)_value.setParent(null); $(AttrSign)_value.setParent(null);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment