Skip to content

Commit e91eccf

Browse files
committed
wip 4
1 parent 724088c commit e91eccf

File tree

1 file changed

+4
-23
lines changed

1 file changed

+4
-23
lines changed

compiler/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala

Lines changed: 4 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1055,8 +1055,6 @@ class TreeUnpickler(reader: TastyReader,
10551055
}
10561056

10571057
def makeSelect(qual: Tree, name: Name, denot: Denotation): Select =
1058-
// if ctx.source.name.startsWith("hashsetremove") then
1059-
// report.echo(i"select $denot from $qual.$name")
10601058
var qualType = qual.tpe.widenIfUnstable
10611059
val owner = denot.symbol.maybeOwner
10621060
if (owner.isPackageObject && qualType.termSymbol.is(Package))
@@ -1078,14 +1076,7 @@ class TreeUnpickler(reader: TastyReader,
10781076

10791077
def accessibleDenot(qualType: Type, name: Name, sig: Signature, target: Name) = {
10801078
val pre = ctx.typeAssigner.maybeSkolemizePrefix(qualType, name)
1081-
// if ctx.source.name.startsWith("hashsetremove") then
1082-
// report.echo(i"accessibleDenot $name @ $sig from $pre")
1083-
val d0 = qualType.findMember(name, pre)
1084-
// if ctx.source.name.startsWith("hashsetremove") then
1085-
// report.echo(i"d0 = $d0")
1086-
val d = d0.atSignature(sig, target)
1087-
// if ctx.source.name.startsWith("hashsetremove") then
1088-
// report.echo(i"d = $d")
1079+
val d = qualType.findMember(name, pre).atSignature(sig, target)
10891080
if (!d.symbol.exists || d.symbol.isAccessibleFrom(pre)) d
10901081
else qualType.findMember(name, pre, excluded = Private).atSignature(sig, target)
10911082
}
@@ -1186,13 +1177,7 @@ class TreeUnpickler(reader: TastyReader,
11861177
val levels = readNat()
11871178
readTerm().outerSelect(levels, SkolemType(readType()))
11881179
case SELECTin =>
1189-
// TODO: FromTastyTest failures:
1190-
// ================================================================================
1191-
// Test Report
1192-
// ================================================================================
1193-
1194-
1195-
// tests/run/hashsetremove.scala
1180+
// tests/run/hashsetremove.scala failed
11961181
var sname = readName()
11971182
val qual = readTerm()
11981183
val qualType = qual.tpe.widenIfUnstable
@@ -1204,13 +1189,9 @@ class TreeUnpickler(reader: TastyReader,
12041189
sname match
12051190
case SignedName(name, sig, target) =>
12061191
val pre = ctx.typeAssigner.maybeSkolemizePrefix(qualType, name)
1207-
val isAmbiguous =
1208-
val denot = pre.nonPrivateMember(name)
1209-
denot.isOverloaded || !denot.atSignature(sig, target).exists
1210-
// if ctx.source.name.startsWith("hashsetremove") then
1211-
// report.echo(i"select $name at $sig isAmbig? $isAmbiguous - ${pre.nonPrivateMember(name)}")
1192+
val isAmbiguous = pre.nonPrivateMember(name).isOverloaded
12121193
if isAmbiguous then
1213-
selectAmbiguous(name, pre, space.decl(name).atSignature(sig, target))
1194+
makeSelect(qual, name, space.decl(name).atSignature(sig, target).asSeenFrom(pre))
12141195
else
12151196
select(name, sig, target)
12161197
case name =>

0 commit comments

Comments
 (0)