Commit graph

53 commits

Author SHA1 Message Date
Boshen
fec5aafbf1
refactor(oxc_parser): remove a few unused diagnostics 2023-04-15 18:13:15 +08:00
Boshen
fc7cad9120 fix(parser): reset [In] context in parse_function 2023-04-13 22:16:48 +08:00
Boshen
bb18132da5
refactor(oxc_diagnostics): remove error declarations
Make this crate not dependent on `oxc_ast`
2023-04-10 22:21:05 +08:00
Boshen
024f1a1552
fix(parser): fix [+In] Destructuring Binding Pattern Initializer (#267) 2023-04-06 21:47:07 +08:00
Boshen
398dbfd2a7
fix(paresr): parse [+In] in template (#266)
relates #255
2023-04-06 21:37:34 +08:00
Boshen
6360bdad31
fix(parser): fix [+in] context in CallArguments (#265)
relates #255
2023-04-06 21:02:30 +08:00
Boshen
dc090208c4
fix(parser): fix crashing on empty ParenthesizedExpression with comments (#263)
relates #232
2023-04-06 17:16:15 +08:00
Boshen
0674899b88
Fuzz async (#257)
* fix(parser): parse `async(...null)` as call expression

relates #255

* fix(parser): parse `null?async():null`

relates #255
2023-04-05 14:36:37 +08:00
Boshen
1c2acd121c
refactor(parser): clean up parsing of ForStatement (#251)
closes #176
2023-04-04 22:36:35 +08:00
Boshen
236d53ad9d
fix(parser): fix panic on multi-byte char in ExpectCatchFinally error 2023-04-02 20:09:38 +08:00
Boshen
7db1643425 fix(parser): allow non-last rest element in ambient contexts 2023-04-02 16:41:53 +08:00
Boshen
1130f48278 feat(parser): parse ts satisfies operator 2023-04-02 16:41:53 +08:00
Boshen
90e2d386d7 fix(parser): do not check static prototype in ambient contexts 2023-04-02 16:41:53 +08:00
Boshen
a62c9335a2 fix(parser): fix remaining errors around auto accessors 2023-04-02 16:41:53 +08:00
Boshen
96ad67db92
fix(parser): clean up type arguments parsing (#242)
closes #169
2023-04-02 12:06:52 +08:00
Boshen
b11f774c41 refactor(oxc_parser): clean up doc 2023-04-01 19:03:33 +08:00
Boshen
d917348f9b refactor(ast,parser): move parsing context from ast to parser 2023-04-01 18:01:33 +08:00
Boshen
f2fcbb30c3 refactor(oxc_parser): removed not needed generic from unexpected function 2023-04-01 15:59:42 +08:00
Boshen
174330561c
fix(parser): fix panic on multi-byte characaters (#233)
* fix(oxc_parser): fix panic when EOF on a multi-byte character

relates #232

* fix(parser): fix panic on multi-byte char in private identifer

relates #232
2023-04-01 13:34:18 +08:00
yangchenye
4549fb3cdd
fix(parser): parse decorator with separate grammar (#192) 2023-03-19 11:35:59 +08:00
yangchenye
37ad6f3a15
feat(parser): support decorators in class expression (#190)
feat(parser): support decorator in class expression
2023-03-17 09:33:04 +08:00
Boshen
297ce2743f
Revert "feat(linter): check await in class static block"
This reverts commit 7add71c9dd.
2023-03-14 07:56:04 +08:00
Boshen
7add71c9dd
feat(linter): check await in class static block 2023-03-14 07:46:11 +08:00
Boshen
78bd76e8d0
feat(parser): check function name for await and yield 2023-03-14 07:39:07 +08:00
Boshen
2fe8fba5b6
refactor(lexer): make TokenValue 8 bytes smaller by changing RegExp.pattern to &'a str (#175) 2023-03-13 23:20:52 +08:00
Boshen
f36e3301fd
refactor(lexer): change TokenValue::String(Atom) to TokenValue::String(&str) (#174) 2023-03-13 09:33:44 +08:00
Boshen
fce6e1ec73
feat(parser): check YieldExpression 2023-03-12 23:41:27 +08:00
Boshen
88fd0a05ec
feat(parser): check AwaitExpression 2023-03-12 23:37:21 +08:00
Boshen
d6e8c6fb2f
feat(parser): check ReturnStatement in return context 2023-03-12 23:30:32 +08:00
Boshen
93b06e948a
feat(ast_parser): check await and yield identifier error 2023-03-12 23:22:10 +08:00
Shannon Rothe
901f4948c1
refactor(parser): move import specifier parsing to list.rs (#167) 2023-03-12 10:45:02 +08:00
Boshen
c2f760f1ed
chore: run `types -w" to fix all typos 2023-03-11 23:37:19 +08:00
Boshen
5c8670d1c8 feat(semantic): declare symbol and reference Identifier 2023-03-10 23:28:51 -08:00
Boshen
4d32bfb55e
refactor: remove all declarations of const fn, which is useless for us 2023-03-07 21:29:47 +08:00
Boshen
c8e968f35d perf(ast): shrink some struct sizes
relates #138
2023-03-06 06:29:18 -08:00
Fnll
81760da7cc
feat(parser): better diagnostic for missing semicolon in for loop statement (#133)
feat(parser): better diagnostic

Co-authored-by: kerui.lian <kerui.lian@bytedance.com>
2023-03-05 04:13:23 -08:00
Ye Yangchen
b06ab627bf fix(oxc_parser) correct span for decorators 2023-03-02 21:34:24 -08:00
Shannon Rothe
6647752e03
refactor(ast): change Option<Vec> to Vec for decorators (#84)
* remove `Option<Vec>` from `FormalParameter`

* `unwrap` -> `unwrap_or_else`

* prefer `AstBuilder` helper

* implement `consume_decorators`
2023-03-02 15:52:46 +08:00
Ye Yangchen
d8c6caf57f feat(oxc_parser): Parse modifiers before declaration 2023-03-01 22:50:23 -08:00
Ye Yangchen
0bf8f817f5 feat(oxc_parser): Port isStartOfDeclaration form tsc 2023-02-27 12:27:44 +08:00
Xuan
6b43cbbe71 fix(oxc_parser): support export type with star symbol 2023-02-27 12:26:23 +08:00
Xuan
b6d09643e5 fix(oxc_parser): check access correctly 2023-02-27 03:10:02 +08:00
Xuan
457e85b4a0 fix(oxc_parser): check ambiguous for await 2023-02-24 12:46:59 +08:00
Xuan
65e81ce12c fix(oxc_parser): eat decorator for export 2023-02-23 12:28:34 +08:00
Boshen
4f4a9802b7 refactor(diagnostics,parser): move diagnostics to parser 2023-02-22 19:23:01 +08:00
Boshen
5390d3e6b4 refactor(diagnostic): change Err type to miette::Error
This is the prerequisite for breaking up the large Diagnostic enum.
2023-02-22 11:08:21 +08:00
Boshen
4c6407b152 refactor(ast): s/node/span
This corrects the jargon for span. The term `node` came from `estree`,
which is a bit misleading here in Rust.

closes #9
2023-02-21 19:17:49 +08:00
Boshen
a733856536 refactor(ast,parser): use u32 for node spans
The next PR will fix the jargon where Node = Span.

relates to #9
2023-02-21 16:02:23 +08:00
Boshen
39a05030d7 refactor(ast,parser): box FormalParameters 2023-02-21 13:11:58 +08:00
Boshen
c640b4fb08 perf(ast): box PropertyKey enum 2023-02-21 13:11:58 +08:00