From a26f4f92037b9b43797e45f9997baf055da80f8c Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Fri, 6 Jun 2014 22:56:27 +0400 Subject: [PATCH] Avoid failing on error types when enumerating all signatures --- ...s.kt => BuilderFactoryForDuplicateSignatureDiagnostics.kt} | 4 +++- .../src/org/jetbrains/jet/codegen/state/GenerationState.java | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) rename compiler/backend/src/org/jetbrains/jet/codegen/state/{BuilderfactoryForDuplicateSignatureDiagnostics.kt => BuilderFactoryForDuplicateSignatureDiagnostics.kt} (97%) diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/state/BuilderfactoryForDuplicateSignatureDiagnostics.kt b/compiler/backend/src/org/jetbrains/jet/codegen/state/BuilderFactoryForDuplicateSignatureDiagnostics.kt similarity index 97% rename from compiler/backend/src/org/jetbrains/jet/codegen/state/BuilderfactoryForDuplicateSignatureDiagnostics.kt rename to compiler/backend/src/org/jetbrains/jet/codegen/state/BuilderFactoryForDuplicateSignatureDiagnostics.kt index 935ab599a2f..0c2512666e7 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/state/BuilderfactoryForDuplicateSignatureDiagnostics.kt +++ b/compiler/backend/src/org/jetbrains/jet/codegen/state/BuilderFactoryForDuplicateSignatureDiagnostics.kt @@ -34,11 +34,13 @@ import org.jetbrains.jet.lang.resolve.java.descriptor.SamAdapterDescriptor class BuilderFactoryForDuplicateSignatureDiagnostics( builderFactory: ClassBuilderFactory, - private val typeMapper: JetTypeMapper, private val bindingContext: BindingContext, private val diagnostics: DiagnosticHolder ) : SignatureCollectingClassBuilderFactory(builderFactory) { + // Avoid errors when some classes are not loaded for some reason + private val typeMapper = JetTypeMapper(bindingContext, ClassBuilderMode.LIGHT_CLASSES) + override fun handleClashingSignatures(data: ConflictingJvmDeclarationsData) { val allDelegatedToTraitImpls = data.signatureOrigins.all { it.originKind == JvmDeclarationOriginKind.DELEGATION_TO_TRAIT_IMPL } diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/state/GenerationState.java b/compiler/backend/src/org/jetbrains/jet/codegen/state/GenerationState.java index 0e2c2ab9add..ae7bedf5c3d 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/state/GenerationState.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/state/GenerationState.java @@ -146,7 +146,7 @@ public class GenerationState { this.intrinsics = new IntrinsicMethods(); this.classFileFactory = new ClassFileFactory(this, new BuilderFactoryForDuplicateSignatureDiagnostics( - builderFactory, typeMapper, bindingContext, diagnostics)); + builderFactory, this.bindingContext, diagnostics)); this.generateNotNullAssertions = generateNotNullAssertions; this.generateNotNullParamAssertions = generateNotNullParamAssertions;