fix: 修复 L1+L3 合并时诊断全部重复 (extend 两次)

- analyze() 里 issues.extend(analyzer.issues) 被调用两次 → 每条诊断重复出现
- 综合测试发现 20 个问题实际应为 11 个; 修复为只 extend 一次
- 新增回归测试 test_no_duplicate_diagnostics; 276 passed
This commit is contained in:
shuiyu67 committed 2026-08-07 02:44:27 +08:00
1 parent 413f66deb8
commit fa29e0339f
2 files changed
+13 -2

No files matched your search

+1 -2
View File
@@ -686,9 +686,8 @@ def analyze(source: str, filename: str = "<string>") -> List[Dict]:
extra=f"重复定义: {name}",
name=name, first_line=nodes[0].lineno)
issues.extend(analyzer.issues)
_dataflow_check(tree, analyzer) # L3: 数据流 (部分路径未定义)
issues.extend(analyzer.issues)
issues.extend(analyzer.issues) # L1+L3 只 extend 一次, 避免重复
issues = _jedi_validate(source, filename, issues) # L2: 语义二次确认 (可选)
return issues