From 777f3d1341449409f0bc8d78ae04fd27a8f6244e Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Mon, 16 Jun 2014 22:12:56 +0400 Subject: [PATCH] Codegen tests now fail on JVM-specific errors --- .../testData/codegen/box/controlStructures/kt1441.kt | 2 +- .../dataClasses/equals/alreadyDeclaredWrongSignature.kt | 6 ------ .../tests/org/jetbrains/jet/codegen/CodegenTestUtil.java | 9 +++++++-- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/compiler/testData/codegen/box/controlStructures/kt1441.kt b/compiler/testData/codegen/box/controlStructures/kt1441.kt index bcaa78766c6..914361ba86b 100644 --- a/compiler/testData/codegen/box/controlStructures/kt1441.kt +++ b/compiler/testData/codegen/box/controlStructures/kt1441.kt @@ -1,7 +1,7 @@ class Foo { var rnd = 10 - public fun equals(that : Any) : Boolean = that is Foo && (that.rnd == rnd) + public override fun equals(that : Any?) : Boolean = that is Foo && (that.rnd == rnd) } fun box() : String { diff --git a/compiler/testData/codegen/boxWithStdlib/dataClasses/equals/alreadyDeclaredWrongSignature.kt b/compiler/testData/codegen/boxWithStdlib/dataClasses/equals/alreadyDeclaredWrongSignature.kt index 23dfbcdf820..33b3b7a2827 100644 --- a/compiler/testData/codegen/boxWithStdlib/dataClasses/equals/alreadyDeclaredWrongSignature.kt +++ b/compiler/testData/codegen/boxWithStdlib/dataClasses/equals/alreadyDeclaredWrongSignature.kt @@ -1,7 +1,3 @@ -data class A(val x: Int) { - fun equals(other: Any): Boolean = false -} - data class B(val x: Int) { fun equals(other: B): Boolean = false } @@ -20,8 +16,6 @@ data class E(val x: Int) { } fun box(): String { - javaClass().getDeclaredMethod("equals", javaClass()) - javaClass().getDeclaredMethod("equals", javaClass()) javaClass().getDeclaredMethod("equals", javaClass()) diff --git a/compiler/tests/org/jetbrains/jet/codegen/CodegenTestUtil.java b/compiler/tests/org/jetbrains/jet/codegen/CodegenTestUtil.java index 8a6271de0c5..368261974d4 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/CodegenTestUtil.java +++ b/compiler/tests/org/jetbrains/jet/codegen/CodegenTestUtil.java @@ -30,8 +30,8 @@ import org.jetbrains.jet.codegen.inline.InlineCodegenUtil; import org.jetbrains.jet.codegen.state.GenerationState; import org.jetbrains.jet.codegen.state.Progress; import org.jetbrains.jet.config.CompilerConfiguration; -import org.jetbrains.jet.lang.diagnostics.DiagnosticHolder; import org.jetbrains.jet.lang.resolve.AnalyzingUtils; +import org.jetbrains.jet.lang.resolve.BindingTraceContext; import org.jetbrains.jet.lang.resolve.lazy.JvmResolveUtil; import org.jetbrains.jet.utils.UtilsPackage; @@ -57,6 +57,7 @@ public class CodegenTestUtil { analyzeExhaust.throwIfError(); AnalyzingUtils.throwExceptionOnErrors(analyzeExhaust.getBindingContext()); CompilerConfiguration configuration = environment.getConfiguration(); + BindingTraceContext forExtraDiagnostics = new BindingTraceContext(); GenerationState state = new GenerationState( environment.getProject(), ClassBuilderFactories.TEST, Progress.DEAF, analyzeExhaust.getModuleDescriptor(), analyzeExhaust.getBindingContext(), files.getPsiFiles(), @@ -66,9 +67,13 @@ public class CodegenTestUtil { configuration.get(JVMConfigurationKeys.ENABLE_INLINE, InlineCodegenUtil.DEFAULT_INLINE_FLAG), null, null, - DiagnosticHolder.DO_NOTHING + forExtraDiagnostics ); KotlinCodegenFacade.compileCorrectFiles(state, CompilationErrorHandler.THROW_EXCEPTION); + + // For JVM-specific errors + AnalyzingUtils.throwExceptionOnErrors(forExtraDiagnostics.getBindingContext()); + return state.getFactory(); }