A test for K-J-K inheritance
This commit is contained in:
@@ -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()
|
||||
}
|
||||
}
|
||||
+6
-2
@@ -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<TestFile> testFiles) {
|
||||
List<JetFile> jetFiles = getJetFiles(testFiles);
|
||||
|
||||
BindingTrace trace = CliLightClassGenerationSupport.getInstanceForCli(getProject()).getTrace();
|
||||
|
||||
BindingContext bindingContext = AnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(
|
||||
getProject(), jetFiles, Collections.<AnalyzerScriptParameter>emptyList(),
|
||||
Predicates.<PsiFile>alwaysTrue()).getBindingContext();
|
||||
getProject(), jetFiles, trace,
|
||||
Collections.<AnalyzerScriptParameter>emptyList(), Predicates.<PsiFile>alwaysTrue(), false).getBindingContext();
|
||||
|
||||
boolean ok = true;
|
||||
|
||||
|
||||
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user