diff --git a/src/main/java/org/mapstruct/intellij/util/patterns/KtAnnotationEntryPattern.java b/src/main/java/org/mapstruct/intellij/util/patterns/KtAnnotationEntryPattern.java index 36806a2..7517616 100644 --- a/src/main/java/org/mapstruct/intellij/util/patterns/KtAnnotationEntryPattern.java +++ b/src/main/java/org/mapstruct/intellij/util/patterns/KtAnnotationEntryPattern.java @@ -10,12 +10,9 @@ import com.intellij.patterns.PsiElementPattern; import com.intellij.util.ProcessingContext; import org.jetbrains.annotations.NotNull; -import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor; -import org.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils; -import org.jetbrains.kotlin.name.FqName; import org.jetbrains.kotlin.psi.KtAnnotationEntry; -import org.jetbrains.kotlin.resolve.BindingContext; -import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode; +import org.jetbrains.uast.UAnnotation; +import org.jetbrains.uast.UastContextKt; /** * @author Filip Hrisafov @@ -32,20 +29,12 @@ public KtAnnotationEntryPattern qName(ElementPattern pattern) { return with( new PatternCondition( "qName" ) { @Override public boolean accepts(@NotNull KtAnnotationEntry ktAnnotation, ProcessingContext context) { - AnnotationDescriptor descriptor = ResolutionUtils.analyze( - ktAnnotation, - BodyResolveMode.PARTIAL_FOR_COMPLETION - ).get( BindingContext.ANNOTATION, ktAnnotation ); - - if ( descriptor == null ) { - return false; - } - - FqName fqName = descriptor.getFqName(); - if ( fqName == null ) { + UAnnotation uElement = UastContextKt.toUElement( ktAnnotation, UAnnotation.class ); + if ( uElement == null ) { return false; } - return pattern.accepts( fqName.asString(), context ); + String name = uElement.getQualifiedName(); + return pattern.accepts( name, context ); } } ); } diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index 0550e6e..9ee1cdf 100644 --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -30,6 +30,9 @@ on how to target different products --> com.intellij.modules.java org.jetbrains.kotlin + + +