diff --git a/src/template/ast/NodeConstructor.tt b/src/template/ast/NodeConstructor.tt index ba43b91a543c2cad73a385b7cebdd0b630524999..2c5963f8c21e8025dfe79cc1324a5e1095949c23 100644 --- a/src/template/ast/NodeConstructor.tt +++ b/src/template/ast/NodeConstructor.tt @@ -78,10 +78,12 @@ OptDecl.constructor = [[ # A list constructor that builds a list with all arguments ListDecl.constructor = [[ public $List.$List(T... initialChildren) { + $include(State.incHookConstructionStart) children = new $ASTNode[initialChildren.length]; for (int i = 0; i < children.length; ++i) { addChild(initialChildren[i]); } + $include(State.incHookConstructionEnd) } ]] diff --git a/src/template/incremental/ASTChange.tt b/src/template/incremental/ASTChange.tt index 9e7ddcfeec08a67867fb83d26f5a83ec9c262840..5a27cc916598c0b694a2e153b1d508a799b7fc16 100644 --- a/src/template/incremental/ASTChange.tt +++ b/src/template/incremental/ASTChange.tt @@ -116,7 +116,7 @@ if (!state().IN_CONSTRUCTION && !(state().IN_COMPUTATION > 0)) { if (h != null) { h.notifyDependencies(); } - if (i == numChildren) { + if (i == numChildren && h != handler()) { handler().notifyDependencies(); } $endif diff --git a/src/template/incremental/DDGNode.tt b/src/template/incremental/DDGNode.tt index ebba919bc89b28a1110cddff6ec73d47f29a3d0b..115e9cc87f0699e45a96aab43b7312b175e5a7ca 100644 --- a/src/template/incremental/DDGNode.tt +++ b/src/template/incremental/DDGNode.tt @@ -242,7 +242,7 @@ $endif // React to change public void dependencyChanged() { - if (isComputed()) { + if (isComputed() || isCreated()) { setEmpty(); $if (IncrementalTrack) trackedFlushes++;