feat: regsub variable declaration check
This commit is contained in:
@@ -120,6 +120,15 @@ class UndeclaredVariableCheck(Visitor):
|
||||
base = text.split("(", 1)[0] # Handle array syntax
|
||||
if not base.startswith("::"):
|
||||
locals_set.add(base)
|
||||
elif name == "regsub" and node.args:
|
||||
# regsub ?switches? exp string subSpec ?varName?
|
||||
# If a varName is provided as the last arg, treat it as a local
|
||||
last_arg = node.args[-1]
|
||||
text = _word_text(last_arg)
|
||||
if text:
|
||||
base = text.split("(", 1)[0]
|
||||
if base and not base.startswith("::"):
|
||||
locals_set.add(base)
|
||||
elif name == "foreach" and len(node.args) >= 3:
|
||||
# foreach varlist1 list1 ?varlist2 list2 ...? body
|
||||
# Treat loop variables as locals within the proc
|
||||
|
||||
Reference in New Issue
Block a user