From d4854c22c4d1607d11df9de2f97930914b8b8d00 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Fri, 11 Jan 2013 15:31:47 +0400 Subject: [PATCH] A test for K-J-K inheritance --- .../diagnostics/tests/j+k/KJKInheritance.kt | 18 ++++++++++++++++++ ...bstractDiagnosticsTestWithEagerResolve.java | 8 ++++++-- .../checkers/JetDiagnosticsTestGenerated.java | 5 +++++ 3 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 compiler/testData/diagnostics/tests/j+k/KJKInheritance.kt diff --git a/compiler/testData/diagnostics/tests/j+k/KJKInheritance.kt b/compiler/testData/diagnostics/tests/j+k/KJKInheritance.kt new file mode 100644 index 00000000000..dc8ab1f5d86 --- /dev/null +++ b/compiler/testData/diagnostics/tests/j+k/KJKInheritance.kt @@ -0,0 +1,18 @@ +// FILE: K1.kt +open class KFirst() { + fun foo() { + } +} + +// FILE: J1.java +public class J1 extends KFirst { + void baz() {} +} + +// FILE: K2.kt +class K2: J1() { + fun bar() { + foo() + baz() + } +} \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/jet/checkers/AbstractDiagnosticsTestWithEagerResolve.java b/compiler/tests/org/jetbrains/jet/checkers/AbstractDiagnosticsTestWithEagerResolve.java index 217fa0eef41..a918066c3f2 100644 --- a/compiler/tests/org/jetbrains/jet/checkers/AbstractDiagnosticsTestWithEagerResolve.java +++ b/compiler/tests/org/jetbrains/jet/checkers/AbstractDiagnosticsTestWithEagerResolve.java @@ -18,9 +18,11 @@ package org.jetbrains.jet.checkers; import com.google.common.base.Predicates; import com.intellij.psi.PsiFile; +import org.jetbrains.jet.cli.jvm.compiler.CliLightClassGenerationSupport; import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.resolve.AnalyzerScriptParameter; import org.jetbrains.jet.lang.resolve.BindingContext; +import org.jetbrains.jet.lang.resolve.BindingTrace; import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM; import java.io.File; @@ -33,9 +35,11 @@ public abstract class AbstractDiagnosticsTestWithEagerResolve extends AbstractJe protected void analyzeAndCheck(File testDataFile, String expectedText, List testFiles) { List jetFiles = getJetFiles(testFiles); + BindingTrace trace = CliLightClassGenerationSupport.getInstanceForCli(getProject()).getTrace(); + BindingContext bindingContext = AnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration( - getProject(), jetFiles, Collections.emptyList(), - Predicates.alwaysTrue()).getBindingContext(); + getProject(), jetFiles, trace, + Collections.emptyList(), Predicates.alwaysTrue(), false).getBindingContext(); boolean ok = true; diff --git a/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java b/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java index 66fe290258e..253659217d2 100644 --- a/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java +++ b/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java @@ -2401,6 +2401,11 @@ public class JetDiagnosticsTestGenerated extends AbstractDiagnosticsTestWithEage doTest("compiler/testData/diagnostics/tests/j+k/innerNestedClassFromJava.kt"); } + @TestMetadata("KJKInheritance.kt") + public void testKJKInheritance() throws Exception { + doTest("compiler/testData/diagnostics/tests/j+k/KJKInheritance.kt"); + } + @TestMetadata("kt1402.kt") public void testKt1402() throws Exception { doTest("compiler/testData/diagnostics/tests/j+k/kt1402.kt");