File tree 1 file changed +12
-5
lines changed
compiler/src/dotty/tools/dotc/ast 1 file changed +12
-5
lines changed Original file line number Diff line number Diff line change @@ -773,11 +773,8 @@ object Trees {
773
773
case _ => paramss
774
774
775
775
def termParamss (using Context ): List [List [ValDef [T ]]] =
776
- if ctx.erasedTypes then paramss.asInstanceOf [List [List [ValDef [T ]]]]
777
- else paramss.collect {
778
- case Nil => Nil
779
- case vparams @ (vparam : ValDef [_]) :: _ => vparams.asInstanceOf [List [ValDef [T ]]]
780
- }
776
+ (if ctx.erasedTypes then paramss else untpd.termParamssIn(paramss))
777
+ .asInstanceOf [List [List [ValDef [T ]]]]
781
778
}
782
779
783
780
/** mods class name template or
@@ -1605,6 +1602,16 @@ object Trees {
1605
1602
case (x : ValDef ) :: _ => Some (xs.asInstanceOf [List [ValDef ]])
1606
1603
case _ => None
1607
1604
1605
+ def termParamssIn (paramss : List [ParamClause ]): List [List [ValDef ]] = paramss match
1606
+ case ValDefs (vparams) :: paramss1 =>
1607
+ val paramss2 = termParamssIn(paramss1)
1608
+ if paramss2 eq paramss1 then paramss.asInstanceOf [List [List [ValDef ]]]
1609
+ else vparams :: paramss2
1610
+ case _ :: paramss1 =>
1611
+ termParamssIn(paramss1)
1612
+ case nil =>
1613
+ Nil
1614
+
1608
1615
/** If `tparams` is non-empty, add it to the left `paramss`, merging
1609
1616
* it with a leading type parameter list of `paramss`, if one exists.
1610
1617
*/
You can’t perform that action at this time.
0 commit comments