@@ -1055,8 +1055,6 @@ class TreeUnpickler(reader: TastyReader,
1055
1055
}
1056
1056
1057
1057
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")
1060
1058
var qualType = qual.tpe.widenIfUnstable
1061
1059
val owner = denot.symbol.maybeOwner
1062
1060
if (owner.isPackageObject && qualType.termSymbol.is(Package ))
@@ -1078,14 +1076,7 @@ class TreeUnpickler(reader: TastyReader,
1078
1076
1079
1077
def accessibleDenot (qualType : Type , name : Name , sig : Signature , target : Name ) = {
1080
1078
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)
1089
1080
if (! d.symbol.exists || d.symbol.isAccessibleFrom(pre)) d
1090
1081
else qualType.findMember(name, pre, excluded = Private ).atSignature(sig, target)
1091
1082
}
@@ -1186,13 +1177,7 @@ class TreeUnpickler(reader: TastyReader,
1186
1177
val levels = readNat()
1187
1178
readTerm().outerSelect(levels, SkolemType (readType()))
1188
1179
case SELECTin =>
1189
- // TODO: FromTastyTest failures:
1190
- // ================================================================================
1191
- // Test Report
1192
- // ================================================================================
1193
-
1194
-
1195
- // tests/run/hashsetremove.scala
1180
+ // tests/run/hashsetremove.scala failed
1196
1181
var sname = readName()
1197
1182
val qual = readTerm()
1198
1183
val qualType = qual.tpe.widenIfUnstable
@@ -1204,13 +1189,9 @@ class TreeUnpickler(reader: TastyReader,
1204
1189
sname match
1205
1190
case SignedName (name, sig, target) =>
1206
1191
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
1212
1193
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 ))
1214
1195
else
1215
1196
select(name, sig, target)
1216
1197
case name =>
0 commit comments