split PsiMember and JvmMember, link them via PsiJvmMember interface
[idea/community.git] / java / java-psi-api / src / com / intellij / psi / PsiModifierListOwner.java
index aa04ccae4663c051c8b5f9ead3734fa9c80af072..13d37b407b1af451c5c1fd2a34b1b7eb7d9ce1e5 100644 (file)
@@ -1,19 +1,19 @@
-// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.psi;
 
 import com.intellij.lang.jvm.JvmModifier;
-import com.intellij.lang.jvm.JvmModifiersOwner;
 import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
-import static com.intellij.psi.PsiJvmConversionHelper.*;
+import static com.intellij.psi.PsiJvmConversionHelper.hasListModifier;
 
 /**
  * Represents a PSI element which has a list of modifiers (public/private/protected/etc.)
  * and annotations.
  */
-public interface PsiModifierListOwner extends PsiElement, JvmModifiersOwner {
+public interface PsiModifierListOwner extends PsiElement {
+
   /**
    * Returns the list of modifiers for the element.
    *
@@ -33,30 +33,20 @@ public interface PsiModifierListOwner extends PsiElement, JvmModifiersOwner {
   boolean hasModifierProperty(@PsiModifier.ModifierConstant @NonNls @NotNull String name);
 
   @NotNull
-  @Override
   default PsiAnnotation[] getAnnotations() {
-    return getListAnnotations(this);
+    return PsiJvmConversionHelper.getListAnnotations(this);
   }
 
   @Nullable
-  @Override
-  default PsiAnnotation getAnnotation(@NotNull @NonNls String fqn) {
-    return getListAnnotation(this, fqn);
+  default PsiAnnotation getAnnotation(@NotNull String fqn) {
+    return PsiJvmConversionHelper.getListAnnotation(this, fqn);
   }
 
-  @Override
-  default boolean hasAnnotation(@NotNull @NonNls String fqn) {
-    return hasListAnnotation(this, fqn);
+  default boolean hasAnnotation(@NotNull String fqn) {
+    return PsiJvmConversionHelper.hasListAnnotation(this, fqn);
   }
 
-  @Override
   default boolean hasModifier(@NotNull JvmModifier modifier) {
     return hasListModifier(this, modifier);
   }
-
-  @Nullable
-  @Override
-  default PsiElement getSourceElement() {
-    return this;
-  }
 }