From 7868a9e5f69aeeb793ed4b88237e8949feb617c5 Mon Sep 17 00:00:00 2001 From: Nicolas Stucki Date: Fri, 26 Apr 2019 13:43:34 +0200 Subject: [PATCH 1/2] Add missing methodic types to the printer --- .../src/scala/tasty/reflect/Printers.scala | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/library/src/scala/tasty/reflect/Printers.scala b/library/src/scala/tasty/reflect/Printers.scala index c0345eadd264..e900757d7eca 100644 --- a/library/src/scala/tasty/reflect/Printers.scala +++ b/library/src/scala/tasty/reflect/Printers.scala @@ -1628,6 +1628,26 @@ trait Printers case Type.RecursiveThis(_) => this += highlightTypeDef("this", color) + case Type.IsMethodType(tpe) => + this += "(" + printList(tpe.paramNames.zip(tpe.paramTypes), ", ", + (paramName, paramType) => (this += paramName += ": ").printType(paramType)) + this += ")" + printType(tpe.resType) + + case Type.IsPolyType(tpe) => + this += "[" + printList(tpe.paramNames.zip(tpe.paramBounds), ", ", + (paramName, paramBound) => (this += paramName += " ").printTypeOrBound(paramBound)) + this += "]" + printType(tpe.resType) + + case Type.IsTypeLambda(tpe) => + this += "[" + printList(tpe.paramNames.zip(tpe.paramBounds), ", ", + (paramName, paramBound) => (this += paramName += " ").printTypeOrBound(paramBound)) + this += "] => " + printType(tpe.resType) case _ => throw new MatchError(tpe.showExtractors) } From 6ff1bb4753c8e55d7479e69363193880b29f5bc8 Mon Sep 17 00:00:00 2001 From: Nicolas Stucki Date: Fri, 26 Apr 2019 16:56:41 +0200 Subject: [PATCH 2/2] Compat with 2.12.8 --- library/src/scala/tasty/reflect/Printers.scala | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/library/src/scala/tasty/reflect/Printers.scala b/library/src/scala/tasty/reflect/Printers.scala index e900757d7eca..fae447c36c72 100644 --- a/library/src/scala/tasty/reflect/Printers.scala +++ b/library/src/scala/tasty/reflect/Printers.scala @@ -1631,23 +1631,24 @@ trait Printers case Type.IsMethodType(tpe) => this += "(" printList(tpe.paramNames.zip(tpe.paramTypes), ", ", - (paramName, paramType) => (this += paramName += ": ").printType(paramType)) + (x: (String, Type)) => (this += x._1 += ": ").printType(x._2)) this += ")" printType(tpe.resType) case Type.IsPolyType(tpe) => this += "[" printList(tpe.paramNames.zip(tpe.paramBounds), ", ", - (paramName, paramBound) => (this += paramName += " ").printTypeOrBound(paramBound)) + (x: (String, TypeBounds)) => (this += x._1 += " ").printTypeOrBound(x._2)) this += "]" printType(tpe.resType) case Type.IsTypeLambda(tpe) => this += "[" printList(tpe.paramNames.zip(tpe.paramBounds), ", ", - (paramName, paramBound) => (this += paramName += " ").printTypeOrBound(paramBound)) + (x: (String, TypeBounds)) => (this += x._1 += " ").printTypeOrBound(x._2)) this += "] => " printType(tpe.resType) + case _ => throw new MatchError(tpe.showExtractors) }