summaryrefslogtreecommitdiff
path: root/python/src/com/jetbrains/python/refactoring/classes/membersManager/InstanceFieldsManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'python/src/com/jetbrains/python/refactoring/classes/membersManager/InstanceFieldsManager.java')
-rw-r--r--python/src/com/jetbrains/python/refactoring/classes/membersManager/InstanceFieldsManager.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/python/src/com/jetbrains/python/refactoring/classes/membersManager/InstanceFieldsManager.java b/python/src/com/jetbrains/python/refactoring/classes/membersManager/InstanceFieldsManager.java
index a1e19c455a0f..357d9e896c00 100644
--- a/python/src/com/jetbrains/python/refactoring/classes/membersManager/InstanceFieldsManager.java
+++ b/python/src/com/jetbrains/python/refactoring/classes/membersManager/InstanceFieldsManager.java
@@ -8,7 +8,6 @@ import com.jetbrains.python.psi.*;
import com.jetbrains.python.psi.impl.PyFunctionBuilder;
import com.jetbrains.python.refactoring.classes.PyClassRefactoringUtil;
import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
import java.util.ArrayList;
import java.util.Collection;
@@ -18,6 +17,7 @@ import java.util.List;
* @author Ilya.Kazakevich
*/
class InstanceFieldsManager extends FieldsManager {
+ private static final FieldsOnly FIELDS_ONLY = new FieldsOnly();
// PY-12170
@@ -92,8 +92,8 @@ class InstanceFieldsManager extends FieldsManager {
@NotNull
@Override
- protected List<PyTargetExpression> getFieldsByClass(@NotNull final PyClass pyClass) {
- return pyClass.getInstanceAttributes();
+ protected Collection<PyTargetExpression> getFieldsByClass(@NotNull final PyClass pyClass) {
+ return Collections2.filter(pyClass.getInstanceAttributes(), FIELDS_ONLY);
}
private static class InitsOnly extends NotNullPredicate<PyAssignmentStatement> {
@@ -115,4 +115,11 @@ class InstanceFieldsManager extends FieldsManager {
return myInitMethod.equals(functionWhereDeclared);
}
}
+
+ private static class FieldsOnly extends NotNullPredicate<PyTargetExpression> {
+ @Override
+ protected boolean applyNotNull(@NotNull final PyTargetExpression input) {
+ return input.getReference().resolve() instanceof PyTargetExpression;
+ }
+ }
}