Add semicolon to unused class member list (#21495)

Turns out SemicolonClassElement is a specific kind for semicolons inside
a class. Having one of them with --noUnusedLocals on would crash the
compiler after the assert added in #21013.
This commit is contained in:
Mohamed Hegazy
2018-01-31 10:43:14 -08:00
committed by GitHub
parent 0951a94a61
commit 8dcf8a6489
5 changed files with 32 additions and 0 deletions

View File

@@ -21031,6 +21031,7 @@ namespace ts {
}
break;
case SyntaxKind.IndexSignature:
case SyntaxKind.SemicolonClassElement:
// Can't be private
break;
default:

View File

@@ -0,0 +1,13 @@
//// [unusedSemicolonInClass.ts]
class Unused {
;
}
//// [unusedSemicolonInClass.js]
var Unused = /** @class */ (function () {
function Unused() {
}
;
return Unused;
}());

View File

@@ -0,0 +1,7 @@
=== tests/cases/compiler/unusedSemicolonInClass.ts ===
class Unused {
>Unused : Symbol(Unused, Decl(unusedSemicolonInClass.ts, 0, 0))
;
}

View File

@@ -0,0 +1,7 @@
=== tests/cases/compiler/unusedSemicolonInClass.ts ===
class Unused {
>Unused : Unused
;
}

View File

@@ -0,0 +1,4 @@
// @noUnusedLocals: true
class Unused {
;
}