The commit will help
- Better testing
- Preventing regression like #785.
- **Implementing spack** (It requires access to neon api because of the plugin system)
- codegen-units = 1 for benchmarks
swc_ecma_parser:
- Add a benchmark for typescript lexer
- Remove dynamic dispatch in lexer
- Improve performance of typescript
- Make rls happy.
- Some minor parser error improvements.
- Add reference files for ecmascript parser errors.
- Improve error message of import/export used outside of a module
rust-analysis chokes with `Option<Box<Expr>>` style fields.
Rls only shows a warning on the crate with that fields, but ICEs on
dependent crates.
This can be workarounded by using `Option<(Box<Expr>)>`.
Also, using multiple glob imports is bad for rls.
So this commit deglobs them.
- Parser and lexer for lastest ecma spec https://tc39.github.io/ecma262
- Lexer is currently very inefficient
- Use https://github.com/tc39/test262-parser-tests/ for testing.
- Implement proc-macro based ast folder and assert_eq_ignore_span! based on it.
- Some utilities for proc macro at /macros/common