Descriptor Renderer: Add parentheses around receiver type if it's non-nullable function type

#KT-8188 Fixed
This commit is contained in:
Alexey Sedunov
2015-06-23 18:48:56 +03:00
parent 5d89097870
commit 5ac1fbf59b
4 changed files with 15 additions and 3 deletions
+2 -2
View File
@@ -17,7 +17,7 @@ internal abstract class XXX {
internal abstract val a15: kotlin.Int?.(kotlin.Int) -> kotlin.Int
internal abstract val a152: kotlin.Int?.(kotlin.Int) -> kotlin.Int
internal abstract val a16: (kotlin.Int) -> (kotlin.Int) -> kotlin.Int
internal abstract val a17: (kotlin.Int) -> kotlin.Int.(kotlin.Int) -> kotlin.Int
internal abstract val a17: ((kotlin.Int) -> kotlin.Int).(kotlin.Int) -> kotlin.Int
internal abstract val a18: (kotlin.Int) -> (kotlin.Int) -> kotlin.Int
internal abstract val a19: ((kotlin.Int) -> kotlin.Int) -> kotlin.Int
internal abstract val a2: n.B
@@ -42,7 +42,7 @@ internal abstract class YYY {
internal abstract val a15: kotlin.Int?.(kotlin.Int) -> kotlin.Int
internal abstract val a152: kotlin.Int?.(kotlin.Int) -> kotlin.Int
internal abstract val a16: (kotlin.Int) -> (kotlin.Int) -> kotlin.Int
internal abstract val a17: (kotlin.Int) -> kotlin.Int.(kotlin.Int) -> kotlin.Int
internal abstract val a17: ((kotlin.Int) -> kotlin.Int).(kotlin.Int) -> kotlin.Int
internal abstract val a18: (kotlin.Int) -> (kotlin.Int) -> kotlin.Int
internal abstract val a19: ((kotlin.Int) -> kotlin.Int) -> kotlin.Int
internal abstract val a7: (A) -> n.B
@@ -12,7 +12,7 @@ internal val parenthesizedParameters2: (???) -> kotlin.Unit
internal val receiver: kotlin.Int.() -> kotlin.Unit
internal val receiverAndReturnType: kotlin.Int.() -> kotlin.Int
internal val receiverAndReturnTypeWithParameter: kotlin.Int.(kotlin.Int) -> kotlin.Int
internal val receiverWithFunctionType: (kotlin.Int) -> kotlin.Int.() -> kotlin.Unit
internal val receiverWithFunctionType: ((kotlin.Int) -> kotlin.Int).() -> kotlin.Unit
internal val receiverWithParameter: kotlin.Int.(???) -> kotlin.Unit
internal val returnType: () -> kotlin.Int
internal val returnTypeWithParameter: (kotlin.Int) -> kotlin.Int
+5
View File
@@ -19,6 +19,9 @@ var v10: GF<Any>
class GEF<A, B>: @extension Function1<A, B>
var v11: GEF<Any, Any>
var v12: (() -> Unit).() -> Unit
var v13: (() -> Unit)?.() -> Unit
//internal var v1: () -> kotlin.Unit defined in root package
//internal var v2: (kotlin.Int) -> kotlin.Int defined in root package
//internal var v3: (kotlin.Int, kotlin.String) -> kotlin.String defined in root package
@@ -42,3 +45,5 @@ var v11: GEF<Any, Any>
//<A> defined in GEF
//<B> defined in GEF
//internal var v11: GEF<kotlin.Any, kotlin.Any> defined in root package
//internal var v12: (() -> kotlin.Unit).() -> kotlin.Unit defined in root package
//internal var v13: (() -> kotlin.Unit)?.() -> kotlin.Unit defined in root package
@@ -288,7 +288,14 @@ internal class DescriptorRendererImpl(
val receiverType = KotlinBuiltIns.getReceiverType(type)
if (receiverType != null) {
val surroundReceiver = shouldRenderAsPrettyFunctionType(receiverType) && !receiverType.isMarkedNullable()
if (surroundReceiver) {
append("(")
}
append(renderNormalizedType(receiverType))
if (surroundReceiver) {
append(")")
}
append(".")
}