diff --git a/src/compiler/transformers/ts.ts b/src/compiler/transformers/ts.ts index 63d621c665439..a70fb820e7950 100644 --- a/src/compiler/transformers/ts.ts +++ b/src/compiler/transformers/ts.ts @@ -2577,7 +2577,7 @@ namespace ts { */ function visitEnumDeclaration(node: EnumDeclaration): VisitResult { if (!shouldEmitEnumDeclaration(node)) { - return undefined; + return createNotEmittedStatement(node); } const statements: Statement[] = []; diff --git a/tests/baselines/reference/constEnum4.js b/tests/baselines/reference/constEnum4.js new file mode 100644 index 0000000000000..dc7c4b0e593ec --- /dev/null +++ b/tests/baselines/reference/constEnum4.js @@ -0,0 +1,13 @@ +//// [constEnum4.ts] +if (1) + const enum A { } +else if (2) + const enum B { } +else + const enum C { } + + +//// [constEnum4.js] +if (1) +else if (2) +else diff --git a/tests/baselines/reference/constEnum4.symbols b/tests/baselines/reference/constEnum4.symbols new file mode 100644 index 0000000000000..0098e85c130ea --- /dev/null +++ b/tests/baselines/reference/constEnum4.symbols @@ -0,0 +1,13 @@ +=== tests/cases/conformance/constEnums/constEnum4.ts === +if (1) + const enum A { } +>A : Symbol(A, Decl(constEnum4.ts, 0, 6)) + +else if (2) + const enum B { } +>B : Symbol(B, Decl(constEnum4.ts, 2, 11)) + +else + const enum C { } +>C : Symbol(C, Decl(constEnum4.ts, 4, 4)) + diff --git a/tests/baselines/reference/constEnum4.types b/tests/baselines/reference/constEnum4.types new file mode 100644 index 0000000000000..a35e9f898bf8e --- /dev/null +++ b/tests/baselines/reference/constEnum4.types @@ -0,0 +1,17 @@ +=== tests/cases/conformance/constEnums/constEnum4.ts === +if (1) +>1 : 1 + + const enum A { } +>A : A + +else if (2) +>2 : 2 + + const enum B { } +>B : B + +else + const enum C { } +>C : C + diff --git a/tests/cases/conformance/constEnums/constEnum4.ts b/tests/cases/conformance/constEnums/constEnum4.ts new file mode 100644 index 0000000000000..c6dc5840c4682 --- /dev/null +++ b/tests/cases/conformance/constEnums/constEnum4.ts @@ -0,0 +1,6 @@ +if (1) + const enum A { } +else if (2) + const enum B { } +else + const enum C { }