Microsoft/TypeScript
View on GitHubMissing error if ClassDeclaration is used in Statement position
Open
#22,682 opened on Mar 18, 2018
BugDomain: ParserEffort: CasualHelp Wanted
Description
TypeScript Version: 2.8.0-dev.20180318
Search Terms: class statement
Code
let codition = false as boolean;
if (condition)
class C {} // runtime error if transpiled to ES2015 or above: Unexpected token class
if (condition)
enum E { Foo } // should probably be an error?
new C(); // runtime error if transpiled to ES5, because 'C' is undefined
E.Foo; // runtime error: cannot read property 'Foo' of 'E'
Expected behavior:
Expected a compile error on class C and maybe on enum E
Actual behavior: no error for these declarations, instead I get a runtime error when targeting ES2015 or above.
Playground Link:
Related Issues: