File tree 1 file changed +6
-2
lines changed
compiler/src/dotty/tools/dotc/interactive
1 file changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -24,7 +24,7 @@ object Interactive {
24
24
object Include { // should be an enum, really.
25
25
type Set = Int
26
26
val overridden = 1 // include trees whose symbol is overridden by `sym`
27
- val overriding = 2 // include trees whose symbol overrides `sym`
27
+ val overriding = 2 // include trees whose symbol overrides `sym` (but for performance only in same source file)
28
28
val references = 4 // include references and not just definitions
29
29
}
30
30
@@ -148,6 +148,7 @@ object Interactive {
148
148
ref.name.isTermName,
149
149
ref.name.isTypeName)
150
150
case _ =>
151
+ println(i " COMPUTE from ${path.headOption}" )
151
152
(0 , " " , false , false )
152
153
}
153
154
@@ -176,7 +177,10 @@ object Interactive {
176
177
case site : NamedType if site.symbol.is(Package ) =>
177
178
site.decls.toList.filter(include) // Don't look inside package members -- it's too expensive.
178
179
case _ =>
179
- site.allMembers.collect {
180
+ def appendMemberSyms (name : Name , buf : mutable.Buffer [SingleDenotation ]): Unit =
181
+ try buf ++= site.member(name).alternatives
182
+ catch { case ex : TypeError => }
183
+ site.memberDenots(takeAllFilter, appendMemberSyms).collect {
180
184
case mbr if include(mbr.symbol) => mbr.accessibleFrom(site, superAccess).symbol
181
185
case _ => NoSymbol
182
186
}.filter(_.exists)
You can’t perform that action at this time.
0 commit comments