|
@@ -69,11 +69,23 @@ class ConditionalNode extends Node {
|
|
|
*/
|
|
*/
|
|
|
getNodeType( builder ) {
|
|
getNodeType( builder ) {
|
|
|
|
|
|
|
|
- const ifType = this.ifNode.getNodeType( builder );
|
|
|
|
|
|
|
+ const { ifNode, elseNode } = builder.getNodeProperties( this );
|
|
|
|
|
|
|
|
- if ( this.elseNode !== null ) {
|
|
|
|
|
|
|
+ if ( ifNode === undefined ) {
|
|
|
|
|
|
|
|
- const elseType = this.elseNode.getNodeType( builder );
|
|
|
|
|
|
|
+ // fallback setup
|
|
|
|
|
+
|
|
|
|
|
+ this.setup( builder );
|
|
|
|
|
+
|
|
|
|
|
+ return this.getNodeType( builder );
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ const ifType = ifNode.getNodeType( builder );
|
|
|
|
|
+
|
|
|
|
|
+ if ( elseNode !== null ) {
|
|
|
|
|
+
|
|
|
|
|
+ const elseType = elseNode.getNodeType( builder );
|
|
|
|
|
|
|
|
if ( builder.getTypeLength( elseType ) > builder.getTypeLength( ifType ) ) {
|
|
if ( builder.getTypeLength( elseType ) > builder.getTypeLength( ifType ) ) {
|
|
|
|
|
|