From 4f16feb4762ac9e0bd93e60c042d0463d109be26 Mon Sep 17 00:00:00 2001 From: Ben Gruver Date: Thu, 2 Apr 2015 19:48:22 -0700 Subject: [PATCH] Ensure that SmaliModifierList's direct parent is a PsiModifierListOwner --- .../psi/iface/SmaliModifierListOwner.java | 5 +- .../psi/impl/SmaliClassStatement.java | 60 ++++++++++++++++++- .../smalidea/SmaliClassModifierListTest.java | 6 ++ 3 files changed, 69 insertions(+), 2 deletions(-) diff --git a/smalidea/src/main/java/org/jf/smalidea/psi/iface/SmaliModifierListOwner.java b/smalidea/src/main/java/org/jf/smalidea/psi/iface/SmaliModifierListOwner.java index 839333b3..3da47c9b 100644 --- a/smalidea/src/main/java/org/jf/smalidea/psi/iface/SmaliModifierListOwner.java +++ b/smalidea/src/main/java/org/jf/smalidea/psi/iface/SmaliModifierListOwner.java @@ -32,14 +32,17 @@ package org.jf.smalidea.psi.iface; import com.intellij.psi.PsiAnnotationOwner; +import com.intellij.psi.PsiModifierListOwner; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jf.smalidea.psi.impl.SmaliAnnotation; +import org.jf.smalidea.psi.impl.SmaliModifierList; -public interface SmaliModifierListOwner extends PsiAnnotationOwner { +public interface SmaliModifierListOwner extends PsiModifierListOwner, PsiAnnotationOwner { @NotNull @Override SmaliAnnotation[] getAnnotations(); @NotNull @Override SmaliAnnotation[] getApplicableAnnotations(); @Nullable @Override SmaliAnnotation findAnnotation(@NotNull @NonNls String qualifiedName); @NotNull @Override SmaliAnnotation addAnnotation(@NotNull @NonNls String qualifiedName); + @Nullable @Override SmaliModifierList getModifierList(); } diff --git a/smalidea/src/main/java/org/jf/smalidea/psi/impl/SmaliClassStatement.java b/smalidea/src/main/java/org/jf/smalidea/psi/impl/SmaliClassStatement.java index 65ccead6..69052e4c 100644 --- a/smalidea/src/main/java/org/jf/smalidea/psi/impl/SmaliClassStatement.java +++ b/smalidea/src/main/java/org/jf/smalidea/psi/impl/SmaliClassStatement.java @@ -32,13 +32,16 @@ package org.jf.smalidea.psi.impl; import com.intellij.lang.ASTNode; +import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jf.smalidea.psi.SmaliElementTypes; +import org.jf.smalidea.psi.iface.SmaliModifierListOwner; import org.jf.smalidea.psi.leaf.SmaliClassDescriptor; import org.jf.smalidea.psi.stub.SmaliClassStatementStub; -public class SmaliClassStatement extends SmaliStubBasedPsiElement { +public class SmaliClassStatement extends SmaliStubBasedPsiElement + implements SmaliModifierListOwner { public SmaliClassStatement(@NotNull SmaliClassStatementStub stub) { super(stub, SmaliElementTypes.CLASS_STATEMENT); } @@ -52,6 +55,11 @@ public class SmaliClassStatement extends SmaliStubBasedPsiElement