oxc/crates
rzvxa 9b3097147e improvement(semantic/cfg): rework error path. (#3519)
This PR aims to provide a more accurate error/finalization flow, I've nuked the old error path approach and rewrote it with more versatility in mind.

We used to visit the finalizer block twice and create 2 sets of AstNodes/Basic Blocks for them, This was there to differentiate between the error path finalizer and success path one. There is no longer a need for having 2 separate sets of nodes to do this differentiation.

As for the error path now we have 2 kinds of them, Everything is attached to an error block - even if it is not in a try-catch statement - this results in a lot of extra edges to keep track of these "Implicit" error blocks but I believe in future it can help us to track cross block error paths, For example, we can dynamically attach and cache the implicit error block of a function to its call site error path (either implicit or explicit).
2024-06-13 07:36:16 +00:00
..
oxc Release crates v0.14.0 (#3643) 2024-06-12 17:52:41 +08:00
oxc_allocator feat(linter): add eslint/no-useless-constructor (#3594) 2024-06-13 13:12:18 +08:00
oxc_ast improvement(semantic/cfg): rework error path. (#3519) 2024-06-13 07:36:16 +00:00
oxc_ast_macros Release crates v0.14.0 (#3643) 2024-06-12 17:52:41 +08:00
oxc_codegen Release crates v0.14.0 (#3643) 2024-06-12 17:52:41 +08:00
oxc_diagnostics Release crates v0.14.0 (#3643) 2024-06-12 17:52:41 +08:00
oxc_index Release crates v0.14.0 (#3643) 2024-06-12 17:52:41 +08:00
oxc_js_regex chore: crates should only publish src and examples directory 2024-06-08 16:35:16 +08:00
oxc_language_server feat!(ast): make Trivias clonable by adding Arc (#3638) 2024-06-12 13:16:10 +08:00
oxc_linter improvement(semantic/cfg): rework error path. (#3519) 2024-06-13 07:36:16 +00:00
oxc_macros chore: crates should only publish src and examples directory 2024-06-08 16:35:16 +08:00
oxc_minifier Release crates v0.14.0 (#3643) 2024-06-12 17:52:41 +08:00
oxc_module_lexer Release crates v0.14.0 (#3643) 2024-06-12 17:52:41 +08:00
oxc_parser chore: change all usages of static_assertions to dev-dependencies (#3654) 2024-06-13 13:18:53 +08:00
oxc_prettier feat!(ast): make Trivias clonable by adding Arc (#3638) 2024-06-12 13:16:10 +08:00
oxc_semantic improvement(semantic/cfg): rework error path. (#3519) 2024-06-13 07:36:16 +00:00
oxc_sourcemap Release crates v0.14.0 (#3643) 2024-06-12 17:52:41 +08:00
oxc_span Release crates v0.14.0 (#3643) 2024-06-12 17:52:41 +08:00
oxc_syntax Release crates v0.14.0 (#3643) 2024-06-12 17:52:41 +08:00
oxc_transformer fix(transformer): do not rename accessible identifier references (#3623) 2024-06-13 15:26:38 +08:00
oxc_traverse Release crates v0.14.0 (#3643) 2024-06-12 17:52:41 +08:00
oxc_wasm fix!(codegen): remove the unecessary 4th argument from Codegen::new (#3640) 2024-06-12 07:58:54 +00:00