@@ -745,9 +745,11 @@ class RefinedPrinter(_ctx: Context) extends PlainPrinter(_ctx) {
745
745
private def useSymbol (tree : untpd.Tree ) =
746
746
tree.hasType && tree.symbol.exists && ctx.settings.YprintSyms .value
747
747
748
- protected def nameIdText [T >: Untyped ](tree : NameTree [T ]): Text =
748
+ protected def nameIdText [T >: Untyped ](tree : NameTree [T ], dropExtension : Boolean = false ): Text =
749
749
if (tree.hasType && tree.symbol.exists) {
750
- val str : Text = nameString(tree.symbol)
750
+ var str = nameString(tree.symbol)
751
+ if tree.symbol.isExtensionMethod && dropExtension && str.startsWith(" extension_" ) then
752
+ str = str.drop(" extension_" .length)
751
753
tree match {
752
754
case tree : RefTree => withPos(str, tree.sourcePos)
753
755
case tree : MemberDef => withPos(str, tree.sourcePos.withSpan(tree.nameSpan))
@@ -789,11 +791,13 @@ class RefinedPrinter(_ctx: Context) extends PlainPrinter(_ctx) {
789
791
import untpd ._
790
792
dclTextOr(tree) {
791
793
val defKeyword = modText(tree.mods, tree.symbol, keywordStr(" def" ), isType = false )
792
- val isOldExtension =
793
- tree.hasType && tree.symbol.isExtensionMethod && ! tree.name.isExtensionName
794
+ val isExtension = tree.hasType && tree.symbol.isExtensionMethod
794
795
withEnclosingDef(tree) {
795
796
val (prefix, vparamss) =
796
- if isOldExtension then (defKeyword ~~ paramsText(tree.vparamss.head) ~~ valDefText(nameIdText(tree)), tree.vparamss.tail)
797
+ if isExtension then
798
+ (keywordStr(" extension" ) ~~ paramsText(tree.vparamss.head)
799
+ ~~ (defKeyword ~~ valDefText(nameIdText(tree, dropExtension = true ))).close,
800
+ tree.vparamss.tail)
797
801
else (defKeyword ~~ valDefText(nameIdText(tree)), tree.vparamss)
798
802
799
803
addVparamssText(prefix ~ tparamsText(tree.tparams), vparamss) ~
0 commit comments