Reorganize TypeAttributeTranslatorExtension

This commit is contained in:
Irene Dea
2021-11-23 15:46:12 -08:00
committed by Dmitriy Novozhilov
parent 19bfc43bee
commit 374d287d08
11 changed files with 39 additions and 35 deletions
-1
View File
@@ -10,7 +10,6 @@ dependencies {
api(project(":core:util.runtime"))
api(kotlinStdlib())
api(project(":kotlin-annotations-jvm"))
compileOnly(intellijCoreDep()) { includeJars("intellij-core") }
}
sourceSets {
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.types
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import org.jetbrains.kotlin.descriptors.annotations.Annotations
import org.jetbrains.kotlin.name.FqName
interface TypeAttributeTranslator {
fun toAttributes(
@@ -5,23 +5,11 @@
package org.jetbrains.kotlin.types.extensions
import com.intellij.openapi.project.Project
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import org.jetbrains.kotlin.descriptors.annotations.Annotations
import org.jetbrains.kotlin.extensions.ProjectExtensionDescriptor
import org.jetbrains.kotlin.types.*
interface TypeAttributeTranslatorExtension : TypeAttributeTranslator
class TypeAttributeTranslatorsForInjection(project: Project) {
val translators: List<TypeAttributeTranslator> = TypeAttributeTranslators(project).translators
}
class TypeAttributeTranslators private constructor(val translators: List<TypeAttributeTranslator>) {
constructor(project: Project) : this(getInstances(project) + DefaultTypeAttributeTranslator)
class TypeAttributeTranslators(val translators: List<TypeAttributeTranslator>) {
fun toAttributes(
annotations: Annotations,
typeConstructor: TypeConstructor,
@@ -39,12 +27,4 @@ class TypeAttributeTranslators private constructor(val translators: List<TypeAtt
}.flatten()
return Annotations.create(translated)
}
companion object :
ProjectExtensionDescriptor<TypeAttributeTranslatorExtension>(
"org.jetbrains.kotlin.extensions.typeAttribute",
TypeAttributeTranslatorExtension::class.java
) {
val Default = TypeAttributeTranslators(listOf(DefaultTypeAttributeTranslator))
}
}