diff --git a/analysis/analysis-api-fe10/build.gradle.kts b/analysis/analysis-api-fe10/build.gradle.kts index 33c7de38678..bb3244c26ec 100644 --- a/analysis/analysis-api-fe10/build.gradle.kts +++ b/analysis/analysis-api-fe10/build.gradle.kts @@ -9,6 +9,7 @@ dependencies { implementation(project(":compiler:frontend.java")) implementation(project(":analysis:analysis-api-impl-base")) implementation(project(":analysis:analysis-internal-utils")) + implementation(project(":analysis:kt-reference")) implementation(project(":compiler:backend")) implementation(project(":compiler:backend.jvm")) @@ -42,4 +43,4 @@ projectTest(jUnitMode = JUnitMode.JUnit5) { useJUnitPlatform() } -testsJar() \ No newline at end of file +testsJar() diff --git a/analysis/analysis-api-fir/build.gradle.kts b/analysis/analysis-api-fir/build.gradle.kts index 88d570aa4d7..c8acfa7068e 100644 --- a/analysis/analysis-api-fir/build.gradle.kts +++ b/analysis/analysis-api-fir/build.gradle.kts @@ -21,6 +21,7 @@ dependencies { api(intellijCore()) implementation(project(":analysis:analysis-api-providers")) implementation(project(":analysis:analysis-internal-utils")) + implementation(project(":analysis:kt-reference")) testApi(projectTests(":analysis:low-level-api-fir")) testApi(projectTests(":compiler:tests-common")) @@ -84,5 +85,3 @@ val generateCode by tasks.registering(NoDebugJavaExec::class) { val compileKotlin by tasks compileKotlin.dependsOn(generateCode) - - diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/references/FirReferenceResolveHelper.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/references/FirReferenceResolveHelper.kt index d9e69600e26..ac1476367f6 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/references/FirReferenceResolveHelper.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/references/FirReferenceResolveHelper.kt @@ -12,6 +12,7 @@ import org.jetbrains.kotlin.analysis.api.fir.symbols.KtFirPackageSymbol import org.jetbrains.kotlin.analysis.api.symbols.KtSymbol import org.jetbrains.kotlin.analysis.low.level.api.fir.api.getOrBuildFir import org.jetbrains.kotlin.analysis.low.level.api.fir.api.getOrBuildFirSafe +import org.jetbrains.kotlin.fir.* import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.builder.buildImport import org.jetbrains.kotlin.fir.declarations.synthetic.FirSyntheticProperty diff --git a/analysis/analysis-api-impl-base/build.gradle.kts b/analysis/analysis-api-impl-base/build.gradle.kts index 10bc59a9a11..656f5c7ebeb 100644 --- a/analysis/analysis-api-impl-base/build.gradle.kts +++ b/analysis/analysis-api-impl-base/build.gradle.kts @@ -7,6 +7,7 @@ dependencies { api(project(":compiler:psi")) api(project(":analysis:analysis-api")) api(project(":analysis:analysis-api-impl-barebone")) + api(project(":analysis:kt-reference")) api(intellijCore()) implementation(project(":analysis:analysis-internal-utils")) @@ -27,4 +28,4 @@ sourceSets { "test" { projectDefault() } } -testsJar() \ No newline at end of file +testsJar() diff --git a/analysis/analysis-api/build.gradle.kts b/analysis/analysis-api/build.gradle.kts index 735c4ed2b43..95411649c49 100644 --- a/analysis/analysis-api/build.gradle.kts +++ b/analysis/analysis-api/build.gradle.kts @@ -17,6 +17,7 @@ dependencies { compileOnly(project(":analysis:low-level-api-fir")) implementation(project(":analysis:analysis-internal-utils")) implementation(project(":analysis:analysis-api-providers")) + implementation(project(":analysis:kt-reference")) api(intellijCore()) api(commonDependency("com.google.guava:guava")) diff --git a/analysis/kt-reference/build.gradle.kts b/analysis/kt-reference/build.gradle.kts new file mode 100644 index 00000000000..0536680e2de --- /dev/null +++ b/analysis/kt-reference/build.gradle.kts @@ -0,0 +1,16 @@ +plugins { + kotlin("jvm") + id("jps-compatible") +} + +dependencies { + implementation(project(":compiler:psi")) + implementation(intellijCore()) + + compileOnly(commonDependency("com.google.guava:guava")) +} + +sourceSets { + "main" { projectDefault() } + "test" { none() } +} diff --git a/compiler/psi/src/org/jetbrains/kotlin/idea/references/KDocReference.kt b/analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/KDocReference.kt similarity index 100% rename from compiler/psi/src/org/jetbrains/kotlin/idea/references/KDocReference.kt rename to analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/KDocReference.kt diff --git a/compiler/psi/src/org/jetbrains/kotlin/idea/references/KtArrayAccessReference.kt b/analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/KtArrayAccessReference.kt similarity index 95% rename from compiler/psi/src/org/jetbrains/kotlin/idea/references/KtArrayAccessReference.kt rename to analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/KtArrayAccessReference.kt index dbe44ff76f5..161fd73f38a 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/idea/references/KtArrayAccessReference.kt +++ b/analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/KtArrayAccessReference.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ @@ -33,4 +33,4 @@ abstract class KtArrayAccessReference( companion object { private val NAMES = listOf(OperatorNameConventions.GET, OperatorNameConventions.SET) } -} \ No newline at end of file +} diff --git a/compiler/psi/src/org/jetbrains/kotlin/idea/references/KtCollectionLiteralReference.kt b/analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/KtCollectionLiteralReference.kt similarity index 94% rename from compiler/psi/src/org/jetbrains/kotlin/idea/references/KtCollectionLiteralReference.kt rename to analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/KtCollectionLiteralReference.kt index 4f2cca59920..193f9f5c36a 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/idea/references/KtCollectionLiteralReference.kt +++ b/analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/KtCollectionLiteralReference.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ @@ -28,4 +28,4 @@ abstract class KtCollectionLiteralReference(expression: KtCollectionLiteralExpre get() = COLLECTION_LITERAL_CALL_NAMES private fun PsiElement.normalizeRange(): TextRange = this.textRange.shiftRight(-expression.textOffset) -} \ No newline at end of file +} diff --git a/compiler/psi/src/org/jetbrains/kotlin/idea/references/KtConstructorDelegationReference.kt b/analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/KtConstructorDelegationReference.kt similarity index 100% rename from compiler/psi/src/org/jetbrains/kotlin/idea/references/KtConstructorDelegationReference.kt rename to analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/KtConstructorDelegationReference.kt diff --git a/compiler/psi/src/org/jetbrains/kotlin/idea/references/KtDestructuringDeclarationReference.kt b/analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/KtDestructuringDeclarationReference.kt similarity index 100% rename from compiler/psi/src/org/jetbrains/kotlin/idea/references/KtDestructuringDeclarationReference.kt rename to analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/KtDestructuringDeclarationReference.kt diff --git a/compiler/psi/src/org/jetbrains/kotlin/idea/references/KtForLoopInReference.kt b/analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/KtForLoopInReference.kt similarity index 93% rename from compiler/psi/src/org/jetbrains/kotlin/idea/references/KtForLoopInReference.kt rename to analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/KtForLoopInReference.kt index c2f57855d09..58313ad77f2 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/idea/references/KtForLoopInReference.kt +++ b/analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/KtForLoopInReference.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ @@ -28,4 +28,4 @@ abstract class KtForLoopInReference(element: KtForExpression) : KtMultiReference OperatorNameConventions.HAS_NEXT ) } -} \ No newline at end of file +} diff --git a/compiler/psi/src/org/jetbrains/kotlin/idea/references/KtInvokeFunctionReference.kt b/analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/KtInvokeFunctionReference.kt similarity index 98% rename from compiler/psi/src/org/jetbrains/kotlin/idea/references/KtInvokeFunctionReference.kt rename to analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/KtInvokeFunctionReference.kt index 2a954262e17..2d2ad6463dc 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/idea/references/KtInvokeFunctionReference.kt +++ b/analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/KtInvokeFunctionReference.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ diff --git a/compiler/psi/src/org/jetbrains/kotlin/idea/references/KtPropertyDelegationMethodsReference.kt b/analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/KtPropertyDelegationMethodsReference.kt similarity index 94% rename from compiler/psi/src/org/jetbrains/kotlin/idea/references/KtPropertyDelegationMethodsReference.kt rename to analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/KtPropertyDelegationMethodsReference.kt index e6ef2bf5ad9..0a65f7ff298 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/idea/references/KtPropertyDelegationMethodsReference.kt +++ b/analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/KtPropertyDelegationMethodsReference.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ diff --git a/compiler/psi/src/org/jetbrains/kotlin/idea/references/KtReference.kt b/analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/KtReference.kt similarity index 100% rename from compiler/psi/src/org/jetbrains/kotlin/idea/references/KtReference.kt rename to analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/KtReference.kt diff --git a/compiler/psi/src/org/jetbrains/kotlin/idea/references/KtSimpleNameReference.kt b/analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/KtSimpleNameReference.kt similarity index 96% rename from compiler/psi/src/org/jetbrains/kotlin/idea/references/KtSimpleNameReference.kt rename to analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/KtSimpleNameReference.kt index f7b313ecb0a..12cfb26ed9c 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/idea/references/KtSimpleNameReference.kt +++ b/analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/KtSimpleNameReference.kt @@ -1,11 +1,10 @@ /* - * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ package org.jetbrains.kotlin.idea.references -import com.intellij.openapi.extensions.Extensions import com.intellij.openapi.util.TextRange import com.intellij.psi.PsiElement import org.jetbrains.kotlin.lexer.KtTokens diff --git a/compiler/psi/src/org/jetbrains/kotlin/idea/references/SyntheticPropertyAccessorReference.kt b/analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/SyntheticPropertyAccessorReference.kt similarity index 92% rename from compiler/psi/src/org/jetbrains/kotlin/idea/references/SyntheticPropertyAccessorReference.kt rename to analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/SyntheticPropertyAccessorReference.kt index c6d24bf1b22..781882b78e7 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/idea/references/SyntheticPropertyAccessorReference.kt +++ b/analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/SyntheticPropertyAccessorReference.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ @@ -7,7 +7,6 @@ package org.jetbrains.kotlin.idea.references import com.intellij.openapi.util.TextRange import com.intellij.psi.PsiElement -import com.intellij.psi.PsiMethod import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.KtNameReferenceExpression diff --git a/compiler/psi/src/org/jetbrains/kotlin/idea/references/referenceUtils.kt b/analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/referenceUtils.kt similarity index 100% rename from compiler/psi/src/org/jetbrains/kotlin/idea/references/referenceUtils.kt rename to analysis/kt-reference/src/org/jetbrains/kotlin/idea/references/referenceUtils.kt diff --git a/build.gradle.kts b/build.gradle.kts index 8998caa1988..8ff7f582e37 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -159,6 +159,7 @@ val commonCompilerModules = arrayOf( ":analysis:decompiled:decompiler-to-file-stubs", ":analysis:decompiled:decompiler-to-psi", ":analysis:decompiled:light-classes-for-decompiled", + ":analysis:kt-reference", ).also { extra["commonCompilerModules"] = it } val firCompilerCoreModules = arrayOf( diff --git a/settings.gradle b/settings.gradle index 2f3081c92d6..9b6f73a1420 100644 --- a/settings.gradle +++ b/settings.gradle @@ -501,6 +501,7 @@ include ":generators:analysis-api-generator", ":analysis:analysis-api-impl-base", ":analysis:analysis-api-providers", ":analysis:analysis-internal-utils", + ":analysis:kt-reference", ":analysis:symbol-light-classes", ":analysis:project-structure", ":analysis:analysis-api-fe10",