@@ -8795,11 +8795,11 @@ export class Compiler extends DiagnosticEmitter {
87958795 var expressions = expression . elementExpressions ;
87968796 var length = expressions . length ;
87978797 var values = new Array < ExpressionRef > ( length ) ;
8798- var isStatic = true ;
8798+ var isStatic = ! elementType . is ( TypeFlags . HOST ) ;
87998799 var nativeElementType = elementType . toNativeType ( ) ;
88008800 for ( let i = 0 ; i < length ; ++ i ) {
88018801 let elementExpression = expressions [ i ] ;
8802- if ( elementExpression ) {
8802+ if ( elementExpression . kind != NodeKind . OMITTED ) {
88038803 let expr = this . compileExpression ( < Expression > elementExpression , elementType ,
88048804 Constraints . CONV_IMPLICIT | Constraints . WILL_RETAIN
88058805 ) ;
@@ -8811,7 +8811,7 @@ export class Compiler extends DiagnosticEmitter {
88118811 }
88128812 values [ i ] = expr ;
88138813 } else {
8814- values [ i ] = this . makeZero ( elementType , expression ) ;
8814+ values [ i ] = this . makeZero ( elementType , elementExpression ) ;
88158815 }
88168816 }
88178817
@@ -8966,10 +8966,10 @@ export class Compiler extends DiagnosticEmitter {
89668966 var length = expressions . length ;
89678967 var values = new Array < ExpressionRef > ( length ) ;
89688968 var nativeElementType = elementType . toNativeType ( ) ;
8969- var isStatic = true ;
8969+ var isStatic = ! elementType . is ( TypeFlags . HOST ) ;
89708970 for ( let i = 0 ; i < length ; ++ i ) {
89718971 let elementExpression = expressions [ i ] ;
8972- if ( elementExpression ) {
8972+ if ( elementExpression . kind != NodeKind . OMITTED ) {
89738973 let expr = this . compileExpression ( elementExpression , elementType ,
89748974 Constraints . CONV_IMPLICIT | Constraints . WILL_RETAIN
89758975 ) ;
@@ -8981,7 +8981,7 @@ export class Compiler extends DiagnosticEmitter {
89818981 }
89828982 values [ i ] = expr ;
89838983 } else {
8984- values [ i ] = this . makeZero ( elementType , expression ) ;
8984+ values [ i ] = this . makeZero ( elementType , elementExpression ) ;
89858985 }
89868986 }
89878987
@@ -10670,7 +10670,7 @@ export class Compiler extends DiagnosticEmitter {
1067010670 this . error (
1067110671 DiagnosticCode . Not_implemented_0 ,
1067210672 reportNode . range ,
10673- "ref.null<externref> "
10673+ "ref.null"
1067410674 ) ;
1067510675 return module . unreachable ( ) ;
1067610676 }
0 commit comments