Introduce fictitious numbered Function class descriptors

This commit is contained in:
Alexander Udalov
2015-04-16 17:58:18 +03:00
parent 27ed098467
commit 4141e0a8df
32 changed files with 807 additions and 70 deletions
@@ -4,11 +4,11 @@ import java.lang.String;
import java.lang.UnsupportedOperationException;
import java.util.*;
import jet.runtime.typeinfo.KotlinSignature;
import kotlin.*;
import kotlin.jvm.functions.*;
public class MethodWithFunctionTypes {
@KotlinSignature("fun foo(f : (String?) -> String) : (String.() -> String?)?")
public ExtensionFunction0<String, String> foo(Function1<String, String> f) {
@KotlinSignature("fun foo(f : (String?) -> String) : (() -> String?)?")
public Function0<String> foo(Function1<String, String> f) {
throw new UnsupportedOperationException();
}
}
@@ -2,5 +2,5 @@ package test
public open class MethodWithFunctionTypes {
public constructor MethodWithFunctionTypes()
public open fun foo(/*0*/ f: ((kotlin.String!) -> kotlin.String!)!): (kotlin.String!.() -> kotlin.String!)!
public open fun foo(/*0*/ f: ((kotlin.String!) -> kotlin.String!)!): (() -> kotlin.String!)!
}
@@ -2,7 +2,7 @@ package test;
public interface AdapterDoesntOverrideDeclaration {
public interface Super {
void foo(kotlin.Function0<kotlin.Unit> r);
void foo(kotlin.jvm.functions.Function0<kotlin.Unit> r);
}
public interface Sub extends Super {
@@ -3,7 +3,7 @@ package test;
public interface InheritedAdapterAndDeclaration {
public interface Super {
void foo(Runnable r);
void foo(kotlin.Function0<kotlin.Unit> r);
void foo(kotlin.jvm.functions.Function0<kotlin.Unit> r);
}
public interface Sub extends Super {
@@ -7,7 +7,7 @@ public interface InheritedOverriddenAdapter {
}
public class Sub extends Super {
public void foo(kotlin.Function0<kotlin.Unit> r) {
public void foo(kotlin.jvm.functions.Function0<kotlin.Unit> r) {
}
}
}
@@ -9,6 +9,6 @@ public interface OverriddenAmbiguousAdapters {
}
public interface Sub extends Super {
void foo(kotlin.Function0<kotlin.Unit> r);
void foo(kotlin.jvm.functions.Function0<kotlin.Unit> r);
}
}