@@ -12,6 +12,7 @@ import util.Property
12
12
import collection .mutable .ListBuffer
13
13
import reporting .diagnostic .messages ._
14
14
import reporting .trace
15
+ import annotation .transientParam
15
16
16
17
import scala .annotation .internal .sharable
17
18
@@ -42,23 +43,23 @@ object desugar {
42
43
43
44
// ----- DerivedTypeTrees -----------------------------------
44
45
45
- class SetterParamTree (implicit ids : TreeIds ) extends DerivedTypeTree {
46
+ class SetterParamTree (implicit @ transientParam ids : TreeIds ) extends DerivedTypeTree {
46
47
def derivedTree (sym : Symbol )(implicit ctx : Context ): tpd.TypeTree = tpd.TypeTree (sym.info.resultType)
47
48
}
48
49
49
- class TypeRefTree (implicit ids : TreeIds ) extends DerivedTypeTree {
50
+ class TypeRefTree (implicit @ transientParam ids : TreeIds ) extends DerivedTypeTree {
50
51
def derivedTree (sym : Symbol )(implicit ctx : Context ): tpd.TypeTree = tpd.TypeTree (sym.typeRef)
51
52
}
52
53
53
- class TermRefTree (implicit ids : TreeIds ) extends DerivedTypeTree {
54
+ class TermRefTree (implicit @ transientParam ids : TreeIds ) extends DerivedTypeTree {
54
55
def derivedTree (sym : Symbol )(implicit ctx : Context ): tpd.Tree = tpd.ref(sym)
55
56
}
56
57
57
58
/** A type tree that computes its type from an existing parameter.
58
59
* @param suffix String difference between existing parameter (call it `P`) and parameter owning the
59
60
* DerivedTypeTree (call it `O`). We have: `O.name == P.name + suffix`.
60
61
*/
61
- class DerivedFromParamTree (suffix : String )(implicit ids : TreeIds ) extends DerivedTypeTree {
62
+ class DerivedFromParamTree (suffix : String )(implicit @ transientParam ids : TreeIds ) extends DerivedTypeTree {
62
63
63
64
/** Make sure that for all enclosing module classes their companion classes
64
65
* are completed. Reason: We need the constructor of such companion classes to
@@ -1388,6 +1389,6 @@ object desugar {
1388
1389
buf.toList
1389
1390
}
1390
1391
1391
- private class IrrefutableGenFrom (pat : Tree , expr : Tree )(implicit ids : TreeIds )
1392
+ private class IrrefutableGenFrom (pat : Tree , expr : Tree )(implicit @ transientParam ids : TreeIds )
1392
1393
extends GenFrom (pat, expr)
1393
1394
}
0 commit comments