@@ -158,7 +158,7 @@ object SourceCode {
158
158
for paramClause <- paramss do
159
159
paramClause match
160
160
case TermParamClause (params) =>
161
- printArgsDefs (params)
161
+ printMethdArgsDefs (params)
162
162
case TypeParamClause (params) =>
163
163
printTargsDefs(stats.collect { case targ : TypeDef => targ }.filter(_.symbol.isTypeParam).zip(params))
164
164
}
@@ -313,7 +313,7 @@ object SourceCode {
313
313
this += highlightKeyword(" def " ) += highlightValDef(name1)
314
314
for clause <- paramss do
315
315
clause match
316
- case TermParamClause (params) => printArgsDefs (params)
316
+ case TermParamClause (params) => printMethdArgsDefs (params)
317
317
case TypeParamClause (params) => printTargsDefs(params.zip(params))
318
318
if (! isConstructor) {
319
319
this += " : "
@@ -460,7 +460,7 @@ object SourceCode {
460
460
461
461
case tree @ Lambda (params, body) => // must come before `Block`
462
462
inParens {
463
- printArgsDefs (params)
463
+ printLambdaArgsDefs (params)
464
464
this += (if tree.tpe.isContextFunctionType then " ?=> " else " => " )
465
465
printTree(body)
466
466
}
@@ -804,29 +804,37 @@ object SourceCode {
804
804
}
805
805
}
806
806
807
- private def printArgsDefs (args : List [ValDef ])(using elideThis : Option [Symbol ]): Unit = {
807
+ private def printSeparatedParamDefs (list : List [ValDef ])(using elideThis : Option [Symbol ]): Unit = list match {
808
+ case Nil =>
809
+ case x :: Nil => printParamDef(x)
810
+ case x :: xs =>
811
+ printParamDef(x)
812
+ this += " , "
813
+ printSeparatedParamDefs(xs)
814
+ }
815
+
816
+ private def printMethdArgsDefs (args : List [ValDef ])(using elideThis : Option [Symbol ]): Unit = {
808
817
val argFlags = args match {
809
818
case Nil => Flags .EmptyFlags
810
819
case arg :: _ => arg.symbol.flags
811
820
}
812
- if (argFlags.is(Flags .Erased | Flags .Given )) {
813
- if (argFlags.is(Flags .Given )) this += " given"
814
- if (argFlags.is(Flags .Erased )) this += " erased"
815
- this += " "
816
- }
817
821
inParens {
818
822
if (argFlags.is(Flags .Implicit ) && ! argFlags.is(Flags .Given )) this += " implicit "
823
+ if (argFlags.is(Flags .Given )) this += " using "
819
824
820
- def printSeparated (list : List [ValDef ]): Unit = list match {
821
- case Nil =>
822
- case x :: Nil => printParamDef(x)
823
- case x :: xs =>
824
- printParamDef(x)
825
- this += " , "
826
- printSeparated(xs)
827
- }
825
+ printSeparatedParamDefs(args)
826
+ }
827
+ }
828
+
829
+ private def printLambdaArgsDefs (args : List [ValDef ])(using elideThis : Option [Symbol ]): Unit = {
830
+ val argFlags = args match {
831
+ case Nil => Flags .EmptyFlags
832
+ case arg :: _ => arg.symbol.flags
833
+ }
834
+ inParens {
835
+ if (argFlags.is(Flags .Implicit ) && ! argFlags.is(Flags .Given )) this += " implicit "
828
836
829
- printSeparated (args)
837
+ printSeparatedParamDefs (args)
830
838
}
831
839
}
832
840
@@ -846,6 +854,9 @@ object SourceCode {
846
854
private def printParamDef (arg : ValDef )(using elideThis : Option [Symbol ]): Unit = {
847
855
val name = splicedName(arg.symbol).getOrElse(arg.symbol.name)
848
856
val sym = arg.symbol.owner
857
+
858
+ if (arg.symbol.flags.is(Flags .Erased )) this += " erased "
859
+
849
860
if sym.isDefDef && sym.name == " <init>" then
850
861
val ClassDef (_, _, _, _, body) = sym.owner.tree: @ unchecked
851
862
body.collectFirst {
0 commit comments