Within SemanticBuilder - where builder.current_scope_id can be used instead.
In linter - where could get the ScopeId by traversing up nodes via AstNodes::parent_ids until find a node with a scope (we can do that now as AST nodes contain scope_id fields, and it shouldn't cost much as you generally don't have to go up far to find a BlockStatement or Function).
I don't know if that'd be a perf gain or loss overall in the linter, but it'd be a gain for everything else which uses Semantic.
This field is only used:
SemanticBuilder
- wherebuilder.current_scope_id
can be used instead.ScopeId
by traversing up nodes viaAstNodes::parent_ids
until find a node with a scope (we can do that now as AST nodes containscope_id
fields, and it shouldn't cost much as you generally don't have to go up far to find aBlockStatement
orFunction
).I don't know if that'd be a perf gain or loss overall in the linter, but it'd be a gain for everything else which uses
Semantic
.