[Lombok] Support RawTypes in fields wtih @Singular in K2 version
^KT-53657 Fixed
This commit is contained in:
committed by
teamcity
parent
06119a4670
commit
a78d43c1ec
+8
-6
@@ -186,9 +186,11 @@ class BuilderGenerator(session: FirSession) : FirDeclarationGenerationExtension(
|
||||
val addMultipleParameterType: FirTypeRef
|
||||
val valueParameters: List<ConeLombokValueParameter>
|
||||
|
||||
val fallbackParameterType = DummyJavaClassType.ObjectType.takeIf { javaClassifierType.isRaw }
|
||||
|
||||
when (typeName) {
|
||||
in LombokNames.SUPPORTED_COLLECTIONS -> {
|
||||
val parameterType = javaClassifierType.parameterType(0) ?: return
|
||||
val parameterType = javaClassifierType.parameterType(0) ?: fallbackParameterType ?: return
|
||||
valueParameters = listOf(
|
||||
ConeLombokValueParameter(nameInSingularForm, parameterType.toRef())
|
||||
)
|
||||
@@ -204,8 +206,8 @@ class BuilderGenerator(session: FirSession) : FirDeclarationGenerationExtension(
|
||||
}
|
||||
|
||||
in LombokNames.SUPPORTED_MAPS -> {
|
||||
val keyType = javaClassifierType.parameterType(0) ?: return
|
||||
val valueType = javaClassifierType.parameterType(1) ?: return
|
||||
val keyType = javaClassifierType.parameterType(0) ?: fallbackParameterType ?: return
|
||||
val valueType = javaClassifierType.parameterType(1) ?: fallbackParameterType ?: return
|
||||
valueParameters = listOf(
|
||||
ConeLombokValueParameter(Name.identifier("key"), keyType.toRef()),
|
||||
ConeLombokValueParameter(Name.identifier("value"), valueType.toRef()),
|
||||
@@ -217,9 +219,9 @@ class BuilderGenerator(session: FirSession) : FirDeclarationGenerationExtension(
|
||||
}
|
||||
|
||||
in LombokNames.SUPPORTED_TABLES -> {
|
||||
val rowKeyType = javaClassifierType.parameterType(0) ?: return
|
||||
val columnKeyType = javaClassifierType.parameterType(1) ?: return
|
||||
val valueType = javaClassifierType.parameterType(2) ?: return
|
||||
val rowKeyType = javaClassifierType.parameterType(0) ?: fallbackParameterType ?: return
|
||||
val columnKeyType = javaClassifierType.parameterType(1) ?: fallbackParameterType ?: return
|
||||
val valueType = javaClassifierType.parameterType(2) ?: fallbackParameterType ?: return
|
||||
|
||||
valueParameters = listOf(
|
||||
ConeLombokValueParameter(Name.identifier("rowKey"), rowKeyType.toRef()),
|
||||
|
||||
@@ -12,6 +12,7 @@ import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
object JavaClasses {
|
||||
val Object = DummyJavaClass("Object", javaLangName("Object"), numberOfTypeParameters = 0)
|
||||
val Iterable = DummyJavaClass("Iterable", javaLangName("Iterable"), numberOfTypeParameters = 1)
|
||||
val Collection = DummyJavaClass("Collection", javaUtilName("Collection"), numberOfTypeParameters = 1)
|
||||
val Map = DummyJavaClass("Map", javaUtilName("Map"), numberOfTypeParameters = 2)
|
||||
|
||||
@@ -90,6 +90,10 @@ class DummyJavaClassType(
|
||||
override val classifier: JavaClass,
|
||||
override val typeArguments: List<JavaType?>
|
||||
) : JavaClassifierType {
|
||||
companion object {
|
||||
val ObjectType = DummyJavaClassType(JavaClasses.Object, typeArguments = emptyList())
|
||||
}
|
||||
|
||||
override val annotations: Collection<JavaAnnotation>
|
||||
get() = emptyList()
|
||||
override val isDeprecatedInJavaDoc: Boolean
|
||||
|
||||
Reference in New Issue
Block a user