From bddc62095439577cdba5f13777c583f2dbff0486 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Mon, 27 Aug 2018 19:36:53 +0300 Subject: [PATCH] annotate externally: use original element to avoid decompiled element modifications (IDEA-197276) --- .../intellij/codeInsight/ExternalAnnotationsManagerImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/ExternalAnnotationsManagerImpl.java b/java/java-impl/src/com/intellij/codeInsight/ExternalAnnotationsManagerImpl.java index 64be3b97d738..ce867c9cb712 100644 --- a/java/java-impl/src/com/intellij/codeInsight/ExternalAnnotationsManagerImpl.java +++ b/java/java-impl/src/com/intellij/codeInsight/ExternalAnnotationsManagerImpl.java @@ -113,7 +113,7 @@ public class ExternalAnnotationsManagerImpl extends ReadableExternalAnnotationsM LOG.assertTrue(!application.isWriteAccessAllowed()); final Project project = myPsiManager.getProject(); - final PsiFile containingFile = listOwner.getContainingFile(); + final PsiFile containingFile = listOwner.getOriginalElement().getContainingFile(); if (!(containingFile instanceof PsiJavaFile)) { notifyAfterAnnotationChanging(listOwner, annotationFQName, false); return; @@ -456,7 +456,7 @@ public class ExternalAnnotationsManagerImpl extends ReadableExternalAnnotationsM @NotNull public AnnotationPlace chooseAnnotationsPlace(@NotNull final PsiElement element) { ApplicationManager.getApplication().assertIsDispatchThread(); - if (!element.isPhysical()) return AnnotationPlace.IN_CODE; //element just created + if (!element.isPhysical() && !(element.getOriginalElement() instanceof PsiCompiledElement)) return AnnotationPlace.IN_CODE; //element just created if (!element.getManager().isInProject(element)) return AnnotationPlace.EXTERNAL; final Project project = myPsiManager.getProject();