874d2a95b2ae791019dd5e1ce81ab1b94bbd4588a3799c585a78ca8ba9bc0c28c76e76842098cf15
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 {