Commit graph

100 commits

Author SHA1 Message Date
Boshen
2f48bdf26f
fix(parser,semantic): make semantic own Trivias (#711)
closes #708

Making the parser return Rc<Trivias> is not a good API, and ideally
`Semantic` should just own `Trivias` so it can process or mutate it.
2023-08-10 15:30:32 +08:00
Don Isaac
38fb4c296a
test(semantic): test harness (#679)
A test harness for checking results of semantic analysis.

I got tired of writing ad-hoc test cases when finding bugs in semantic
analysis, so I made this.
2023-08-07 10:43:05 +08:00
Makoto Tateno
c5ff534b08
feat(semantic): add node_id to Reference (#689)
Closes #685 

Intend to use this in the following ways in #672.
```rs
let node = ctx.nodes().get_node(reference.node_id());
if !self.type_of && has_typeof_operator(node, ctx) {
    return;
}
```
2023-08-05 12:45:22 +08:00
EliLichtblau
5e54bd0537
Adding types to the symbol table - consistent export type sample rule implemented (#667)
Fixes 11 TS conformance tests and 18 babel tests.

Adds types to the symbol table functionally conformant to TS behavior
but symbol flags implemented slightly differently.

Symbol redeclaration check is also not entirely conformant but fixing
this seems like a separate PR.

For testing purposes - consistent-export-type was also implemented
(WIP).
2023-07-31 12:33:47 +08:00
Don Isaac
d3accc1ee3
fix(semantic): nested references (#661)
Addresses #660
2023-07-31 12:29:15 +08:00
Boshen
1012d8300c
chore: release crates as v0.1.0 2023-07-27 13:54:17 +08:00
Boshen
d587065436
chore(rust): update crate info, add minimal rust-version, add categories 2023-07-27 13:33:18 +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
Don Isaac
87e65ac0f7
refactor(semantic): symbol declarations and references (#594) 2023-07-24 10:55:56 +08:00
Boshen
2e32140450
publish: bump all crates to v0.0.7 2023-07-06 14:27:13 +08:00
Boshen
e25f6e2dd4
chore(rust): rust cargo fmt and fix clippy warnings 2023-07-04 15:41:30 +08:00
Boshen
17a73b1eef
refactor(ast): move ModuleRecord to oxc_syntax 2023-07-03 22:54:27 +08:00
Boshen
c5402c1cae
feat(linter): implement no-import-assign (nursery) 2023-07-01 11:20:31 +08:00
Predrag Gruevski
e468cae404
Replace [dev_dependencies] with newer [dev-dependencies] syntax. (#501) 2023-06-30 10:38:08 +08:00
Boshen
2ad1339b4e
feat(linter): implement require_yield 2023-06-28 22:24:30 +08:00
Boshen
662229ab69
refactor(semantic): use std::cell:OnceCell instead of the crate version 2023-06-26 21:48:55 +08:00
Yagiz Nizipli
3656802fd4
feat: add eslint no-setter-return rule (#434)
Co-authored-by: Boshen <boshenc@gmail.com>
2023-06-24 22:08:41 +08:00
Maneren
b31819d7a1
feat(cli): Basic recursive implementation of module based linting (#468) 2023-06-23 08:26:05 +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
57a2706c21
refactor(semantic): remove the unused mangler from oxc_semantic 2023-06-12 21:35:16 +08:00
Boshen
0dc6e025a1
refactor(semantic): move ScopeId and ScopeFlags to oxc_syntax 2023-06-12 21:10:38 +08:00
Boshen
dcb38f2277
refactor(semantic): move SymbolId and SymbolFlags to oxc_syntax 2023-06-12 20:55:16 +08:00
Boshen
664ff0cc17
fix(semantic): fix typos s/resovling/resolving 2023-06-09 10:33:48 +08:00
Boshen
180eac5523
refactor(rust): fix clippy errors 2023-06-02 10:09:32 +08:00
Boshen
a31c7ac77a
refactor(index): use static_assertions 2023-05-24 22:53:11 +08:00
Boshen
30fc21ce54
refactor(index): use index_vec crate (#383) 2023-05-24 21:45:06 +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
ad2835f11b
chore(rustfmt): run cargo fmt 2023-05-21 11:52:26 +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
9465b5f596
refactor(span): move base54 function to oxc_span 2023-05-12 17:02:27 +08:00
Boshen
7f93e58f10
chore: remove all #[must_use] 2023-05-11 21:08:00 +08:00
Boshen
1b83e6c16e
feat(oxc_index): add static_assert_size for compile time evaluation (#343) 2023-05-08 22:20:54 +08:00
Boshen
c5c88a965d
feat(oxc_index): add crate (#342) 2023-05-08 22:01:18 +08:00
Boshen
65a445f512
refactor: move operator to oxc_syntax (#341) 2023-05-08 15:35:01 +08:00
Wenzhe Wang
52aa59bb38
feat(semantic): early check of simple assignment (#340) 2023-05-07 23:05:08 +08:00
Boshen
7e130e56f8
refactor(ast): remove Option around all ImportOrExportKind 2023-05-05 22:39:29 +08:00
Boshen
a2be3bd227
refactor(ast): remove unnecessary ModuleDeclarationKind 2023-05-05 22:04:26 +08:00
Boshen
99fdaad03a
chore(rust): bump bitflags to v2 2023-05-04 12:24:47 +08:00
Boshen
cd276c2850
feat: add oxc_span crate (#323) 2023-04-27 21:51:15 +08:00
Boshen
f382d36375
chore: publish crates v0.0.6 2023-04-22 16:09:05 +08:00
Boshen
080baaa2db
chore: use taplo to reformat toml files 2023-04-22 15:58:59 +08:00
Boshen
7f946fb75d
chore: bump nightly to nightly-2023-04-20 (#304) 2023-04-20 23:35:38 +08:00
Boshen
c14c82b15d
feat(printer,semantic): mangler (#285)
closes #284
2023-04-18 21:32:35 +08:00
Boshen
7f0b16fb9c
chore: remove some unused code 2023-04-17 23:25:57 +08:00
Boshen
76a287d856
refactor(semantic): remove unused AstNodeId::new 2023-04-16 22:58:46 +08:00
Boshen
f79f0eb631
refactor(oxc_ast): change SourceType::with_ methods to return Self 2023-04-16 21:32:00 +08:00