diff --git a/jvm/jvm-analysis-impl/resources/META-INF/JvmAnalysisPlugin.xml b/jvm/jvm-analysis-impl/resources/META-INF/JvmAnalysisPlugin.xml index e867ea43c617..6d52ede8e983 100644 --- a/jvm/jvm-analysis-impl/resources/META-INF/JvmAnalysisPlugin.xml +++ b/jvm/jvm-analysis-impl/resources/META-INF/JvmAnalysisPlugin.xml @@ -185,10 +185,10 @@ hostElementClass="com.intellij.model.psi.PsiExternalReferenceHost" hostLanguage="UAST" implementationClass="com.intellij.analysis.logging.resolve.JvmLoggerSymbolReferenceProvider" - targetClass="com.intellij.analysis.logging.resolve.JvmLoggerArgumentSymbol"/> + targetClass="com.intellij.analysis.logging.resolve.LoggingArgumentSymbol"/> + implementationClass="com.intellij.analysis.logging.resolve.LoggingArgumentUsageSearcher"/> diff --git a/jvm/jvm-analysis-impl/src/com/intellij/analysis/logging/resolve/JvmLoggerArgumentSymbol.kt b/jvm/jvm-analysis-impl/src/com/intellij/analysis/logging/resolve/LoggingArgumentSymbol.kt similarity index 89% rename from jvm/jvm-analysis-impl/src/com/intellij/analysis/logging/resolve/JvmLoggerArgumentSymbol.kt rename to jvm/jvm-analysis-impl/src/com/intellij/analysis/logging/resolve/LoggingArgumentSymbol.kt index c17973eaae94..abae6be6e647 100644 --- a/jvm/jvm-analysis-impl/src/com/intellij/analysis/logging/resolve/JvmLoggerArgumentSymbol.kt +++ b/jvm/jvm-analysis-impl/src/com/intellij/analysis/logging/resolve/LoggingArgumentSymbol.kt @@ -21,7 +21,7 @@ import org.jetbrains.uast.UExpression import org.jetbrains.uast.getParentOfType import org.jetbrains.uast.toUElementOfType -class JvmLoggerArgumentSymbol(val expression: PsiElement) : Symbol, NavigatableSymbol, SearchTarget { +class LoggingArgumentSymbol(val expression: PsiElement) : Symbol, NavigatableSymbol, SearchTarget { override val usageHandler: UsageHandler = UsageHandler.createEmptyUsageHandler(expression.text) fun getPlaceholderString(): UExpression? { @@ -33,8 +33,8 @@ class JvmLoggerArgumentSymbol(val expression: PsiElement) : Symbol, NavigatableS return getPlaceholderContext(logMethod, LOGGER_RESOLVE_TYPE_SEARCHERS, log4jHasImplementationForSlf4j)?.logStringArgument } - override fun createPointer(): Pointer { - return Pointer.delegatingPointer(SmartPointerManager.createPointer(expression), ::JvmLoggerArgumentSymbol) + override fun createPointer(): Pointer { + return Pointer.delegatingPointer(SmartPointerManager.createPointer(expression), ::LoggingArgumentSymbol) } override fun presentation(): TargetPresentation = TargetPresentation.builder(expression.text).presentation() @@ -42,7 +42,7 @@ class JvmLoggerArgumentSymbol(val expression: PsiElement) : Symbol, NavigatableS override fun getNavigationTargets(project: Project): Collection = listOf(SymbolNavigationService.getInstance().psiElementNavigationTarget(expression)) override fun equals(other: Any?): Boolean { - if (other !is JvmLoggerArgumentSymbol) return false + if (other !is LoggingArgumentSymbol) return false return other.expression == this.expression } diff --git a/jvm/jvm-analysis-impl/src/com/intellij/analysis/logging/resolve/JvmLoggerArgumentSymbolReference.kt b/jvm/jvm-analysis-impl/src/com/intellij/analysis/logging/resolve/LoggingArgumentSymbolReference.kt similarity index 80% rename from jvm/jvm-analysis-impl/src/com/intellij/analysis/logging/resolve/JvmLoggerArgumentSymbolReference.kt rename to jvm/jvm-analysis-impl/src/com/intellij/analysis/logging/resolve/LoggingArgumentSymbolReference.kt index 862883552b50..3e0d913ee808 100644 --- a/jvm/jvm-analysis-impl/src/com/intellij/analysis/logging/resolve/JvmLoggerArgumentSymbolReference.kt +++ b/jvm/jvm-analysis-impl/src/com/intellij/analysis/logging/resolve/LoggingArgumentSymbolReference.kt @@ -6,7 +6,7 @@ import com.intellij.model.psi.PsiSymbolReference import com.intellij.openapi.util.TextRange import com.intellij.psi.PsiElement -class JvmLoggerArgumentSymbolReference( +class LoggingArgumentSymbolReference( private val literalExpression: PsiElement, private val literalRange: TextRange, private val externalReference: PsiElement, @@ -15,5 +15,5 @@ class JvmLoggerArgumentSymbolReference( override fun getRangeInElement(): TextRange = literalRange - override fun resolveReference(): Collection = listOf(JvmLoggerArgumentSymbol(externalReference)) + override fun resolveReference(): Collection = listOf(LoggingArgumentSymbol(externalReference)) } \ No newline at end of file diff --git a/jvm/jvm-analysis-impl/src/com/intellij/analysis/logging/resolve/JvmLoggerSymbolReferenceProvider.kt b/jvm/jvm-analysis-impl/src/com/intellij/analysis/logging/resolve/LoggingArgumentSymbolReferenceProvider.kt similarity index 90% rename from jvm/jvm-analysis-impl/src/com/intellij/analysis/logging/resolve/JvmLoggerSymbolReferenceProvider.kt rename to jvm/jvm-analysis-impl/src/com/intellij/analysis/logging/resolve/LoggingArgumentSymbolReferenceProvider.kt index 5667ad4761bc..5ad150201428 100644 --- a/jvm/jvm-analysis-impl/src/com/intellij/analysis/logging/resolve/JvmLoggerSymbolReferenceProvider.kt +++ b/jvm/jvm-analysis-impl/src/com/intellij/analysis/logging/resolve/LoggingArgumentSymbolReferenceProvider.kt @@ -22,11 +22,11 @@ class JvmLoggerSymbolReferenceProvider : PsiSymbolReferenceProvider { } private fun hintsCheck(hints: PsiSymbolReferenceHints): Boolean { - if (!hints.referenceClass.isAssignableFrom(JvmLoggerArgumentSymbolReference::class.java)) return false + if (!hints.referenceClass.isAssignableFrom(LoggingArgumentSymbolReference::class.java)) return false val targetClass = hints.targetClass - if (targetClass != null && !targetClass.isAssignableFrom(JvmLoggerArgumentSymbol::class.java)) return false + if (targetClass != null && !targetClass.isAssignableFrom(LoggingArgumentSymbol::class.java)) return false val target = hints.target - return target == null || target is JvmLoggerArgumentSymbol + return target == null || target is LoggingArgumentSymbol } override fun getSearchRequests(project: Project, target: Symbol): Collection { @@ -57,7 +57,7 @@ fun getLogArgumentReferences(literalExpression: UExpression): List { val target = parameters.target - if (target !is JvmLoggerArgumentSymbol) return emptyList() + if (target !is LoggingArgumentSymbol) return emptyList() val uLiteralExpression = target.getPlaceholderString() ?: return emptyList() return getLogArgumentReferences(uLiteralExpression)?.let { it.filter { ref: PsiSymbolReference -> ref.resolvesTo(target) } diff --git a/jvm/jvm-analysis-java-tests/testSrc/com/intellij/logging/resolve/JavaLoggingArgumentSymbolReferenceProviderTest.kt b/jvm/jvm-analysis-java-tests/testSrc/com/intellij/logging/resolve/JavaLoggingArgumentSymbolReferenceProviderTest.kt index 47095c8f46ea..c60c2d4dc3f6 100644 --- a/jvm/jvm-analysis-java-tests/testSrc/com/intellij/logging/resolve/JavaLoggingArgumentSymbolReferenceProviderTest.kt +++ b/jvm/jvm-analysis-java-tests/testSrc/com/intellij/logging/resolve/JavaLoggingArgumentSymbolReferenceProviderTest.kt @@ -1,6 +1,6 @@ package com.intellij.logging.resolve -import com.intellij.analysis.logging.resolve.JvmLoggerArgumentSymbol +import com.intellij.analysis.logging.resolve.LoggingArgumentSymbol import com.intellij.jvm.analysis.internal.testFramework.logging.LoggingArgumentSymbolReferenceProviderTestBase import com.intellij.model.psi.PsiSymbolReference import com.intellij.model.psi.PsiSymbolReferenceService @@ -37,8 +37,8 @@ class JavaLoggingArgumentSymbolReferenceProviderTest : LoggingArgumentSymbolRefe val symbols = ref.resolveReference() assertEquals(bindings.size, symbols.size) val symbol = symbols.single() - assertTrue(symbol is JvmLoggerArgumentSymbol) - val formatSymbol = symbol as JvmLoggerArgumentSymbol + assertTrue(symbol is LoggingArgumentSymbol) + val formatSymbol = symbol as LoggingArgumentSymbol assertTrue(formatSymbol.getPlaceholderString() is ULiteralExpression) val expressionText = formatSymbol.expression.text assertEquals(bindings[ref.rangeInElement], expressionText)