Ejemplo n.º 1
0
 @NotNull
 static PsiModifierListOwner getAnnotationOwner(@NotNull PsiElement element) {
   PsiModifierListOwner annotationOwner =
       element.getOriginalElement() instanceof PsiModifierListOwner
           ? (PsiModifierListOwner) element.getOriginalElement()
           : (PsiModifierListOwner) element;
   if (!annotationOwner.isPhysical()) {
     // this is fake PsiFile which is mirror for ClsFile without sources
     ASTNode node = SourceTreeToPsiMap.psiElementToTree(element);
     if (node != null) {
       PsiCompiledElement compiledElement = node.getUserData(ClsElementImpl.COMPILED_ELEMENT);
       if (compiledElement instanceof PsiModifierListOwner) {
         return (PsiModifierListOwner) compiledElement;
       }
     }
   }
   return annotationOwner;
 }