Only render exact function types in special syntax

This commit is contained in:
Andrey Breslav
2013-11-20 16:43:43 +04:00
parent 9f5ee13c20
commit bfbb200ba8
2 changed files with 27 additions and 1 deletions
@@ -7,6 +7,17 @@ var v5: Int.() -> Int
var v6 : Int.(String, Int) -> Unit
var v7 : ExtensionFunction1<Int, String, Boolean>
class F: Function0<Unit>
var v8: F
class EF: ExtensionFunction0<Unit>
var v9: EF
class GF<T>: Function0<T>
var v10: GF<Any>
class GEF<A, B>: ExtensionFunction0<A, B>
var v11: GEF<Any, Any>
//internal var v1: () -> jet.Unit defined in root package
//internal var v2: (jet.Int) -> jet.Int defined in root package
@@ -16,3 +27,18 @@ var v7 : ExtensionFunction1<Int, String, Boolean>
//internal var v5: jet.Int.() -> jet.Int defined in root package
//internal var v6: jet.Int.(jet.String, jet.Int) -> jet.Unit defined in root package
//internal var v7: jet.Int.(jet.String) -> jet.Boolean defined in root package
//internal final class F : () -> jet.Unit defined in root package
//public constructor F() defined in F
//internal var v8: F defined in root package
//internal final class EF defined in root package
//public constructor EF() defined in EF
//internal var v9: EF defined in root package
//internal final class GF<T> : () -> T defined in root package
//public constructor GF<T>() defined in GF
//<T> defined in GF
//internal var v10: GF<jet.Any> defined in root package
//internal final class GEF<A, B> : A.() -> B defined in root package
//public constructor GEF<A, B>() defined in GEF
//<A> defined in GEF
//<B> defined in GEF
//internal var v11: GEF<jet.Any, jet.Any> defined in root package
@@ -213,7 +213,7 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
if (type.isError()) {
return type.toString();
}
if (KotlinBuiltIns.getInstance().isFunctionOrExtensionFunctionType(type) && prettyFunctionTypes) {
if (KotlinBuiltIns.getInstance().isExactFunctionOrExtensionFunctionType(type) && prettyFunctionTypes) {
return renderFunctionType(type);
}
return renderDefaultType(type);