diff --git a/compiler/testData/diagnostics/tests/inline/sam.kt b/compiler/testData/diagnostics/tests/inline/sam.kt new file mode 100644 index 00000000000..5704f82ab31 --- /dev/null +++ b/compiler/testData/diagnostics/tests/inline/sam.kt @@ -0,0 +1,57 @@ +// FILE: Run.java +public interface Run { + public int run(); +} + + +// FILE: Test.java +public class Test { + public void test(Run r) { + + } +} + +// FILE: test.kt +inline fun inlineFunWithInvoke(s: (p: Int) -> Unit, ext: Int.(p: Int) -> Unit) { + Test().test(){ + s(11) + s.invoke(11) + s invoke 11 + + 11.ext(11) + 11 ext 11 + + s + ext + 11 + } +} + +inline fun inlineFunWithInvokeNonInline(noinline s: (p: Int) -> Unit, ext: Int.(p: Int) -> Unit) { + Test().test(){ + s(11) + s.invoke(11) + s invoke 11 + + 11.ext(11) + 11 ext 11 + + s + ext + + 11 + } +} + +inline fun Function1.inlineExt() { + Test().test(){ + invoke(11) + this.invoke(11) + this invoke 11 + this(11) + + this + + 11 + } +} \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java b/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java index 18acb1a1662..99c56cffe7d 100644 --- a/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java +++ b/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java @@ -3832,6 +3832,11 @@ public class JetDiagnosticsTestGenerated extends AbstractDiagnosticsTestWithEage doTest("compiler/testData/diagnostics/tests/inline/returns.kt"); } + @TestMetadata("sam.kt") + public void testSam() throws Exception { + doTest("compiler/testData/diagnostics/tests/inline/sam.kt"); + } + @TestMetadata("typed.kt") public void testTyped() throws Exception { doTest("compiler/testData/diagnostics/tests/inline/typed.kt");