From c5ef44edd63faeef81dcd2c90d951de79f1a7a58 Mon Sep 17 00:00:00 2001 From: sunag Date: Thu, 23 Apr 2026 17:19:14 -0300 Subject: [PATCH] StackNode: Fix `outputNode` flow propagation (#33405) --- src/nodes/core/StackNode.js | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/nodes/core/StackNode.js b/src/nodes/core/StackNode.js index d8762d3541b0a9..5615596e835860 100644 --- a/src/nodes/core/StackNode.js +++ b/src/nodes/core/StackNode.js @@ -91,19 +91,19 @@ class StackNode extends Node { getElementType( builder ) { - return this.hasOutput( builder ) ? this.outputNode.getElementType( builder ) : 'void'; + return this.outputNode ? this.outputNode.getElementType( builder ) : 'void'; } generateNodeType( builder ) { - return this.hasOutput( builder ) ? this.outputNode.getNodeType( builder ) : 'void'; + return this.outputNode ? this.outputNode.getNodeType( builder ) : 'void'; } getMemberType( builder, name ) { - return this.hasOutput( builder ) ? this.outputNode.getMemberType( builder, name ) : 'void'; + return this.outputNode ? this.outputNode.getMemberType( builder, name ) : 'void'; } @@ -312,12 +312,6 @@ class StackNode extends Node { } - hasOutput( builder ) { - - return this.outputNode && this.outputNode.isNode && this.outputNode.getNodeType( builder ) !== 'void'; - - } - build( builder, ...params ) { const previousStack = getCurrentStack(); @@ -393,9 +387,15 @@ class StackNode extends Node { let result; - if ( this.hasOutput( builder ) ) { + if ( this.outputNode ) { - result = this.outputNode.build( builder, ...params ); + const buildResult = this.outputNode.build( builder, ...params ); + + if ( builder.buildStage !== 'generate' || this.outputNode.getNodeType( builder ) !== 'void' ) { + + result = buildResult; + + } } else {