From b89353e094cd4155812132e1b5363b9c1c987f6b Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Tue, 5 Jun 2012 14:14:28 +0400 Subject: [PATCH] Added tests for tuple and function types in alternative signatures. --- .../kotlinSignature/MethodWithFunctionTypes.java | 14 ++++++++++++++ .../kotlinSignature/MethodWithFunctionTypes.kt | 9 +++++++++ .../kotlinSignature/MethodWithFunctionTypes.txt | 6 ++++++ .../kotlinSignature/MethodWithTupleType.java | 11 +++++++++++ .../kotlinSignature/MethodWithTupleType.kt | 9 +++++++++ .../kotlinSignature/MethodWithTupleType.txt | 6 ++++++ 6 files changed, 55 insertions(+) create mode 100644 compiler/testData/readJavaBinaryClass/kotlinSignature/MethodWithFunctionTypes.java create mode 100644 compiler/testData/readJavaBinaryClass/kotlinSignature/MethodWithFunctionTypes.kt create mode 100644 compiler/testData/readJavaBinaryClass/kotlinSignature/MethodWithFunctionTypes.txt create mode 100644 compiler/testData/readJavaBinaryClass/kotlinSignature/MethodWithTupleType.java create mode 100644 compiler/testData/readJavaBinaryClass/kotlinSignature/MethodWithTupleType.kt create mode 100644 compiler/testData/readJavaBinaryClass/kotlinSignature/MethodWithTupleType.txt diff --git a/compiler/testData/readJavaBinaryClass/kotlinSignature/MethodWithFunctionTypes.java b/compiler/testData/readJavaBinaryClass/kotlinSignature/MethodWithFunctionTypes.java new file mode 100644 index 00000000000..9a3e70d6196 --- /dev/null +++ b/compiler/testData/readJavaBinaryClass/kotlinSignature/MethodWithFunctionTypes.java @@ -0,0 +1,14 @@ +package test; + +import java.lang.String; +import java.lang.UnsupportedOperationException; +import java.util.*; +import jet.runtime.typeinfo.KotlinSignature; +import jet.*; + +public class MethodWithFunctionTypes { + @KotlinSignature("fun foo(f : (String?) -> String) : (String.() -> String?)?") + public ExtensionFunction0 foo(Function1 f) { + throw new UnsupportedOperationException(); + } +} diff --git a/compiler/testData/readJavaBinaryClass/kotlinSignature/MethodWithFunctionTypes.kt b/compiler/testData/readJavaBinaryClass/kotlinSignature/MethodWithFunctionTypes.kt new file mode 100644 index 00000000000..a18997215c7 --- /dev/null +++ b/compiler/testData/readJavaBinaryClass/kotlinSignature/MethodWithFunctionTypes.kt @@ -0,0 +1,9 @@ +package test + +import java.util.* + +public open class MethodWithFunctionTypes : Object() { + open fun foo(p0 : (String?) -> String) : (String.() -> String?)? { + throw UnsupportedOperationException() + } +} diff --git a/compiler/testData/readJavaBinaryClass/kotlinSignature/MethodWithFunctionTypes.txt b/compiler/testData/readJavaBinaryClass/kotlinSignature/MethodWithFunctionTypes.txt new file mode 100644 index 00000000000..a35db7276fa --- /dev/null +++ b/compiler/testData/readJavaBinaryClass/kotlinSignature/MethodWithFunctionTypes.txt @@ -0,0 +1,6 @@ +namespace test + +open class test.MethodWithFunctionTypes : java.lang.Object { + final /*constructor*/ fun (): test.MethodWithFunctionTypes + open fun foo(/*0*/ p0: jet.Function1): jet.ExtensionFunction0? +} diff --git a/compiler/testData/readJavaBinaryClass/kotlinSignature/MethodWithTupleType.java b/compiler/testData/readJavaBinaryClass/kotlinSignature/MethodWithTupleType.java new file mode 100644 index 00000000000..1c808bf3eaa --- /dev/null +++ b/compiler/testData/readJavaBinaryClass/kotlinSignature/MethodWithTupleType.java @@ -0,0 +1,11 @@ +package test; + +import java.util.*; +import jet.runtime.typeinfo.KotlinSignature; +import jet.*; + +public class MethodWithTupleType { + @KotlinSignature("fun foo(pair : #(String, String?))") + public void foo(Tuple2 pair) { + } +} diff --git a/compiler/testData/readJavaBinaryClass/kotlinSignature/MethodWithTupleType.kt b/compiler/testData/readJavaBinaryClass/kotlinSignature/MethodWithTupleType.kt new file mode 100644 index 00000000000..cf44d0f82b3 --- /dev/null +++ b/compiler/testData/readJavaBinaryClass/kotlinSignature/MethodWithTupleType.kt @@ -0,0 +1,9 @@ +package test + +import java.util.* + +public open class MethodWithTupleType : Object() { + open fun foo(p0 : Tuple2) { // writing Tuple2<..> instead of #(..), because the latter + // adds unnecessary "out" keywords + } +} diff --git a/compiler/testData/readJavaBinaryClass/kotlinSignature/MethodWithTupleType.txt b/compiler/testData/readJavaBinaryClass/kotlinSignature/MethodWithTupleType.txt new file mode 100644 index 00000000000..359e9feee9f --- /dev/null +++ b/compiler/testData/readJavaBinaryClass/kotlinSignature/MethodWithTupleType.txt @@ -0,0 +1,6 @@ +namespace test + +open class test.MethodWithTupleType : java.lang.Object { + final /*constructor*/ fun (): test.MethodWithTupleType + open fun foo(/*0*/ p0: jet.Tuple2): jet.Tuple0 +}