fix(semantic): transform checker check unresolved references#5096
Merged
graphite-app[bot] merged 1 commit intomainfrom Aug 23, 2024
Merged
Conversation
Contributor
Your org has enabled the Graphite merge queue for merging into mainAdd the label “merge” to the PR and Graphite will automatically add it to the merge queue when it’s ready to merge. Or use the label “hotfix” to add to the merge queue as a hot fix. You must have a Graphite account and log in to Graphite in order to use the merge queue. Sign up using this link. |
This was referenced Aug 22, 2024
Member
Author
7f9bea9 to
37d8972
Compare
6fb2d78 to
60c507d
Compare
CodSpeed Performance ReportMerging #5096 will not alter performanceComparing Summary
|
60c507d to
d7fb634
Compare
Contributor
Merge activity
|
37d8972 to
c58f88a
Compare
Boshen
pushed a commit
that referenced
this pull request
Aug 22, 2024
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.
d7fb634 to
165767b
Compare
c58f88a to
e018069
Compare
overlookmotel
added a commit
that referenced
this pull request
Aug 23, 2024
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.
165767b to
0993b30
Compare
e018069 to
13c961c
Compare
overlookmotel
added a commit
that referenced
this pull request
Aug 23, 2024
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.
0993b30 to
7a99e0d
Compare
Base automatically changed from
08-22-refactor_semantic_clean_up_transform_checker
to
main
August 23, 2024 07:49
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.
7a99e0d to
9134391
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Transform checker check root unresolved references.
The transform checker is now checking pretty much everything it can.
Only fields of
ScopeTreeandSymbolTablethat it's not checking are those which containAstNodeIds, because transformer does not create node IDs at present:ScopeTree::node_idsSymbolTable::declarationsReference::node_idChecking also only proceeds in "from AST" direction.
i.e. for each
SymbolIdwhich appears in the AST, we check everything about that symbol. But we don't go through all the "rows" inSymbolTableand 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 addScopeFlags::Deleted,SymbolFlags::DeletedandReferenceFlags::Deletedfor the transformer to be able to "delete" existing symbols.