mirror of
https://github.com/microsoft/pyright.git
synced 2024-10-26 10:55:06 +03:00
Fixed regression that prevented module-level code complexity diagnostic from being skipped.
This commit is contained in:
parent
db994ba9ba
commit
95cb1d4a70
@ -259,6 +259,23 @@ export class Checker extends ParseTreeWalker {
|
||||
|
||||
this._conditionallyReportShadowedModule();
|
||||
|
||||
// Report code complexity issues for the module.
|
||||
const codeComplexity = AnalyzerNodeInfo.getCodeFlowComplexity(this._moduleNode);
|
||||
|
||||
if (isPrintCodeComplexityEnabled) {
|
||||
console.log(`Code complexity of module ${this._fileInfo.filePath} is ${codeComplexity.toString()}`);
|
||||
}
|
||||
|
||||
if (codeComplexity > maxCodeComplexity) {
|
||||
this._evaluator.addDiagnosticForTextRange(
|
||||
this._fileInfo,
|
||||
this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,
|
||||
DiagnosticRule.reportGeneralTypeIssues,
|
||||
Localizer.Diagnostic.codeTooComplexToAnalyze(),
|
||||
{ start: 0, length: 0 }
|
||||
);
|
||||
}
|
||||
|
||||
this._walkStatementsAndReportUnreachable(this._moduleNode.statements);
|
||||
|
||||
// Mark symbols accessed by __all__ as accessed.
|
||||
@ -306,26 +323,6 @@ export class Checker extends ParseTreeWalker {
|
||||
return true;
|
||||
}
|
||||
|
||||
override visitModule(node: ModuleNode): boolean {
|
||||
const codeComplexity = AnalyzerNodeInfo.getCodeFlowComplexity(node);
|
||||
|
||||
if (isPrintCodeComplexityEnabled) {
|
||||
console.log(`Code complexity of module ${this._fileInfo.filePath} is ${codeComplexity.toString()}`);
|
||||
}
|
||||
|
||||
if (codeComplexity > maxCodeComplexity) {
|
||||
this._evaluator.addDiagnosticForTextRange(
|
||||
this._fileInfo,
|
||||
this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,
|
||||
DiagnosticRule.reportGeneralTypeIssues,
|
||||
Localizer.Diagnostic.codeTooComplexToAnalyze(),
|
||||
{ start: 0, length: 0 }
|
||||
);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
override visitClass(node: ClassNode): boolean {
|
||||
const classTypeResult = this._evaluator.getTypeOfClass(node);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user