diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/signature/KotlinToJvmSignatureMapperImpl.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/signature/KotlinToJvmSignatureMapperImpl.kt index c657bfbb8bc..566c2eda60d 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/signature/KotlinToJvmSignatureMapperImpl.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/signature/KotlinToJvmSignatureMapperImpl.kt @@ -28,7 +28,7 @@ import org.jetbrains.kotlin.resolve.jvm.jvmSignature.KotlinToJvmSignatureMapper class KotlinToJvmSignatureMapperImpl : KotlinToJvmSignatureMapper { // We use empty BindingContext, because it is only used by KotlinTypeMapper for purposes irrelevant to the needs of this class private val typeMapper = KotlinTypeMapper(BindingContext.EMPTY, ClassBuilderMode.LIGHT_CLASSES, NoResolveFileClassesProvider, null, - IncompatibleClassTracker.DoNothing, JvmAbi.DEFAULT_MODULE_NAME) + IncompatibleClassTracker.DoNothing, JvmAbi.DEFAULT_MODULE_NAME, null) override fun mapToJvmMethodSignature(function: FunctionDescriptor) = typeMapper.mapAsmMethod(function) } diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/BuilderFactoryForDuplicateSignatureDiagnostics.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/BuilderFactoryForDuplicateSignatureDiagnostics.kt index 01810ef2120..1eee0a42f6c 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/BuilderFactoryForDuplicateSignatureDiagnostics.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/BuilderFactoryForDuplicateSignatureDiagnostics.kt @@ -63,7 +63,7 @@ class BuilderFactoryForDuplicateSignatureDiagnostics( // Avoid errors when some classes are not loaded for some reason private val typeMapper = KotlinTypeMapper(bindingContext, ClassBuilderMode.LIGHT_CLASSES, fileClassesProvider, incrementalCache, - IncompatibleClassTracker.DoNothing, moduleName) + IncompatibleClassTracker.DoNothing, moduleName, null) private val reportDiagnosticsTasks = ArrayList<() -> Unit>() fun reportDiagnostics() { diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/GenerationState.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/GenerationState.kt index f3ed077c14d..eea81b46835 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/GenerationState.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/GenerationState.kt @@ -130,7 +130,7 @@ class GenerationState @JvmOverloads constructor( val bindingContext: BindingContext = bindingTrace.bindingContext val typeMapper: KotlinTypeMapper = KotlinTypeMapper( this.bindingContext, classBuilderMode, fileClassesProvider, incrementalCacheForThisTarget, - IncompatibleClassTrackerImpl(extraJvmDiagnosticsTrace), this.moduleName + IncompatibleClassTrackerImpl(extraJvmDiagnosticsTrace), this.moduleName, this ) val intrinsics: IntrinsicMethods = IntrinsicMethods() val samWrapperClasses: SamWrapperClasses = SamWrapperClasses(this) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/KotlinTypeMapper.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/KotlinTypeMapper.java index 97fad151398..b1f08a84346 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/KotlinTypeMapper.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/KotlinTypeMapper.java @@ -99,6 +99,7 @@ public class KotlinTypeMapper { private final IncrementalCache incrementalCache; private final IncompatibleClassTracker incompatibleClassTracker; private final String moduleName; + @Nullable private GenerationState state; private final TypeMappingConfiguration typeMappingConfiguration = new TypeMappingConfiguration() { @NotNull @Override @@ -126,7 +127,8 @@ public class KotlinTypeMapper { @NotNull JvmFileClassesProvider fileClassesProvider, @Nullable IncrementalCache incrementalCache, @NotNull IncompatibleClassTracker incompatibleClassTracker, - @NotNull String moduleName + @NotNull String moduleName, + @Nullable GenerationState state ) { this.bindingContext = bindingContext; this.classBuilderMode = classBuilderMode; @@ -134,6 +136,7 @@ public class KotlinTypeMapper { this.incrementalCache = incrementalCache; this.incompatibleClassTracker = incompatibleClassTracker; this.moduleName = moduleName; + this.state = state; } @NotNull diff --git a/plugins/annotation-processing/src/org/jetbrains/kotlin/annotation/processing/AnnotationProcessingExtension.kt b/plugins/annotation-processing/src/org/jetbrains/kotlin/annotation/processing/AnnotationProcessingExtension.kt index 8a1f43b65b1..5a4375062b9 100755 --- a/plugins/annotation-processing/src/org/jetbrains/kotlin/annotation/processing/AnnotationProcessingExtension.kt +++ b/plugins/annotation-processing/src/org/jetbrains/kotlin/annotation/processing/AnnotationProcessingExtension.kt @@ -161,7 +161,7 @@ abstract class AbstractAnnotationProcessingExtension( private fun KotlinProcessingEnvironment.createTypeMapper(): KotlinTypeMapper { return KotlinTypeMapper(bindingContext, ClassBuilderMode.full(false), NoResolveFileClassesProvider, - null, IncompatibleClassTracker.DoNothing, JvmAbi.DEFAULT_MODULE_NAME) + null, IncompatibleClassTracker.DoNothing, JvmAbi.DEFAULT_MODULE_NAME, null) } private fun KotlinProcessingEnvironment.doAnnotationProcessing(files: Collection): ProcessingResult { diff --git a/plugins/uast-kotlin/src/org/jetbrains/kotlin/uast/declarations/KotlinUClass.kt b/plugins/uast-kotlin/src/org/jetbrains/kotlin/uast/declarations/KotlinUClass.kt index 884f4b1c5b8..201015555e9 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/kotlin/uast/declarations/KotlinUClass.kt +++ b/plugins/uast-kotlin/src/org/jetbrains/kotlin/uast/declarations/KotlinUClass.kt @@ -76,7 +76,7 @@ class KotlinUClass( override val internalName by lz { val descriptor = resolveToDescriptor() ?: return@lz null val typeMapper = KotlinTypeMapper(BindingContext.EMPTY, ClassBuilderMode.LIGHT_CLASSES, NoResolveFileClassesProvider, null, - IncompatibleClassTracker.DoNothing, JvmAbi.DEFAULT_MODULE_NAME) + IncompatibleClassTracker.DoNothing, JvmAbi.DEFAULT_MODULE_NAME, null) typeMapper.mapClass(descriptor).internalName } diff --git a/plugins/uast-kotlin/src/org/jetbrains/kotlin/uast/declarations/kotlinUFunctions.kt b/plugins/uast-kotlin/src/org/jetbrains/kotlin/uast/declarations/kotlinUFunctions.kt index 867687d5498..a11d44a9d92 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/kotlin/uast/declarations/kotlinUFunctions.kt +++ b/plugins/uast-kotlin/src/org/jetbrains/kotlin/uast/declarations/kotlinUFunctions.kt @@ -67,7 +67,7 @@ abstract class KotlinAbstractUFunction : KotlinAbstractUElement(), UFunction, Ps } val typeMapper = KotlinTypeMapper(BindingContext.EMPTY, ClassBuilderMode.LIGHT_CLASSES, NoResolveFileClassesProvider, null, - IncompatibleClassTracker.DoNothing, JvmAbi.DEFAULT_MODULE_NAME) + IncompatibleClassTracker.DoNothing, JvmAbi.DEFAULT_MODULE_NAME, null) typeMapper.mapAsmMethod(descriptor).descriptor }