Skip to content

Commit 08aacb3

Browse files
committed
wip 4
1 parent 62d1896 commit 08aacb3

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
@@ -1057,8 +1057,6 @@ class TreeUnpickler(reader: TastyReader,
10571057
}
10581058

10591059
def makeSelect(qual: Tree, name: Name, denot: Denotation): Select =
1060-
// if ctx.source.name.startsWith("hashsetremove") then
1061-
// report.echo(i"select $denot from $qual.$name")
10621060
var qualType = qual.tpe.widenIfUnstable
10631061
val owner = denot.symbol.maybeOwner
10641062
if (owner.isPackageObject && qualType.termSymbol.is(Package))
@@ -1080,14 +1078,7 @@ class TreeUnpickler(reader: TastyReader,
10801078

10811079
def accessibleDenot(qualType: Type, name: Name, sig: Signature, target: Name) = {
10821080
val pre = ctx.typeAssigner.maybeSkolemizePrefix(qualType, name)
1083-
// if ctx.source.name.startsWith("hashsetremove") then
1084-
// report.echo(i"accessibleDenot $name @ $sig from $pre")
1085-
val d0 = qualType.findMember(name, pre)
1086-
// if ctx.source.name.startsWith("hashsetremove") then
1087-
// report.echo(i"d0 = $d0")
1088-
val d = d0.atSignature(sig, target)
1089-
// if ctx.source.name.startsWith("hashsetremove") then
1090-
// report.echo(i"d = $d")
1081+
val d = qualType.findMember(name, pre).atSignature(sig, target)
10911082
if (!d.symbol.exists || d.symbol.isAccessibleFrom(pre)) d
10921083
else qualType.findMember(name, pre, excluded = Private).atSignature(sig, target)
10931084
}
@@ -1188,13 +1179,7 @@ class TreeUnpickler(reader: TastyReader,
11881179
val levels = readNat()
11891180
readTerm().outerSelect(levels, SkolemType(readType()))
11901181
case SELECTin =>
1191-
// TODO: FromTastyTest failures:
1192-
// ================================================================================
1193-
// Test Report
1194-
// ================================================================================
1195-
1196-
1197-
// tests/run/hashsetremove.scala
1182+
// tests/run/hashsetremove.scala failed
11981183
var sname = readName()
11991184
val qual = readTerm()
12001185
val qualType = qual.tpe.widenIfUnstable
@@ -1206,13 +1191,9 @@ class TreeUnpickler(reader: TastyReader,
12061191
sname match
12071192
case SignedName(name, sig, target) =>
12081193
val pre = ctx.typeAssigner.maybeSkolemizePrefix(qualType, name)
1209-
val isAmbiguous =
1210-
val denot = pre.nonPrivateMember(name)
1211-
denot.isOverloaded || !denot.atSignature(sig, target).exists
1212-
// if ctx.source.name.startsWith("hashsetremove") then
1213-
// report.echo(i"select $name at $sig isAmbig? $isAmbiguous - ${pre.nonPrivateMember(name)}")
1194+
val isAmbiguous = pre.nonPrivateMember(name).isOverloaded
12141195
if isAmbiguous then
1215-
selectAmbiguous(name, pre, space.decl(name).atSignature(sig, target))
1196+
makeSelect(qual, name, space.decl(name).atSignature(sig, target).asSeenFrom(pre))
12161197
else
12171198
select(name, sig, target)
12181199
case name =>

0 commit comments

Comments
 (0)