microsoft / microsoft/TypeScript
Missing error if ClassDeclaration is used in Statement position
Nessuno ha ancora preso questa issue.
- Lingua principale
- Go
- Stelle
- 111k
- Fork
- 14.3k
- Merge medio
- 2g 4h
- PR unite (30g)
- 132
Descrizione
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:
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia riproducendo gli esempi forniti di classi ed enum condizionali con la versione di TypeScript e i target del compilatore specificati. Traccia come vengono analizzate e verificate le dichiarazioni in posizione di istruzione, quindi verifica che i casi non validi producano errori di compilazione, mentre i contesti di dichiarazione validi rimangano invariati.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- typescript
- Ambito
- compilers
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 38/100