@@ -160,6 +160,9 @@ class ExtractSemanticDB extends Phase {
160160
161161 private def excludeDefStrict (sym : Symbol )(given Context ): Boolean =
162162 sym.name.is(NameKinds .DefaultGetterName )
163+ || sym == defn.Predef_classOf
164+ || sym == defn.ScalaPredefModule
165+ || sym == defn.StringContextModule
163166
164167 private def (sym : Symbol ) isAnonymous(given Context ): Boolean =
165168 sym.isAnonymousClass
@@ -172,7 +175,7 @@ class ExtractSemanticDB extends Phase {
172175
173176 private def registerOccurrence (sym : Symbol , span : Span , role : SymbolOccurrence .Role )(given Context ): Unit =
174177 val occ = SymbolOccurrence (symbolName(sym), range(span), role)
175- if ! generated.contains(occ) then
178+ if ! generated.contains(occ) && occ.symbol.nonEmpty then
176179 occurrences += occ
177180 generated += occ
178181
@@ -188,7 +191,8 @@ class ExtractSemanticDB extends Phase {
188191 def registerPath (expr : Tree ): Unit = expr match
189192 case t @ Select (expr, _) =>
190193 registerUse(t.symbol, t.span)
191- registerPath(expr)
194+ if ! expr.symbol.is(Package ) then
195+ registerPath(expr)
192196
193197 case _ =>
194198
@@ -198,9 +202,6 @@ class ExtractSemanticDB extends Phase {
198202 then
199203 traverse(annot.tree)
200204
201- val RootName = nme.ROOTPKG .toSimpleName
202- val Scala = " scala" .toTermName.toSimpleName
203-
204205 tree match
205206 case tree : ValDef if tree.symbol.is(Module ) => // skip module val
206207 case tree : NamedDefTree
@@ -238,9 +239,8 @@ class ExtractSemanticDB extends Phase {
238239 if source.content()(end - 1 ) == '`' then end - len - 1 else end - len
239240 else limit
240241 registerUse(tree.symbol, Span (start max limit, end))
241- tree.qualifier match
242- case Select (Select (Ident (RootName ), Scala ), _) => // skip
243- case _ => traverseChildren(tree)
242+ if ! tree.qualifier.symbol.is(Package ) then
243+ traverseChildren(tree)
244244 case tree : Import =>
245245 if tree.span.exists && tree.span.start != tree.span.end then
246246 for sel <- tree.selectors do
@@ -250,7 +250,8 @@ class ExtractSemanticDB extends Phase {
250250 registerUse(alt.symbol, sel.imported.span)
251251 if (alt.symbol.companionClass.exists)
252252 registerUse(alt.symbol.companionClass, sel.imported.span)
253- registerPath(tree.expr)
253+ if ! tree.expr.symbol.is(Package ) then
254+ registerPath(tree.expr)
254255 case tree : Inlined =>
255256 traverse(tree.call)
256257 case tree : PackageDef => tree.stats.foreach(traverse)
0 commit comments