[lombok] Introduce synthetic constructors generation
This commit is contained in:
committed by
TeamCityServer
parent
e0216cc9f4
commit
e9a33e0335
+2
@@ -99,6 +99,8 @@ class LazyJavaClassMemberScope(
|
||||
}
|
||||
}
|
||||
|
||||
c.components.syntheticPartsProvider.generateSyntheticConstructors(ownerDescriptor, result)
|
||||
|
||||
c.components.signatureEnhancement.enhanceSignatures(
|
||||
c,
|
||||
result.ifEmpty { listOfNotNull(createDefaultConstructor()) }
|
||||
|
||||
+10
-1
@@ -5,6 +5,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.resolve.jvm
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.ClassConstructorDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.SimpleFunctionDescriptor
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
@@ -23,6 +24,8 @@ interface SyntheticJavaPartsProvider {
|
||||
result: MutableCollection<SimpleFunctionDescriptor>
|
||||
)
|
||||
|
||||
fun generateSyntheticConstructors(thisDescriptor: ClassDescriptor, result: MutableList<ClassConstructorDescriptor>)
|
||||
|
||||
}
|
||||
|
||||
class CompositeSyntheticJavaPartsProvider(private val inner: List<SyntheticJavaPartsProvider>) : SyntheticJavaPartsProvider {
|
||||
@@ -33,5 +36,11 @@ class CompositeSyntheticJavaPartsProvider(private val inner: List<SyntheticJavaP
|
||||
thisDescriptor: ClassDescriptor,
|
||||
name: Name,
|
||||
result: MutableCollection<SimpleFunctionDescriptor>
|
||||
) = inner.forEach { it.generateSyntheticMethods(thisDescriptor, name, result) }
|
||||
) {
|
||||
inner.forEach { it.generateSyntheticMethods(thisDescriptor, name, result) }
|
||||
}
|
||||
|
||||
override fun generateSyntheticConstructors(thisDescriptor: ClassDescriptor, result: MutableList<ClassConstructorDescriptor>) {
|
||||
inner.forEach { it.generateSyntheticConstructors(thisDescriptor, result) }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user