diff --git a/smalidea/src/main/java/org/jf/smalidea/psi/impl/SmaliClass.java b/smalidea/src/main/java/org/jf/smalidea/psi/impl/SmaliClass.java index b4c473fe..77d95a79 100644 --- a/smalidea/src/main/java/org/jf/smalidea/psi/impl/SmaliClass.java +++ b/smalidea/src/main/java/org/jf/smalidea/psi/impl/SmaliClass.java @@ -31,6 +31,7 @@ package org.jf.smalidea.psi.impl; +import com.google.common.collect.Lists; import com.intellij.debugger.SourcePosition; import com.intellij.lang.ASTNode; import com.intellij.openapi.util.Pair; @@ -159,7 +160,21 @@ public class SmaliClass extends SmaliStubBasedPsiElement impleme } @NotNull @Override public SmaliField[] getFields() { - return getStubOrPsiChildren(SmaliElementTypes.FIELD, new SmaliField[0]); + SmaliField[] fields = getStubOrPsiChildren(SmaliElementTypes.FIELD, new SmaliField[0]); + List filteredFields = null; + for (int i=fields.length-1; i>=0; i--) { + SmaliField field = fields[i]; + if (field.getName() == null) { + if (filteredFields == null) { + filteredFields = Lists.newArrayList(fields); + } + filteredFields.remove(i); + } + } + if (filteredFields != null) { + return filteredFields.toArray(new SmaliField[filteredFields.size()]); + } + return fields; } @NotNull @Override public SmaliMethod[] getMethods() {