874d2a95b2ae791019dd5e1ce81ab1b94bbd4588 | a3799c585a78ca8ba9bc0c28c76e76842098cf15 | ||
---|---|---|---|
89 | } | 89 | } |
90 | 90 | ||
91 | // Wrap this pattern's bindings around (_: Type) | 91 | // Wrap this pattern's bindings around (_: Type) |
92 | def rebindToType(tpe: Type, annotatedType: Type = null): Pattern = { | 92 | def rebindToType(tpe: Type, ascription: Type = null): Pattern = { |
93 | val aType = if (annotatedType == null) tpe else annotatedType | 93 | val aType = if (ascription == null) tpe else ascription |
94 | rebindTo(Typed(WILD(tpe), TypeTree(aType)) setType tpe) | 94 | rebindTo(Typed(WILD(tpe), TypeTree(aType)) setType tpe) |
95 | } | 95 | } |
96 | 96 | ||
... | ... | ||
104 | 104 | ||
105 | // Like rebindToEqualsCheck, but subtly different. Not trying to be | 105 | // Like rebindToEqualsCheck, but subtly different. Not trying to be |
106 | // mysterious -- I haven't sorted it all out yet. | 106 | // mysterious -- I haven't sorted it all out yet. |
107 | def rebindToObjectCheck(): Pattern = { | 107 | def rebindToObjectCheck(): Pattern = |
108 | val sType = sufficientType | 108 | rebindToType(mkEqualsRef(sufficientType), sufficientType) |
109 | rebindToType(mkEqualsRef(sType), sType) | ||
110 | } | ||
111 | 109 | ||
112 | /** Helpers **/ | 110 | /** Helpers **/ |
113 | private def wrapBindings(vs: List[Symbol], pat: Tree): Tree = vs match { | 111 | private def wrapBindings(vs: List[Symbol], pat: Tree): Tree = vs match { |