diff --git a/python/src/com/jetbrains/python/psi/impl/PyClassImpl.java b/python/src/com/jetbrains/python/psi/impl/PyClassImpl.java index e491178dfd08..02eaa13fda2d 100644 --- a/python/src/com/jetbrains/python/psi/impl/PyClassImpl.java +++ b/python/src/com/jetbrains/python/psi/impl/PyClassImpl.java @@ -951,6 +951,9 @@ public class PyClassImpl extends PyPresentableElementImpl implement final List result = new ArrayList(); if (statementList != null) { statementList.accept(new PyRecursiveElementVisitor() { + @Override + public void visitPyClass(PyClass node) {} + public void visitPyAssignmentStatement(final PyAssignmentStatement node) { for (PyExpression expression : node.getTargets()) { if (expression instanceof PyTargetExpression) { diff --git a/python/testData/inspections/PyAttributeOutsideInitInspection/innerClass.py b/python/testData/inspections/PyAttributeOutsideInitInspection/innerClass.py new file mode 100644 index 000000000000..ccb4f5cc051a --- /dev/null +++ b/python/testData/inspections/PyAttributeOutsideInitInspection/innerClass.py @@ -0,0 +1,8 @@ +__author__ = 'ktisha' + + +class A: + def foo(self): + class B: + def __init__(self): + self.x = 1 \ No newline at end of file diff --git a/python/testSrc/com/jetbrains/python/inspections/PyAttributeOutsideInitInspectionTest.java b/python/testSrc/com/jetbrains/python/inspections/PyAttributeOutsideInitInspectionTest.java index 2be0fce55dd7..5cc33a8f9506 100644 --- a/python/testSrc/com/jetbrains/python/inspections/PyAttributeOutsideInitInspectionTest.java +++ b/python/testSrc/com/jetbrains/python/inspections/PyAttributeOutsideInitInspectionTest.java @@ -58,6 +58,10 @@ public class PyAttributeOutsideInitInspectionTest extends PyTestCase { doTest(); } + public void testInnerClass() { + doTest(); + } + private void doTest() { myFixture.configureByFile("inspections/PyAttributeOutsideInitInspection/" + getTestName(true) + ".py"); myFixture.enableInspections(PyAttributeOutsideInitInspection.class);