-
-
Notifications
You must be signed in to change notification settings - Fork 482
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(semantic): transform checker check unresolved references #5096
fix(semantic): transform checker check unresolved references #5096
Conversation
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. |
7f9bea9
to
37d8972
Compare
6fb2d78
to
60c507d
Compare
CodSpeed Performance ReportMerging #5096 will not alter performanceComparing Summary
|
60c507d
to
d7fb634
Compare
Merge activity
|
37d8972
to
c58f88a
Compare
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
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
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
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
Transform checker check root unresolved references.
The transform checker is now checking pretty much everything it can.
Only fields of
ScopeTree
andSymbolTable
that it's not checking are those which containAstNodeId
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" inSymbolTable
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 addScopeFlags::Deleted
,SymbolFlags::Deleted
andReferenceFlags::Deleted
for the transformer to be able to "delete" existing symbols.