mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Don't highlight unused parameter in module __getattr__ (PY-28017)
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.jetbrains.python.inspections;
|
||||
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.intellij.codeInsight.controlflow.ControlFlowUtil;
|
||||
import com.intellij.codeInsight.controlflow.Instruction;
|
||||
import com.intellij.codeInspection.*;
|
||||
@@ -193,9 +194,11 @@ public class PyUnusedLocalInspectionVisitor extends PyInspectionVisitor {
|
||||
final PyFunction function = (PyFunction)owner;
|
||||
final String functionName = function.getName();
|
||||
|
||||
return !PyNames.INIT.equals(functionName) &&
|
||||
function.getContainingClass() != null &&
|
||||
PyNames.getBuiltinMethods(LanguageLevel.forElement(function)).containsKey(functionName);
|
||||
final LanguageLevel level = LanguageLevel.forElement(function);
|
||||
final ImmutableMap<String, PyNames.BuiltinDescription> builtinMethods =
|
||||
function.getContainingClass() != null ? PyNames.getBuiltinMethods(level) : PyNames.getModuleBuiltinMethods(level);
|
||||
|
||||
return !PyNames.INIT.equals(functionName) && builtinMethods.containsKey(functionName);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
def __getattr__(name):
|
||||
pass
|
||||
@@ -96,6 +96,11 @@ public class PyUnusedLocalInspectionTest extends PyInspectionTestCase {
|
||||
doTest();
|
||||
}
|
||||
|
||||
// PY-28017
|
||||
public void testModuleGetAttr() {
|
||||
runWithLanguageLevel(LanguageLevel.PYTHON37, this::doTest);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
protected Class<? extends PyInspection> getInspectionClass() {
|
||||
|
||||
Reference in New Issue
Block a user