Dunqing
a743d06207
perf(semantic): just need to find the AstKind::FormalParameter in is_in_formal_parameters ( #1852 )
...
A bit of performance improvement
<img width="894" alt="image"
src="https://github.com/oxc-project/oxc/assets/29533304/ed687532-df83-4bd8-a893-059e41c8adf3 ">
2023-12-29 12:18:59 +08:00
Dunqing
0e0f25872f
perf(semantic): reduce calls to span() ( #1851 )
2023-12-29 03:40:53 +00:00
Dunqing
9c9d882d93
fix(semantic): remove duplicate errors in ModuleDeclaration::ImportDeclaration ( #1846 )
...
<img width="653" alt="image"
src="https://github.com/oxc-project/oxc/assets/29533304/7a3ca98e-6c6e-4170-8b79-e9c63b6b9153 ">
2023-12-28 10:44:53 +08:00
Dunqing
b9bdf361e6
feat(semantic): improve check super implementation, reduce access nodes ( #1827 )
...
This improves the performance at which we can check that super is in a non-class.
2023-12-27 22:36:28 +08:00
Dunqing
f45a3cc2fa
feat(linter): support eslint/no-unused-private-class-members rule ( #1820 )
2023-12-27 22:24:12 +08:00
Dunqing
d63c50a5ca
refactor(semantic): improve check private identifier implementation ( #1794 )
...
The regression case in typescript is as expected since we don't
currently store `AccessorProperty` in `ClassTable`.
The following code is one of those cases
```ts
class C1 {
accessor #a: any;
accessor #b = 1;
static accessor #c: any;
static accessor #d = 2;
constructor() {
this.#a = 3;
this.#b = 4;
}
static {
this.#c = 5;
this.#d = 6;
}
}
```
But there was an error
```shell
Expect to Parse: "conformance/classes/propertyMemberDeclarations/autoAccessor2.ts"
× Private field 'a' must be declared in an enclosing class
╭─[conformance/classes/propertyMemberDeclarations/autoAccessor2.ts:9:1]
9 │ constructor() {
10 │ this.#a = 3;
· ──
11 │ this.#b = 4;
╰────
```
Let's leave it alone for now. Because of the `AccessorProperty` I
haven't seen it in any repo.
2023-12-26 20:39:22 +08:00
Boshen
be043c37e9
refactor(ast): VariableDeclarationKind::to_string -> as_str ( #1321 )
2023-11-14 15:28:13 +00:00
Dunqing
446ba169de
feat(ast): add to_string function to VariableDelcartionKind ( #1303 )
...
feat(ast): add to_string function to VariableDelcartionKind
fix: lint error
2023-11-14 20:22:56 +08:00
Boshen
1661385c1a
feat(semantic): check non-simple lhs expression of assignment expression ( #994 )
2023-10-14 23:40:10 +08:00
Boshen
ee54575ec1
feat(linter): add runner for import-plugin ( #858 )
2023-09-06 14:54:19 +08:00
Matthew "strager" Glazar
ad00720d75
refactor: avoid unstable let_chains
...
The let_chains Rust feature is unstable, preventing Oxc from using a
stable Rust compiler. Refactor the code to avoid let_chains.
2023-07-27 09:44:57 +08:00
Boshen
17a73b1eef
refactor(ast): move ModuleRecord to oxc_syntax
2023-07-03 22:54:27 +08:00
Boshen
19b839efe9
perf(semantic): use IndexVec instead of indextree for ast nodes ( #462 )
2023-06-20 15:21:58 +08:00
Boshen
d30735677b
refactor(semantic): merge semantic2 crate into semantic crate ( #460 )
2023-06-19 20:20:59 +08:00
Boshen
bea5640458
fix(semantic): check float for leading zero
2023-05-24 21:13:23 +08:00
Boshen
6811d67eb3
refactor(ast): move NumberBase to oxc_syntax; add NumberBase::Float
2023-05-24 18:33:19 +08:00
Boshen
a0b09a3f27
refactor(ast): remove RestElement from BindingPattern
2023-05-16 22:25:52 +08:00
Boshen
af95b59a0e
feat(ast): split Property into ObjectProperty and BindingProperty ( #361 )
2023-05-16 15:51:50 +08:00
Boshen
14720e7c69
refactor: move SourceType from oxc_ast to oxc_span ( #351 )
...
related #350
2023-05-12 23:16:14 +08:00
Boshen
65a445f512
refactor: move operator to oxc_syntax ( #341 )
2023-05-08 15:35:01 +08:00
Boshen
a2be3bd227
refactor(ast): remove unnecessary ModuleDeclarationKind
2023-05-05 22:04:26 +08:00
Boshen
cd276c2850
feat: add oxc_span crate ( #323 )
2023-04-27 21:51:15 +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
aedaa1a110
refactor(linter,semantic): move syntax check from linter to semantic ( #272 )
...
Syntax checker is part of semantic analyzer,
it doesn't make sense for the user to add a linter just for semantic errors
2023-04-10 12:23:53 +08:00