File tree Expand file tree Collapse file tree 1 file changed +6
-2
lines changed
compiler/src/dotty/tools/dotc/interactive Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -24,7 +24,7 @@ object Interactive {
2424 object Include { // should be an enum, really.
2525 type Set = Int
2626 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)
2828 val references = 4 // include references and not just definitions
2929 }
3030
@@ -148,6 +148,7 @@ object Interactive {
148148 ref.name.isTermName,
149149 ref.name.isTypeName)
150150 case _ =>
151+ println(i " COMPUTE from ${path.headOption}" )
151152 (0 , " " , false , false )
152153 }
153154
@@ -176,7 +177,10 @@ object Interactive {
176177 case site : NamedType if site.symbol.is(Package ) =>
177178 site.decls.toList.filter(include) // Don't look inside package members -- it's too expensive.
178179 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 {
180184 case mbr if include(mbr.symbol) => mbr.accessibleFrom(site, superAccess).symbol
181185 case _ => NoSymbol
182186 }.filter(_.exists)
You can’t perform that action at this time.
0 commit comments