@@ -339,17 +339,18 @@ object Denotations {
339
339
def prefer (sym1 : Symbol , sym2 : Symbol , info1 : Type , info2 : Type ) =
340
340
preferSym(sym1, sym2) && info1.overrides(info2)
341
341
342
+ def handleDoubleDef =
343
+ if (preferSym(sym1, sym2)) denot1
344
+ else if (preferSym(sym2, sym1)) denot2
345
+ else doubleDefError(denot1, denot2, pre)
346
+
342
347
if (sym2Accessible && prefer(sym2, sym1, info2, info1)) denot2
343
348
else {
344
349
val sym1Accessible = sym1.isAccessibleFrom(pre)
345
350
if (sym1Accessible && prefer(sym1, sym2, info1, info2)) denot1
346
351
else if (sym1Accessible && sym2.exists && ! sym2Accessible) denot1
347
352
else if (sym2Accessible && sym1.exists && ! sym1Accessible) denot2
348
- else if (isDoubleDef(sym1, sym2)) {
349
- if (preferSym(sym1, sym2)) denot1
350
- else if (preferSym(sym2, sym1)) denot2
351
- else doubleDefError(denot1, denot2, pre)
352
- }
353
+ else if (isDoubleDef(sym1, sym2)) handleDoubleDef
353
354
else {
354
355
val sym =
355
356
if (! sym1.exists) sym2
0 commit comments