Uast: the returnType support for light methods for reified functions (KT-35610)

This commit is contained in:
Nicolay Mitropolsky
2020-01-08 15:26:42 +03:00
parent c04ba009e6
commit ed4e73c8e9
7 changed files with 80 additions and 18 deletions
+1 -1
View File
@@ -5,6 +5,6 @@ public final class Test {
}
public fun Test() = UastEmptyExpression
@kotlin.Deprecated(level = DeprecationLevel.HIDDEN, message = "nothing")
fun test2() {
fun test2() : void {
}
}
+4 -4
View File
@@ -4,8 +4,8 @@ public final class ReifiedKt {
public static final fun systemService2(@org.jetbrains.annotations.NotNull $this$systemService2: test.pkg.Context) : error.NonExistentClass {
return <anonymous class>(java.lang.String.java)
}
fun systemService1() {
return <anonymous class>(java.lang.Object.java)
fun systemService1() : <ErrorType> {
return <anonymous class>(T.java)
}
}
@@ -14,7 +14,7 @@ public final class Context {
return <anonymous class>(java.lang.String.java)
}
public fun Context() = UastEmptyExpression
fun ownSystemService1() {
return <anonymous class>(java.lang.Object.java)
fun ownSystemService1() : <ErrorType> {
return <anonymous class>(T.java)
}
}
+11
View File
@@ -0,0 +1,11 @@
inline fun <T> function1(t: T) {}
inline fun <T> function2(t: T): T = t
inline fun <reified T> function3(t: T) {}
inline fun <reified T> function4(t: T): T = t
inline fun <reified T> function5(t: T): Int = 42
inline fun <reified T : Activity> T.function6(t: T): T = t
inline fun <reified T> function7(t: T): T = t
private inline fun <reified T> function8(t: T): T = t
internal inline fun <reified T> function9(t: T): T = t
public inline fun <reified T> function10(t: T): T = t
inline fun <reified T> T.function11(t: T): T = t
+1 -1
View File
@@ -11,7 +11,7 @@ public final class Context {
return suspendPrivate()
}
public fun Context() = UastEmptyExpression
fun suspendPrivate() {
fun suspendPrivate() : int {
return inner()
}
}