Skip to content

Commit 5cbaf3c

Browse files
committed
fix review
1 parent 24909f6 commit 5cbaf3c

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/compiler.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1523,6 +1523,8 @@ export class Compiler extends DiagnosticEmitter {
15231523
}
15241524

15251525
private ensureEnumToString(enumElement: Enum, reportNode: Node): string | null {
1526+
if (enumElement.toStringFunctionName) return enumElement.toStringFunctionName;
1527+
15261528
if (!this.compileEnum(enumElement)) return null;
15271529
if (enumElement.is(CommonFlags.Const)) {
15281530
this.errorRelated(
@@ -1531,13 +1533,16 @@ export class Compiler extends DiagnosticEmitter {
15311533
);
15321534
return null;
15331535
}
1536+
15341537
let members = enumElement.members;
15351538
if (!members) return null;
1536-
if (enumElement.toStringFunctionName) return enumElement.toStringFunctionName;
1539+
1540+
let module = this.module;
1541+
const isInline = enumElement.hasDecorator(DecoratorFlags.Inline);
1542+
15371543
const functionName = `${enumElement.internalName}#${CommonNames.EnumToString}`;
15381544
enumElement.toStringFunctionName = functionName;
1539-
const isInline = enumElement.hasDecorator(DecoratorFlags.Inline);
1540-
let module = this.module;
1545+
15411546
let exprs = new Array<ExpressionRef>();
15421547
// when the values are the same, TS returns the last enum value name that appears
15431548
for (let _keys = Map_keys(members), _values = Map_values(members), i = 1, k = _keys.length; i <= k; ++i) {
@@ -1556,6 +1561,7 @@ export class Compiler extends DiagnosticEmitter {
15561561
}
15571562
exprs.push(module.unreachable());
15581563
module.addFunction(functionName, TypeRef.I32, TypeRef.I32, null, module.block(null, exprs, TypeRef.I32));
1564+
15591565
return functionName;
15601566
}
15611567

0 commit comments

Comments
 (0)