Boshen
b466de522b
fix(ast_lower): remove wrong usage of SymbolFlags::Function ( #680 )
...
closes #678
SymbolFlags::Function means something else (the whole function
declaration stored as a anonymous symbol) in TypeScript
2023-08-15 11:37:50 +08:00
Yunfei He
35167599bc
refactor(ast): use atom for Directive and Hashbang ( #701 )
...
The main reason is using Atom to remove the lifetime for convenience.
And after removing the lifetime of these nodes, the `Program<'a>`
doesn't rely on `&'a source` anymore, which allows us to [specify more
accurate
lifetimes](https://github.com/web-infra-dev/oxc/discussions/700 ).
2023-08-09 13:52:56 +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
Boshen
e25f6e2dd4
chore(rust): rust cargo fmt and fix clippy warnings
2023-07-04 15:41:30 +08:00
Wenzhe Wang
b8f5e3ad92
feat(minifier): try reduce void ( #457 )
2023-06-23 00:10:46 +08:00
Boshen
d7f9ca13bc
feat(ast_lower): mark assignment target identifiers as ReferenceFlag::Write
...
closes #465
2023-06-20 22:12:16 +08:00
Boshen
d30735677b
refactor(semantic): merge semantic2 crate into semantic crate ( #460 )
2023-06-19 20:20:59 +08:00
Carter Snook
985b8f21d9
feat: support hashbang interpreter comments ( #431 )
2023-06-11 23:55:58 +08:00
Boshen
2bebbb5a77
feat(website): add linter / minifier / formatter to the playground ( #407 )
2023-06-04 15:30:55 +08:00
Yagiz Nizipli
63c0491ec2
refactor: remove paranthesis expression from printer
2023-06-01 22:45:26 +08:00
Boshen
6acf33887c
fix(lower): avoid stack overflow during expression visit ( #400 )
2023-06-01 15:12:08 +08:00
Boshen
87a0b6c889
refactor(ast): s/ArrowFunctionExpression/ArrowExpression
2023-05-28 22:40:16 +08:00
Boshen
8ea9e38ee5
feat(minifier): remove redundant curly braces from block statements ( #390 )
2023-05-27 10:52:15 +08:00
Boshen
6811d67eb3
refactor(ast): move NumberBase to oxc_syntax; add NumberBase::Float
2023-05-24 18:33:19 +08:00
Boshen
ad33954f52
refactor(ast): remove redundant prefix field from UnaryExpression
2023-05-22 22:32:47 +08:00
Boshen
60fc7334db
feat(hir): remove EmptyStatement from hir
2023-05-21 20:20:03 +08:00
Boshen
f8828db68c
feat(semantic2): slot based mangler ( #364 )
2023-05-20 19:00:57 +08:00
Boshen
a0b09a3f27
refactor(ast): remove RestElement from BindingPattern
2023-05-16 22:25:52 +08:00
Boshen
e52ee63cbb
refactor(ast): clean up BindingProperty
2023-05-16 22:24:34 +08:00
Boshen
af95b59a0e
feat(ast): split Property into ObjectProperty and BindingProperty ( #361 )
2023-05-16 15:51:50 +08:00
Boshen
5be0d1b9fa
fix(hir): bring back ParenthesizedExpression as it caused too much chaos
2023-05-14 22:54:57 +08:00
Boshen
2914b439b3
feat(semantic2): add slot based mangler
2023-05-14 18:21:07 +08:00
Boshen
d14329e74e
feat(semantic2): bind identifiers
2023-05-13 22:58:42 +08:00
Boshen
d0bc5ac023
refactor: separate semantic interface
2023-05-13 21:59:42 +08:00
Boshen
48398ea74c
feat(hir,minifier): wire up identifier reference for mangle
2023-05-13 21:59:42 +08:00
Boshen
ebfaa3b940
feat(hir,minifier): wire up mangling
2023-05-13 21:59:42 +08:00
Boshen
1f5fa8d6cb
feat: reimplement semantic builder ( #354 )
2023-05-13 15:20:00 +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
7f93e58f10
chore: remove all #[must_use]
2023-05-11 21:08:00 +08:00
Boshen
48e524ddcf
feat(ast_lower): scope tree ( #344 )
2023-05-10 22:38:34 +08:00
Boshen
65a445f512
refactor: move operator to oxc_syntax ( #341 )
2023-05-08 15:35:01 +08:00
Boshen
e897306f3d
chore(coverage): test serialization on ast and hir ( #339 )
2023-05-07 22:05:45 +08:00
Boshen
86c01c7fb8
feat(minifier): use hir ( #335 )
2023-05-07 17:23:00 +08:00
Boshen
aed7b5d795
feat(hir): remove more TypeScript syntax
2023-05-07 13:06:09 +08:00
Boshen
72ba29f88b
feat(hir): complete first iteration of ast lowering ( #327 )
2023-05-06 19:13:44 +08:00
Wenzhe Wang
638576c323
fix(ast): replace ArrayElementType ( #330 )
2023-05-04 20:33:58 +08:00
Boshen
59ff1fb289
HIR ( #319 )
2023-04-28 10:33:26 +08:00