Skip to content

Commit 3049d3c

Browse files
committed
fix: use correct valueType for compileAssignment[NFC]
In `makeAssignment`, `valueType` doesn't match witch valueExpr. But there are no actual influence for current generated wasm.
1 parent 145cbc6 commit 3049d3c

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/compiler.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5703,10 +5703,12 @@ export class Compiler extends DiagnosticEmitter {
57035703
assert(targetType != Type.void);
57045704
let valueExpr = this.compileExpression(valueExpression, targetType);
57055705
let valueType = this.currentType;
5706+
if (targetType.isNullableReference && this.currentFlow.isNonnull(valueExpr, valueType)) targetType = targetType.nonNullableType;
5707+
valueExpr = this.convertExpression(valueExpr, valueType, targetType, false, valueExpression);
57065708
return this.makeAssignment(
57075709
target,
5708-
this.convertExpression(valueExpr, valueType, targetType, false, valueExpression),
5709-
valueType,
5710+
valueExpr,
5711+
targetType,
57105712
valueExpression,
57115713
thisExpression,
57125714
elementExpression,

0 commit comments

Comments
 (0)