fix(compiler): don't convert undefined to null literals (#11503)
Fixes #11493
This commit is contained in:

committed by
vikerman

parent
051d74802a
commit
f0cdb428f5
@ -250,13 +250,11 @@ export abstract class AbstractEmitterVisitor implements o.StatementVisitor, o.Ex
|
||||
ctx.print(`)`);
|
||||
return null;
|
||||
}
|
||||
visitLiteralExpr(ast: o.LiteralExpr, ctx: EmitterVisitorContext, absentValue: string = 'null'):
|
||||
any {
|
||||
var value = ast.value;
|
||||
|
||||
visitLiteralExpr(ast: o.LiteralExpr, ctx: EmitterVisitorContext): any {
|
||||
const value = ast.value;
|
||||
if (typeof value === 'string') {
|
||||
ctx.print(escapeIdentifier(value, this._escapeDollarInStrings));
|
||||
} else if (isBlank(value)) {
|
||||
ctx.print(absentValue);
|
||||
} else {
|
||||
ctx.print(`${value}`);
|
||||
}
|
||||
|
@ -68,7 +68,12 @@ class _TsEmitterVisitor extends AbstractEmitterVisitor implements o.TypeVisitor
|
||||
}
|
||||
|
||||
visitLiteralExpr(ast: o.LiteralExpr, ctx: EmitterVisitorContext): any {
|
||||
super.visitLiteralExpr(ast, ctx, '(null as any)');
|
||||
const value = ast.value;
|
||||
if (isBlank(value)) {
|
||||
ctx.print(`(${value} as any)`);
|
||||
return null;
|
||||
}
|
||||
return super.visitLiteralExpr(ast, ctx);
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user