From 7ba073206d0ae012ea04894353443fe58dcab051 Mon Sep 17 00:00:00 2001 From: Mikhail Zarechenskiy Date: Fri, 21 Jul 2017 12:03:21 +0300 Subject: [PATCH] Add test for obsolete issue about SAMs #KT-11951 Obsolete --- .../sam/fakeOverrideFunctionForStaticSam.kt | 20 +++++++++++++ .../sam/fakeOverrideFunctionForStaticSam.txt | 30 +++++++++++++++++++ .../checkers/DiagnosticsTestGenerated.java | 6 ++++ 3 files changed, 56 insertions(+) create mode 100644 compiler/testData/diagnostics/tests/j+k/sam/fakeOverrideFunctionForStaticSam.kt create mode 100644 compiler/testData/diagnostics/tests/j+k/sam/fakeOverrideFunctionForStaticSam.txt diff --git a/compiler/testData/diagnostics/tests/j+k/sam/fakeOverrideFunctionForStaticSam.kt b/compiler/testData/diagnostics/tests/j+k/sam/fakeOverrideFunctionForStaticSam.kt new file mode 100644 index 00000000000..b420ad11efc --- /dev/null +++ b/compiler/testData/diagnostics/tests/j+k/sam/fakeOverrideFunctionForStaticSam.kt @@ -0,0 +1,20 @@ +// FILE: BehaviorSubject.java +public class BehaviorSubject extends Observable { +} + +// FILE: Observable.java + +public class Observable { + public static Observable create(Observable.OnSubscribe f) { + return null; + } + public interface OnSubscribe { + void call(T t); + } +} + +// FILE: 1.kt +fun main(args: Array) { + BehaviorSubject.create(null) + BehaviorSubject.create { } +} \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/j+k/sam/fakeOverrideFunctionForStaticSam.txt b/compiler/testData/diagnostics/tests/j+k/sam/fakeOverrideFunctionForStaticSam.txt new file mode 100644 index 00000000000..926ca7a00fd --- /dev/null +++ b/compiler/testData/diagnostics/tests/j+k/sam/fakeOverrideFunctionForStaticSam.txt @@ -0,0 +1,30 @@ +package + +public fun main(/*0*/ args: kotlin.Array): kotlin.Unit + +public open class BehaviorSubject : Observable { + public constructor BehaviorSubject() + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + + // Static members + public open override /*1*/ /*fake_override*/ fun create(/*0*/ f: Observable.OnSubscribe!): Observable! +} + +public open class Observable { + public constructor Observable() + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + + public interface OnSubscribe { + public abstract fun call(/*0*/ t: T!): kotlin.Unit + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + } + + // Static members + public open fun create(/*0*/ f: Observable.OnSubscribe!): Observable! +} diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java index 6398f5afdc2..29ecbb62283 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java @@ -12621,6 +12621,12 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest { doTest(fileName); } + @TestMetadata("fakeOverrideFunctionForStaticSam.kt") + public void testFakeOverrideFunctionForStaticSam() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/j+k/sam/fakeOverrideFunctionForStaticSam.kt"); + doTest(fileName); + } + @TestMetadata("inheritedStaticSam.kt") public void testInheritedStaticSam() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/j+k/sam/inheritedStaticSam.kt");