From a9a74d6917bb0aa413ee883a9932b7d6a5c8a67f Mon Sep 17 00:00:00 2001 From: Nikita Skvortsov Date: Fri, 19 Jun 2020 11:40:57 +0300 Subject: [PATCH] [external annotations] fix lookup of bundled annotations list IDEA-243907 GitOrigin-RevId: 84dede4686bb93937c8b3e1183e1b123338290dc --- .../location/JBBundledAnnotationsProvider.kt | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/externalAnnotation/location/JBBundledAnnotationsProvider.kt b/java/java-impl/src/com/intellij/codeInsight/externalAnnotation/location/JBBundledAnnotationsProvider.kt index 9f390fabf6f8..391dd8aefe04 100644 --- a/java/java-impl/src/com/intellij/codeInsight/externalAnnotation/location/JBBundledAnnotationsProvider.kt +++ b/java/java-impl/src/com/intellij/codeInsight/externalAnnotation/location/JBBundledAnnotationsProvider.kt @@ -14,7 +14,7 @@ import com.intellij.openapi.util.io.FileUtil import com.intellij.util.text.VersionComparatorUtil class JBBundledAnnotationsProvider : AnnotationsLocationProvider { - private val myPluginId = PluginManagerCore.CORE_ID + private val myPluginId = PluginManagerCore.JAVA_PLUGIN_ID private val knownAnnotations: Map> by lazy { buildAnnotations() } override fun getLocations(project: Project, @@ -34,12 +34,14 @@ class JBBundledAnnotationsProvider : AnnotationsLocationProvider { private fun buildAnnotations(): Map> { val extensionsRootType = ExtensionsRootType.getInstance() - val annotationsFile = extensionsRootType.findResource(myPluginId, "predefinedExternalAnnotations.json") - ?: extensionsRootType.run { - extractBundledResources(myPluginId, "") - findResource(myPluginId, "predefinedExternalAnnotations.json") - } - ?: return emptyMap() + var annotationsFile = extensionsRootType.findResource(myPluginId, "predefinedExternalAnnotations.json") + if (annotationsFile?.exists() != true) { + extensionsRootType.extractBundledResources(myPluginId, "") + annotationsFile = extensionsRootType.findResource(myPluginId, "predefinedExternalAnnotations.json") + if (annotationsFile?.exists() != true) { + return emptyMap() + } + } val gsonBuilder = GsonBuilder() gsonBuilder.registerTypeAdapter(VersionRange::class.java, VersionRangeTypeAdapter())