From b728ba2b1ec38e74e0e37ae5d43a90532d67c435 Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Mon, 27 Oct 2014 16:42:37 +0300 Subject: [PATCH] Test function types in decompiler --- .../decompiledText/FunctionTypes.expected.kt | 14 ++++++++++++++ .../FunctionTypes/FunctionTypes.kt | 17 +++++++++++++++++ .../libraries/DecompiledTextTestGenerated.java | 6 ++++++ 3 files changed, 37 insertions(+) create mode 100644 idea/testData/libraries/decompiledText/FunctionTypes.expected.kt create mode 100644 idea/testData/libraries/decompiledText/FunctionTypes/FunctionTypes.kt diff --git a/idea/testData/libraries/decompiledText/FunctionTypes.expected.kt b/idea/testData/libraries/decompiledText/FunctionTypes.expected.kt new file mode 100644 index 00000000000..80702157b78 --- /dev/null +++ b/idea/testData/libraries/decompiledText/FunctionTypes.expected.kt @@ -0,0 +1,14 @@ +// IntelliJ API Decompiler stub source generated from a class file +// Implementation of methods is not available + +package test + +internal final class FunctionTypes() { + public final fun (A.(A) -> A)?.bar(): kotlin.Unit { /* compiled code */ } + + public final fun ((IP) -> R).compose(f: (P1) -> IP): (P1) -> R { /* compiled code */ } + + public final fun ((IP) -> R).compose2(f: (P1) -> IP): (P1) -> R { /* compiled code */ } + + public final fun (A.(A) -> A).foo(): kotlin.Unit { /* compiled code */ } +} \ No newline at end of file diff --git a/idea/testData/libraries/decompiledText/FunctionTypes/FunctionTypes.kt b/idea/testData/libraries/decompiledText/FunctionTypes/FunctionTypes.kt new file mode 100644 index 00000000000..412698caf73 --- /dev/null +++ b/idea/testData/libraries/decompiledText/FunctionTypes/FunctionTypes.kt @@ -0,0 +1,17 @@ +package test + +class FunctionTypes { + public fun Function1.compose(f: (P1) -> IP): (P1) -> R { + return {(p1: P1) -> this(f(p1)) } + } + + public fun ((IP) -> R).compose2(f: (P1) -> IP) : (P1) -> R { + return {(p1: P1) -> this(f(p1)) } + } + + public fun (A.(A) -> A).foo() { + } + + public fun (A.(A) -> A)?.bar() { + } +} diff --git a/idea/tests/org/jetbrains/jet/plugin/libraries/DecompiledTextTestGenerated.java b/idea/tests/org/jetbrains/jet/plugin/libraries/DecompiledTextTestGenerated.java index 86c3efdbca4..673d0ed182b 100644 --- a/idea/tests/org/jetbrains/jet/plugin/libraries/DecompiledTextTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/plugin/libraries/DecompiledTextTestGenerated.java @@ -61,6 +61,12 @@ public class DecompiledTextTestGenerated extends AbstractDecompiledTextTest { doTest(fileName); } + @TestMetadata("FunctionTypes") + public void testFunctionTypes() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/libraries/decompiledText/FunctionTypes/"); + doTest(fileName); + } + @TestMetadata("NestedClasses") public void testNestedClasses() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/libraries/decompiledText/NestedClasses/");