oxc/crates/oxc_semantic
overlookmotel 91343913ca fix(semantic): transform checker check unresolved references (#5096)
Transform checker check root unresolved references.

The transform checker is now checking pretty much everything it can.

Only fields of `ScopeTree` and `SymbolTable` that it's *not* checking are those which contain `AstNodeId`s, because transformer does not create node IDs at present:

* `ScopeTree::node_ids`
* `SymbolTable::declarations`
* `Reference::node_id`

Checking also only proceeds in "from AST" direction.

i.e. for each `SymbolId` which appears in the AST, we check everything about that symbol. But we *don't* go through all the "rows" in `SymbolTable` and check if there are any extra symbols in the table which aren't in the AST.

Presumably transformer will leave a lot of old symbols lying around in `SymbolTable` (ditto scopes and references). We'd need to add `ScopeFlags::Deleted`, `SymbolFlags::Deleted` and `ReferenceFlags::Deleted` for the transformer to be able to "delete" existing symbols.
2024-08-23 07:52:30 +00:00
..
examples docs(semantic): improve documentation (#4850) 2024-08-13 02:14:07 +00:00
src fix(semantic): transform checker check unresolved references (#5096) 2024-08-23 07:52:30 +00:00
tests refactor(semantic)!: ScopeTree::get_child_ids + get_child_ids_mut return value not Option (#5058) 2024-08-22 05:57:55 +00:00
Cargo.toml Release crates v0.25.0 (#5107) 2024-08-23 15:37:36 +08:00
CHANGELOG.md Release crates v0.25.0 (#5107) 2024-08-23 15:37:36 +08:00