@@ -1967,38 +1967,35 @@ object Types {
19671967 def derivedSelect (prefix : Type )(implicit ctx : Context ): Type =
19681968 if (prefix eq this .prefix) this
19691969 else if (prefix.isBottomType) prefix
1970- else if (prefix.isInstanceOf [WildcardType ]) WildcardType
1971- else if (isType) {
1972- val res =
1973- if (currentSymbol.is(ClassTypeParam )) argForParam(prefix)
1974- else prefix.lookupRefined(name)
1975- if (res.exists) res
1976- else if (Config .splitProjections)
1977- prefix match {
1978- case prefix : AndType =>
1979- def isMissing (tp : Type ) = tp match {
1980- case tp : TypeRef => ! tp.info.exists
1981- case _ => false
1982- }
1983- val derived1 = derivedSelect(prefix.tp1)
1984- val derived2 = derivedSelect(prefix.tp2)
1985- return (
1986- if (isMissing(derived1)) derived2
1987- else if (isMissing(derived2)) derived1
1988- else prefix.derivedAndType(derived1, derived2))
1989- case prefix : OrType =>
1990- val derived1 = derivedSelect(prefix.tp1)
1991- val derived2 = derivedSelect(prefix.tp2)
1992- return prefix.derivedOrType(derived1, derived2)
1993- case _ =>
1994- withPrefix(prefix)
1995- }
1970+ else {
1971+ if (isType) {
1972+ val res =
1973+ if (currentSymbol.is(ClassTypeParam )) argForParam(prefix)
1974+ else prefix.lookupRefined(name)
1975+ if (res.exists) return res
1976+ if (Config .splitProjections)
1977+ prefix match {
1978+ case prefix : AndType =>
1979+ def isMissing (tp : Type ) = tp match {
1980+ case tp : TypeRef => ! tp.info.exists
1981+ case _ => false
1982+ }
1983+ val derived1 = derivedSelect(prefix.tp1)
1984+ val derived2 = derivedSelect(prefix.tp2)
1985+ return (
1986+ if (isMissing(derived1)) derived2
1987+ else if (isMissing(derived2)) derived1
1988+ else prefix.derivedAndType(derived1, derived2))
1989+ case prefix : OrType =>
1990+ val derived1 = derivedSelect(prefix.tp1)
1991+ val derived2 = derivedSelect(prefix.tp2)
1992+ return prefix.derivedOrType(derived1, derived2)
1993+ case _ =>
1994+ }
1995+ }
1996+ if (prefix.isInstanceOf [WildcardType ]) WildcardType
19961997 else withPrefix(prefix)
19971998 }
1998- else prefix match {
1999- case _ : WildcardType => WildcardType
2000- case _ => withPrefix(prefix)
2001- }
20021999
20032000 /** A reference like this one, but with the given symbol, if it exists */
20042001 final def withSym (sym : Symbol )(implicit ctx : Context ): ThisType =
0 commit comments