From e0aff4bda52ca2b01a731d12df41e417121dfc68 Mon Sep 17 00:00:00 2001 From: Ben Gruver Date: Sun, 15 Feb 2015 12:49:48 -0800 Subject: [PATCH] Move some implementation from SmaliBaseReferenceList to its implementors --- .../psi/impl/SmaliBaseReferenceList.java | 31 ------------------- .../smalidea/psi/impl/SmaliExtendsList.java | 31 +++++++++++++++++++ .../psi/impl/SmaliImplementsList.java | 20 ++++++++++++ 3 files changed, 51 insertions(+), 31 deletions(-) diff --git a/smalidea/src/main/java/org/jf/smalidea/psi/impl/SmaliBaseReferenceList.java b/smalidea/src/main/java/org/jf/smalidea/psi/impl/SmaliBaseReferenceList.java index af872f4b..b018f18f 100644 --- a/smalidea/src/main/java/org/jf/smalidea/psi/impl/SmaliBaseReferenceList.java +++ b/smalidea/src/main/java/org/jf/smalidea/psi/impl/SmaliBaseReferenceList.java @@ -31,7 +31,6 @@ package org.jf.smalidea.psi.impl; -import com.google.common.collect.Lists; import com.intellij.lang.ASTNode; import com.intellij.psi.PsiReferenceList; import com.intellij.psi.StubBasedPsiElement; @@ -39,8 +38,6 @@ import com.intellij.psi.stubs.IStubElementType; import org.jetbrains.annotations.NotNull; import org.jf.smalidea.psi.stub.SmaliBaseReferenceListStub; -import java.util.List; - public abstract class SmaliBaseReferenceList extends SmaliStubBasedPsiElement implements StubBasedPsiElement, PsiReferenceList { protected SmaliBaseReferenceList(@NotNull StubT stub, @NotNull IStubElementType nodeType) { @@ -89,32 +86,4 @@ public abstract class SmaliBaseReferenceList 0) { - // all implemented interfaces go in the extends list for an interface - List types = Lists.newArrayList(); - - for (SmaliImplementsStatement implementsStatement: implementsStatements) { - SmaliClassTypeElement classReference = implementsStatement.getClassReference(); - if (classReference != null) { - types.add(classReference); - } - } - return types.toArray(new SmaliClassTypeElement[types.size()]); - } - return new SmaliClassTypeElement[0]; - } - - protected SmaliClassTypeElement[] getExtendsElement() { - SmaliSuperStatement superStatement = ((SmaliClass)getParent()).getSuperStatement(); - if (superStatement != null) { - SmaliClassTypeElement classReference = superStatement.getClassReference(); - if (classReference != null) { - return new SmaliClassTypeElement[] { classReference }; - } - } - return new SmaliClassTypeElement[0]; - } } diff --git a/smalidea/src/main/java/org/jf/smalidea/psi/impl/SmaliExtendsList.java b/smalidea/src/main/java/org/jf/smalidea/psi/impl/SmaliExtendsList.java index 32d323d8..62cd431c 100644 --- a/smalidea/src/main/java/org/jf/smalidea/psi/impl/SmaliExtendsList.java +++ b/smalidea/src/main/java/org/jf/smalidea/psi/impl/SmaliExtendsList.java @@ -31,11 +31,14 @@ package org.jf.smalidea.psi.impl; +import com.google.common.collect.Lists; import com.intellij.lang.ASTNode; import org.jetbrains.annotations.NotNull; import org.jf.smalidea.psi.SmaliElementTypes; import org.jf.smalidea.psi.stub.SmaliExtendsListStub; +import java.util.List; + public class SmaliExtendsList extends SmaliBaseReferenceList { public SmaliExtendsList(@NotNull SmaliExtendsListStub stub) { super(stub, SmaliElementTypes.EXTENDS_LIST); @@ -53,6 +56,34 @@ public class SmaliExtendsList extends SmaliBaseReferenceList 0) { + // all implemented interfaces go in the extends list for an interface + List types = Lists.newArrayList(); + + for (SmaliImplementsStatement implementsStatement: implementsStatements) { + SmaliClassTypeElement classReference = implementsStatement.getClassReference(); + if (classReference != null) { + types.add(classReference); + } + } + return types.toArray(new SmaliClassTypeElement[types.size()]); + } + return new SmaliClassTypeElement[0]; + } + + @NotNull private SmaliClassTypeElement[] getExtendsElement() { + SmaliSuperStatement superStatement = ((SmaliClass)getParent()).getSuperStatement(); + if (superStatement != null) { + SmaliClassTypeElement classReference = superStatement.getClassReference(); + if (classReference != null) { + return new SmaliClassTypeElement[] { classReference }; + } + } + return new SmaliClassTypeElement[0]; + } + @Override public Role getRole() { return Role.EXTENDS_LIST; } diff --git a/smalidea/src/main/java/org/jf/smalidea/psi/impl/SmaliImplementsList.java b/smalidea/src/main/java/org/jf/smalidea/psi/impl/SmaliImplementsList.java index e4ccc233..f3c6f65d 100644 --- a/smalidea/src/main/java/org/jf/smalidea/psi/impl/SmaliImplementsList.java +++ b/smalidea/src/main/java/org/jf/smalidea/psi/impl/SmaliImplementsList.java @@ -31,11 +31,14 @@ package org.jf.smalidea.psi.impl; +import com.google.common.collect.Lists; import com.intellij.lang.ASTNode; import org.jetbrains.annotations.NotNull; import org.jf.smalidea.psi.SmaliElementTypes; import org.jf.smalidea.psi.stub.SmaliImplementsListStub; +import java.util.List; + public class SmaliImplementsList extends SmaliBaseReferenceList { public SmaliImplementsList(@NotNull SmaliImplementsListStub stub) { super(stub, SmaliElementTypes.IMPLEMENTS_LIST); @@ -52,6 +55,23 @@ public class SmaliImplementsList extends SmaliBaseReferenceList 0) { + // all implemented interfaces go in the extends list for an interface + List types = Lists.newArrayList(); + + for (SmaliImplementsStatement implementsStatement: implementsStatements) { + SmaliClassTypeElement classReference = implementsStatement.getClassReference(); + if (classReference != null) { + types.add(classReference); + } + } + return types.toArray(new SmaliClassTypeElement[types.size()]); + } + return new SmaliClassTypeElement[0]; + } + @Override public Role getRole() { return Role.IMPLEMENTS_LIST; }