Kapt3: Parse generic signatures of methods and fields

This commit is contained in:
Yan Zhulanow
2016-10-28 05:24:47 +03:00
committed by Yan Zhulanow
parent efd25de13f
commit 5b780ec56c
8 changed files with 220 additions and 38 deletions
+2 -2
View File
@@ -31,9 +31,9 @@ public abstract @interface Anno2 {
public abstract Colors[] colors() default {Colors.BLACK, Colors.WHITE};
public abstract java.lang.Class clazz();
public abstract java.lang.Class<?> clazz();
public abstract java.lang.Class[] classes();
public abstract java.lang.Class<?>[] classes();
}
////////////////////
+4 -5
View File
@@ -1,11 +1,10 @@
public final class FunctionsTest {
public final kotlin.reflect.KProperty1 f() {
public final kotlin.reflect.KProperty1<java.lang.String, java.lang.Integer> f() {
return null;
}
public final kotlin.jvm.functions.Function2 f2() {
public final kotlin.jvm.functions.Function2<java.lang.Integer, java.lang.Integer, java.lang.Boolean> f2() {
return null;
}
@@ -19,4 +18,4 @@ public final class FunctionsTest {
public FunctionsTest() {
super();
}
}
}
+8 -1
View File
@@ -5,4 +5,11 @@ interface Intf<I1, I2 : Serializable>
interface Intf2<out T : List<String>, M : T>
interface OtherIntf<O : CharSequence>
open class BaseClass<B : Any>
class MyClass<M1, M2> : Intf<Any, java.util.Date>, OtherIntf<String>, BaseClass<RuntimeException>()
class MyClass<M1, M2> : Intf<Any, java.util.Date>, OtherIntf<String>, BaseClass<RuntimeException>() {
val fld: List<Map<String, M1>>? = null
}
interface ABC {
fun <T : CharSequence> abc(item: T, items: List<T>, vararg otherItems: T): List<T>
fun <X> bcd(vararg a: Char): Int
}
+15
View File
@@ -27,8 +27,23 @@ public class BaseClass<B extends java.lang.Object> {
public final class MyClass<M1 extends java.lang.Object, M2 extends java.lang.Object> extends BaseClass<java.lang.RuntimeException> implements Intf<java.lang.Object, java.util.Date>, OtherIntf<java.lang.String> {
private final java.util.List<java.util.Map<java.lang.String, M1>> fld = null;
public final java.util.List<java.util.Map<java.lang.String, M1>> getFld() {
return null;
}
public MyClass() {
super();
}
}
////////////////////
public abstract interface ABC {
public abstract <T extends java.lang.CharSequence>java.util.List<T> abc(T item, java.util.List<? extends T> items, T... otherItems);
public abstract <X extends java.lang.Object>int bcd(char... a);
}
+1 -1
View File
@@ -20,7 +20,7 @@ public final class Test {
public final class Inner {
public Inner(Test $outer) {
public Inner() {
super();
}
}