[ty] Lightly refactor document symbols AST visitor

This makes use of early continue/return to keep rightward drift under
control. (I also find it easier to read.)
This commit is contained in:
Andrew Gallant 2025-08-23 08:33:59 -04:00 committed by Andrew Gallant
parent 205eae14d2
commit e7237652a9

View file

@ -456,9 +456,11 @@ impl SourceOrderVisitor<'_> for SymbolVisitor {
Stmt::Assign(assign) => { Stmt::Assign(assign) => {
// Include assignments only when we're in global or class scope // Include assignments only when we're in global or class scope
if !self.in_function { if self.in_function {
return;
}
for target in &assign.targets { for target in &assign.targets {
if let Expr::Name(name) = target { let Expr::Name(name) = target else { continue };
let kind = if Self::is_constant_name(name.id.as_str()) { let kind = if Self::is_constant_name(name.id.as_str()) {
SymbolKind::Constant SymbolKind::Constant
} else if self } else if self
@ -477,17 +479,18 @@ impl SourceOrderVisitor<'_> for SymbolVisitor {
name_range: name.range(), name_range: name.range(),
full_range: stmt.range(), full_range: stmt.range(),
}; };
self.add_symbol(symbol); self.add_symbol(symbol);
} }
} }
}
}
Stmt::AnnAssign(ann_assign) => { Stmt::AnnAssign(ann_assign) => {
// Include assignments only when we're in global or class scope // Include assignments only when we're in global or class scope
if !self.in_function { if self.in_function {
if let Expr::Name(name) = &*ann_assign.target { return;
}
let Expr::Name(name) = &*ann_assign.target else {
return;
};
let kind = if Self::is_constant_name(name.id.as_str()) { let kind = if Self::is_constant_name(name.id.as_str()) {
SymbolKind::Constant SymbolKind::Constant
} else if self } else if self
@ -506,11 +509,8 @@ impl SourceOrderVisitor<'_> for SymbolVisitor {
name_range: name.range(), name_range: name.range(),
full_range: stmt.range(), full_range: stmt.range(),
}; };
self.add_symbol(symbol); self.add_symbol(symbol);
} }
}
}
_ => { _ => {
source_order::walk_stmt(self, stmt); source_order::walk_stmt(self, stmt);