mirror of
https://github.com/astral-sh/ruff.git
synced 2025-10-01 14:21:24 +00:00
[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:
parent
205eae14d2
commit
e7237652a9
1 changed files with 47 additions and 47 deletions
|
@ -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);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue