diff options
author | Jiaxiang Chen <jiaxiang@google.com> | 2022-12-01 11:02:40 -0800 |
---|---|---|
committer | Jiaxiang Chen <roaringacw@gmail.com> | 2022-12-05 18:25:29 +0000 |
commit | 02c78d35dad3e6ce3695955dcac4fec0286641e7 (patch) | |
tree | 400d1ce100300d3b2b9815f33ac5455ddebaf9e6 | |
parent | 29592463fc4617e815b1d83ac33911bf0e676a36 (diff) | |
download | ksp-02c78d35dad3e6ce3695955dcac4fec0286641e7.tar.gz |
refactor: move KSName into common-util
27 files changed, 50 insertions, 58 deletions
diff --git a/common-util/src/main/kotlin/com/google/devtools/ksp/KSPUtils.kt b/common-util/src/main/kotlin/com/google/devtools/ksp/KSPUtils.kt index 007a3eca..31707e58 100644 --- a/common-util/src/main/kotlin/com/google/devtools/ksp/KSPUtils.kt +++ b/common-util/src/main/kotlin/com/google/devtools/ksp/KSPUtils.kt @@ -1,5 +1,8 @@ package com.google.devtools.ksp +import com.google.devtools.ksp.processing.impl.KSNameImpl +import org.jetbrains.kotlin.name.ClassId + class IdKey<T>(private val k: T) { override fun equals(other: Any?): Boolean = if (other is IdKey<*>) k === other.k else false override fun hashCode(): Int = k.hashCode() @@ -16,3 +19,5 @@ class IdKeyTriple<T, P, Q>(private val k1: T, private val k2: P, private val k3: k2 === other.k2 && k3 === other.k3 else false override fun hashCode(): Int = k1.hashCode() * 31 * 31 + k2.hashCode() * 31 + k3.hashCode() } + +fun ClassId.toKSName() = KSNameImpl.getCached(asSingleFqName().toString()) diff --git a/common-util/src/main/kotlin/com/google/devtools/ksp/processing/impl/KSNameImpl.kt b/common-util/src/main/kotlin/com/google/devtools/ksp/processing/impl/KSNameImpl.kt new file mode 100644 index 00000000..8697eaa2 --- /dev/null +++ b/common-util/src/main/kotlin/com/google/devtools/ksp/processing/impl/KSNameImpl.kt @@ -0,0 +1,22 @@ +package com.google.devtools.ksp.processing.impl + +import com.google.devtools.ksp.KSObjectCache +import com.google.devtools.ksp.symbol.KSName + +class KSNameImpl private constructor(val name: String) : KSName { + companion object : KSObjectCache<String, KSNameImpl>() { + fun getCached(name: String) = cache.getOrPut(name) { KSNameImpl(name) } + } + + override fun asString(): String { + return name + } + + override fun getQualifier(): String { + return name.split(".").dropLast(1).joinToString(".") + } + + override fun getShortName(): String { + return name.split(".").last() + } +} diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/processing/impl/ResolverImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/processing/impl/ResolverImpl.kt index 27d090fc..433e5df1 100644 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/processing/impl/ResolverImpl.kt +++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/processing/impl/ResolverImpl.kt @@ -82,7 +82,6 @@ import org.jetbrains.kotlin.load.kotlin.VirtualFileKotlinClass import org.jetbrains.kotlin.load.kotlin.getContainingKotlinJvmBinaryClass import org.jetbrains.kotlin.load.kotlin.getOptimalModeForReturnType import org.jetbrains.kotlin.load.kotlin.getOptimalModeForValueParameter -import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.FqNameUnsafe import org.jetbrains.kotlin.name.Name @@ -1120,8 +1119,6 @@ class ResolverImpl( FqName("java.io.Serializable"), NoLookupLocation.WHEN_FIND_BY_FQNAME )?.defaultType - private fun ClassId.toKSName() = KSNameImpl.getCached(asSingleFqName().toString()) - @KspExperimental override fun mapJavaNameToKotlin(javaName: KSName): KSName? = JavaToKotlinClassMap.mapJavaToKotlin(FqName(javaName.asString()))?.toKSName() diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/binary/KSAnnotationDescriptorImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/binary/KSAnnotationDescriptorImpl.kt index c2082714..e52920c7 100644 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/binary/KSAnnotationDescriptorImpl.kt +++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/binary/KSAnnotationDescriptorImpl.kt @@ -20,12 +20,12 @@ package com.google.devtools.ksp.symbol.impl.binary import com.google.devtools.ksp.ExceptionMessage import com.google.devtools.ksp.KSObjectCache import com.google.devtools.ksp.getClassDeclarationByName +import com.google.devtools.ksp.processing.impl.KSNameImpl import com.google.devtools.ksp.processing.impl.ResolverImpl import com.google.devtools.ksp.symbol.* import com.google.devtools.ksp.symbol.impl.findPsi import com.google.devtools.ksp.symbol.impl.java.KSAnnotationJavaImpl import com.google.devtools.ksp.symbol.impl.kotlin.KSErrorType -import com.google.devtools.ksp.symbol.impl.kotlin.KSNameImpl import com.google.devtools.ksp.symbol.impl.kotlin.KSValueArgumentLiteImpl import com.google.devtools.ksp.symbol.impl.kotlin.getKSTypeCached import com.google.devtools.ksp.symbol.impl.synthetic.KSTypeReferenceSyntheticImpl diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/binary/KSDeclarationDescriptorImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/binary/KSDeclarationDescriptorImpl.kt index e8d9950a..db041b26 100644 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/binary/KSDeclarationDescriptorImpl.kt +++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/binary/KSDeclarationDescriptorImpl.kt @@ -18,8 +18,8 @@ package com.google.devtools.ksp.symbol.impl.binary import com.google.devtools.ksp.memoized +import com.google.devtools.ksp.processing.impl.KSNameImpl import com.google.devtools.ksp.symbol.* -import com.google.devtools.ksp.symbol.impl.kotlin.KSNameImpl import org.jetbrains.kotlin.backend.common.serialization.findPackage import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.descriptors.DeclarationDescriptor diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/binary/KSTypeAliasDescriptorImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/binary/KSTypeAliasDescriptorImpl.kt index 36a95abb..29dc0613 100644 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/binary/KSTypeAliasDescriptorImpl.kt +++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/binary/KSTypeAliasDescriptorImpl.kt @@ -1,8 +1,8 @@ package com.google.devtools.ksp.symbol.impl.binary import com.google.devtools.ksp.KSObjectCache +import com.google.devtools.ksp.processing.impl.KSNameImpl import com.google.devtools.ksp.symbol.* -import com.google.devtools.ksp.symbol.impl.kotlin.KSNameImpl import com.google.devtools.ksp.toKSModifiers import org.jetbrains.kotlin.descriptors.TypeAliasDescriptor diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/binary/KSTypeParameterDescriptorImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/binary/KSTypeParameterDescriptorImpl.kt index f7405797..98de3b98 100644 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/binary/KSTypeParameterDescriptorImpl.kt +++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/binary/KSTypeParameterDescriptorImpl.kt @@ -19,9 +19,9 @@ package com.google.devtools.ksp.symbol.impl.binary import com.google.devtools.ksp.ExceptionMessage import com.google.devtools.ksp.KSObjectCache +import com.google.devtools.ksp.processing.impl.KSNameImpl import com.google.devtools.ksp.symbol.* import com.google.devtools.ksp.symbol.impl.kotlin.KSExpectActualNoImpl -import com.google.devtools.ksp.symbol.impl.kotlin.KSNameImpl import com.google.devtools.ksp.toKSVariance import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.descriptors.FunctionDescriptor diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/binary/KSValueParameterDescriptorImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/binary/KSValueParameterDescriptorImpl.kt index 705d49a5..29f53a45 100644 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/binary/KSValueParameterDescriptorImpl.kt +++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/binary/KSValueParameterDescriptorImpl.kt @@ -18,8 +18,8 @@ package com.google.devtools.ksp.symbol.impl.binary import com.google.devtools.ksp.KSObjectCache +import com.google.devtools.ksp.processing.impl.KSNameImpl import com.google.devtools.ksp.symbol.* -import com.google.devtools.ksp.symbol.impl.kotlin.KSNameImpl import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor import org.jetbrains.kotlin.resolve.calls.components.hasDefaultValue import org.jetbrains.kotlin.resolve.calls.components.isVararg diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSAnnotationJavaImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSAnnotationJavaImpl.kt index 88de93ac..592748e4 100644 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSAnnotationJavaImpl.kt +++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSAnnotationJavaImpl.kt @@ -19,12 +19,12 @@ package com.google.devtools.ksp.symbol.impl.java import com.google.devtools.ksp.KSObjectCache import com.google.devtools.ksp.getClassDeclarationByName +import com.google.devtools.ksp.processing.impl.KSNameImpl import com.google.devtools.ksp.processing.impl.ResolverImpl import com.google.devtools.ksp.symbol.* import com.google.devtools.ksp.symbol.impl.binary.getAbsentDefaultArguments import com.google.devtools.ksp.symbol.impl.binary.getDefaultConstructorArguments import com.google.devtools.ksp.symbol.impl.kotlin.KSErrorType -import com.google.devtools.ksp.symbol.impl.kotlin.KSNameImpl import com.google.devtools.ksp.symbol.impl.kotlin.KSTypeImpl import com.google.devtools.ksp.symbol.impl.toLocation import com.intellij.lang.jvm.JvmClassKind diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSClassDeclarationJavaEnumEntryImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSClassDeclarationJavaEnumEntryImpl.kt index e14b5818..05f017be 100644 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSClassDeclarationJavaEnumEntryImpl.kt +++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSClassDeclarationJavaEnumEntryImpl.kt @@ -18,6 +18,7 @@ package com.google.devtools.ksp.symbol.impl.java import com.google.devtools.ksp.KSObjectCache +import com.google.devtools.ksp.processing.impl.KSNameImpl import com.google.devtools.ksp.processing.impl.ResolverImpl import com.google.devtools.ksp.symbol.* import com.google.devtools.ksp.symbol.impl.* @@ -25,7 +26,6 @@ import com.google.devtools.ksp.symbol.impl.binary.getAllFunctions import com.google.devtools.ksp.symbol.impl.binary.getAllProperties import com.google.devtools.ksp.symbol.impl.kotlin.KSErrorType import com.google.devtools.ksp.symbol.impl.kotlin.KSExpectActualNoImpl -import com.google.devtools.ksp.symbol.impl.kotlin.KSNameImpl import com.google.devtools.ksp.symbol.impl.kotlin.getKSTypeCached import com.google.devtools.ksp.toKSModifiers import com.intellij.psi.PsiEnumConstant diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSClassDeclarationJavaImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSClassDeclarationJavaImpl.kt index e067bafc..f12933f8 100644 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSClassDeclarationJavaImpl.kt +++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSClassDeclarationJavaImpl.kt @@ -20,6 +20,7 @@ package com.google.devtools.ksp.symbol.impl.java import com.google.devtools.ksp.KSObjectCache import com.google.devtools.ksp.isConstructor import com.google.devtools.ksp.memoized +import com.google.devtools.ksp.processing.impl.KSNameImpl import com.google.devtools.ksp.processing.impl.ResolverImpl import com.google.devtools.ksp.processing.impl.workaroundForNested import com.google.devtools.ksp.symbol.* @@ -28,7 +29,6 @@ import com.google.devtools.ksp.symbol.impl.binary.getAllFunctions import com.google.devtools.ksp.symbol.impl.binary.getAllProperties import com.google.devtools.ksp.symbol.impl.kotlin.KSErrorType import com.google.devtools.ksp.symbol.impl.kotlin.KSExpectActualNoImpl -import com.google.devtools.ksp.symbol.impl.kotlin.KSNameImpl import com.google.devtools.ksp.symbol.impl.kotlin.getKSTypeCached import com.google.devtools.ksp.symbol.impl.replaceTypeArguments import com.google.devtools.ksp.symbol.impl.synthetic.KSConstructorSyntheticImpl diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSFileJavaImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSFileJavaImpl.kt index 3390788a..e49eea06 100644 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSFileJavaImpl.kt +++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSFileJavaImpl.kt @@ -19,8 +19,8 @@ package com.google.devtools.ksp.symbol.impl.java import com.google.devtools.ksp.KSObjectCache import com.google.devtools.ksp.memoized +import com.google.devtools.ksp.processing.impl.KSNameImpl import com.google.devtools.ksp.symbol.* -import com.google.devtools.ksp.symbol.impl.kotlin.KSNameImpl import com.google.devtools.ksp.symbol.impl.toLocation import com.intellij.psi.PsiJavaFile diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSFunctionDeclarationJavaImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSFunctionDeclarationJavaImpl.kt index 597b704a..1513fffc 100644 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSFunctionDeclarationJavaImpl.kt +++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSFunctionDeclarationJavaImpl.kt @@ -19,11 +19,11 @@ package com.google.devtools.ksp.symbol.impl.java import com.google.devtools.ksp.KSObjectCache import com.google.devtools.ksp.memoized +import com.google.devtools.ksp.processing.impl.KSNameImpl import com.google.devtools.ksp.processing.impl.ResolverImpl import com.google.devtools.ksp.symbol.* import com.google.devtools.ksp.symbol.impl.* import com.google.devtools.ksp.symbol.impl.kotlin.KSExpectActualNoImpl -import com.google.devtools.ksp.symbol.impl.kotlin.KSNameImpl import com.google.devtools.ksp.toKSModifiers import com.intellij.lang.jvm.JvmModifier import com.intellij.psi.PsiJavaFile diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSPropertyDeclarationJavaImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSPropertyDeclarationJavaImpl.kt index 4748e369..57ff5941 100644 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSPropertyDeclarationJavaImpl.kt +++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSPropertyDeclarationJavaImpl.kt @@ -19,11 +19,11 @@ package com.google.devtools.ksp.symbol.impl.java import com.google.devtools.ksp.KSObjectCache import com.google.devtools.ksp.memoized +import com.google.devtools.ksp.processing.impl.KSNameImpl import com.google.devtools.ksp.processing.impl.ResolverImpl import com.google.devtools.ksp.symbol.* import com.google.devtools.ksp.symbol.impl.* import com.google.devtools.ksp.symbol.impl.kotlin.KSExpectActualNoImpl -import com.google.devtools.ksp.symbol.impl.kotlin.KSNameImpl import com.google.devtools.ksp.toKSModifiers import com.intellij.psi.PsiField import com.intellij.psi.PsiJavaFile diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSTypeParameterJavaImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSTypeParameterJavaImpl.kt index d1f96c27..e3c41286 100644 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSTypeParameterJavaImpl.kt +++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSTypeParameterJavaImpl.kt @@ -19,10 +19,10 @@ package com.google.devtools.ksp.symbol.impl.java import com.google.devtools.ksp.KSObjectCache import com.google.devtools.ksp.memoized +import com.google.devtools.ksp.processing.impl.KSNameImpl import com.google.devtools.ksp.symbol.* import com.google.devtools.ksp.symbol.impl.findParentDeclaration import com.google.devtools.ksp.symbol.impl.kotlin.KSExpectActualNoImpl -import com.google.devtools.ksp.symbol.impl.kotlin.KSNameImpl import com.google.devtools.ksp.symbol.impl.toLocation import com.intellij.psi.PsiJavaFile import com.intellij.psi.PsiTypeParameter diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSValueParameterJavaImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSValueParameterJavaImpl.kt index 6b09a2da..086b670a 100644 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSValueParameterJavaImpl.kt +++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSValueParameterJavaImpl.kt @@ -18,8 +18,8 @@ package com.google.devtools.ksp.symbol.impl.java import com.google.devtools.ksp.KSObjectCache +import com.google.devtools.ksp.processing.impl.KSNameImpl import com.google.devtools.ksp.symbol.* -import com.google.devtools.ksp.symbol.impl.kotlin.KSNameImpl import com.google.devtools.ksp.symbol.impl.toLocation import com.intellij.psi.PsiAnnotation import com.intellij.psi.PsiMethod diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSAnnotationImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSAnnotationImpl.kt index 9b508968..19bde157 100644 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSAnnotationImpl.kt +++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSAnnotationImpl.kt @@ -18,6 +18,7 @@ package com.google.devtools.ksp.symbol.impl.kotlin import com.google.devtools.ksp.KSObjectCache +import com.google.devtools.ksp.processing.impl.KSNameImpl import com.google.devtools.ksp.processing.impl.ResolverImpl import com.google.devtools.ksp.symbol.* import com.google.devtools.ksp.symbol.impl.binary.createKSValueArguments diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSDeclarationImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSDeclarationImpl.kt index e5cb84c5..3e596664 100644 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSDeclarationImpl.kt +++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSDeclarationImpl.kt @@ -20,6 +20,7 @@ package com.google.devtools.ksp.symbol.impl.kotlin import com.google.devtools.ksp.getDocString import com.google.devtools.ksp.isConstructor import com.google.devtools.ksp.memoized +import com.google.devtools.ksp.processing.impl.KSNameImpl import com.google.devtools.ksp.symbol.* import com.google.devtools.ksp.symbol.impl.findParentAnnotated import com.google.devtools.ksp.symbol.impl.findParentDeclaration diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSFileImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSFileImpl.kt index a2c7451f..3e333a2e 100644 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSFileImpl.kt +++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSFileImpl.kt @@ -19,6 +19,7 @@ package com.google.devtools.ksp.symbol.impl.kotlin import com.google.devtools.ksp.KSObjectCache import com.google.devtools.ksp.memoized +import com.google.devtools.ksp.processing.impl.KSNameImpl import com.google.devtools.ksp.symbol.* import com.google.devtools.ksp.symbol.impl.getKSDeclarations import com.google.devtools.ksp.symbol.impl.toLocation diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSFunctionDeclarationImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSFunctionDeclarationImpl.kt index 38392e59..75017fbb 100644 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSFunctionDeclarationImpl.kt +++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSFunctionDeclarationImpl.kt @@ -20,6 +20,7 @@ package com.google.devtools.ksp.symbol.impl.kotlin import com.google.devtools.ksp.ExceptionMessage import com.google.devtools.ksp.KSObjectCache import com.google.devtools.ksp.memoized +import com.google.devtools.ksp.processing.impl.KSNameImpl import com.google.devtools.ksp.processing.impl.KSPCompilationError import com.google.devtools.ksp.processing.impl.ResolverImpl import com.google.devtools.ksp.symbol.* diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSNameImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSNameImpl.kt deleted file mode 100644 index 3c44814e..00000000 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSNameImpl.kt +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright 2020 Google LLC - * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.google.devtools.ksp.symbol.impl.kotlin - -import com.google.devtools.ksp.KSObjectCache -import com.google.devtools.ksp.symbol.KSName - -class KSNameImpl private constructor(val name: String) : KSName { - companion object : KSObjectCache<String, KSNameImpl>() { - fun getCached(name: String) = cache.getOrPut(name) { KSNameImpl(name) } - } - - override fun asString(): String { - return name - } - - override fun getQualifier(): String { - return name.split(".").dropLast(1).joinToString(".") - } - - override fun getShortName(): String { - return name.split(".").last() - } -} diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSTypeAliasImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSTypeAliasImpl.kt index 73bb2a1f..7ccbcec6 100644 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSTypeAliasImpl.kt +++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSTypeAliasImpl.kt @@ -18,6 +18,7 @@ package com.google.devtools.ksp.symbol.impl.kotlin import com.google.devtools.ksp.KSObjectCache +import com.google.devtools.ksp.processing.impl.KSNameImpl import com.google.devtools.ksp.symbol.* import org.jetbrains.kotlin.psi.* diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSTypeParameterImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSTypeParameterImpl.kt index fd330082..0b3d5fb5 100644 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSTypeParameterImpl.kt +++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSTypeParameterImpl.kt @@ -19,6 +19,7 @@ package com.google.devtools.ksp.symbol.impl.kotlin import com.google.devtools.ksp.KSObjectCache import com.google.devtools.ksp.memoized +import com.google.devtools.ksp.processing.impl.KSNameImpl import com.google.devtools.ksp.symbol.KSExpectActual import com.google.devtools.ksp.symbol.KSName import com.google.devtools.ksp.symbol.KSTypeParameter diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSValueParameterImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSValueParameterImpl.kt index 99aa4309..c8ed1ebf 100644 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSValueParameterImpl.kt +++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSValueParameterImpl.kt @@ -19,6 +19,7 @@ package com.google.devtools.ksp.symbol.impl.kotlin import com.google.devtools.ksp.KSObjectCache import com.google.devtools.ksp.memoized +import com.google.devtools.ksp.processing.impl.KSNameImpl import com.google.devtools.ksp.processing.impl.findAnnotationFromUseSiteTarget import com.google.devtools.ksp.symbol.KSAnnotation import com.google.devtools.ksp.symbol.KSName diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/synthetic/KSConstructorSyntheticImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/synthetic/KSConstructorSyntheticImpl.kt index c4b5cfb1..19108d99 100644 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/synthetic/KSConstructorSyntheticImpl.kt +++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/synthetic/KSConstructorSyntheticImpl.kt @@ -19,9 +19,9 @@ package com.google.devtools.ksp.symbol.impl.synthetic import com.google.devtools.ksp.KSObjectCache import com.google.devtools.ksp.isPublic +import com.google.devtools.ksp.processing.impl.KSNameImpl import com.google.devtools.ksp.processing.impl.ResolverImpl import com.google.devtools.ksp.symbol.* -import com.google.devtools.ksp.symbol.impl.kotlin.KSNameImpl class KSConstructorSyntheticImpl private constructor(val ksClassDeclaration: KSClassDeclaration) : KSFunctionDeclaration, diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/synthetic/KSErrorTypeClassDeclaration.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/synthetic/KSErrorTypeClassDeclaration.kt index 4f99bbff..2a71233b 100644 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/synthetic/KSErrorTypeClassDeclaration.kt +++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/synthetic/KSErrorTypeClassDeclaration.kt @@ -17,9 +17,9 @@ package com.google.devtools.ksp.symbol.impl.synthetic +import com.google.devtools.ksp.processing.impl.KSNameImpl import com.google.devtools.ksp.processing.impl.ResolverImpl import com.google.devtools.ksp.symbol.* -import com.google.devtools.ksp.symbol.impl.kotlin.KSNameImpl object KSErrorTypeClassDeclaration : KSClassDeclaration { override val annotations: Sequence<KSAnnotation> = emptySequence() diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/synthetic/KSValueParameterSyntheticImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/synthetic/KSValueParameterSyntheticImpl.kt index d8f780e8..6e5692b2 100644 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/synthetic/KSValueParameterSyntheticImpl.kt +++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/synthetic/KSValueParameterSyntheticImpl.kt @@ -2,6 +2,7 @@ package com.google.devtools.ksp.symbol.impl.synthetic import com.google.devtools.ksp.ExceptionMessage import com.google.devtools.ksp.KSObjectCache +import com.google.devtools.ksp.processing.impl.KSNameImpl import com.google.devtools.ksp.processing.impl.findAnnotationFromUseSiteTarget import com.google.devtools.ksp.symbol.KSAnnotated import com.google.devtools.ksp.symbol.KSAnnotation @@ -15,7 +16,6 @@ import com.google.devtools.ksp.symbol.NonExistLocation import com.google.devtools.ksp.symbol.Origin import com.google.devtools.ksp.symbol.impl.binary.KSAnnotationDescriptorImpl import com.google.devtools.ksp.symbol.impl.binary.KSTypeReferenceDescriptorImpl -import com.google.devtools.ksp.symbol.impl.kotlin.KSNameImpl import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor import org.jetbrains.kotlin.resolve.calls.components.hasDefaultValue import org.jetbrains.kotlin.resolve.calls.components.isVararg |