@@ -8,24 +8,10 @@ abstract class Quoted
88
99object Quoted {
1010
11- /** A quote backed by a pickled TASTY tree */
12- trait TastyQuoted extends Quoted {
13- def tasty : Pickled
14- def args : Seq [Any ]
15- }
16-
17- /** Quoted for which its internal representation is its tree.
18- * - Used for trees that cannot be serialized, such as references to local symbols that will be spliced in.
19- * - Used for trees that do not need to be serialized to avoid the overhead of serialization/deserialization.
20- */
21- trait RawQuoted [Tree ] extends quoted.Quoted {
22- def tree : Tree
23- }
24-
2511 // Implementations of Expr[T]
2612
2713 /** An Expr backed by a pickled TASTY tree */
28- final class TastyExpr [T ](val tasty : Pickled , val args : Seq [Any ]) extends Expr [T ] with TastyQuoted {
14+ final class TastyExpr [T ](val tasty : Pickled , val args : Seq [Any ]) extends Expr [T ] {
2915 override def toString (): String = s " Expr(<pickled>) "
3016 }
3117
@@ -35,7 +21,9 @@ object Quoted {
3521 }
3622
3723 /** An Expr backed by a tree */
38- final class RawExpr [Tree ](val tree : Tree ) extends quoted.Expr [Any ] with RawQuoted [Tree ]
24+ final class RawExpr [Tree ](val tree : Tree ) extends quoted.Expr [Any ] {
25+ override def toString : String = s " Expr(<raw>) "
26+ }
3927
4028 /** An Expr representing `'{(~f).apply(~x)}` but it is beta-reduced when the closure is known */
4129 final class FunctionAppliedTo [T , U ](val f : Expr [T => U ], val x : Expr [T ]) extends Expr [U ] {
@@ -45,7 +33,7 @@ object Quoted {
4533 // Implementations of Type[T]
4634
4735 /** A Type backed by a pickled TASTY tree */
48- final class TastyType [T ](val tasty : Pickled , val args : Seq [Any ]) extends Type [T ] with TastyQuoted {
36+ final class TastyType [T ](val tasty : Pickled , val args : Seq [Any ]) extends Type [T ] {
4937 override def toString (): String = s " Type(<pickled>) "
5038 }
5139
@@ -55,6 +43,8 @@ object Quoted {
5543 }
5644
5745 /** An Type backed by a tree */
58- final class RawType [Tree ](val tree : Tree ) extends quoted.Type [Any ] with RawQuoted [Tree ]
46+ final class RawType [Tree ](val tree : Tree ) extends quoted.Type [Any ] {
47+ override def toString : String = s " Type(<raw>) "
48+ }
5949
6050}
0 commit comments