@@ -1561,6 +1561,8 @@ trait QuoteContext { self: runtime.QuoteUnpickler & runtime.QuoteMatching =>
15611561 val TypeBoundsTree : TypeBoundsTreeModule
15621562
15631563 trait TypeBoundsTreeModule { this : TypeBoundsTree .type =>
1564+ def apply (low : TypeTree , hi : TypeTree ): TypeBoundsTree
1565+ def copy (original : Tree )(low : TypeTree , hi : TypeTree ): TypeBoundsTree
15641566 def unapply (x : TypeBoundsTree ): Option [(TypeTree , TypeTree )]
15651567 }
15661568
@@ -1587,6 +1589,7 @@ trait QuoteContext { self: runtime.QuoteUnpickler & runtime.QuoteMatching =>
15871589 val WildcardTypeTree : WildcardTypeTreeModule
15881590
15891591 trait WildcardTypeTreeModule { this : WildcardTypeTree .type =>
1592+ def apply (tpe : TypeRepr ): WildcardTypeTree
15901593 /** Matches a TypeBoundsTree containing wildcard type bounds */
15911594 def unapply (x : WildcardTypeTree ): Boolean
15921595 }
@@ -3548,8 +3551,9 @@ trait QuoteContext { self: runtime.QuoteUnpickler & runtime.QuoteMatching =>
35483551 case tree : Statement =>
35493552 transformStatement(tree)(owner)
35503553 case tree : TypeTree => transformTypeTree(tree)(owner)
3551- case tree : TypeBoundsTree => tree // TODO traverse tree
3552- case tree : WildcardTypeTree => tree // TODO traverse tree
3554+ case tree : TypeBoundsTree =>
3555+ TypeBoundsTree .copy(tree)(transformTypeTree(tree.low)(owner), transformTypeTree(tree.hi)(owner))
3556+ case tree : WildcardTypeTree => tree
35533557 case tree : CaseDef =>
35543558 transformCaseDef(tree)(owner)
35553559 case tree : TypeCaseDef =>
0 commit comments