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