Skip to content

Commit b4ab377

Browse files
committed
don't make symbols or occurrences for constructors of objects
1 parent d56a6aa commit b4ab377

File tree

2 files changed

+51
-160
lines changed

2 files changed

+51
-160
lines changed

compiler/src/dotty/tools/dotc/semanticdb/ExtractSemanticDB.scala

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,7 @@ class ExtractSemanticDB extends Phase {
201201
!sym.exists
202202
|| sym.isLocalDummy
203203
|| sym.is(Synthetic) || (sym.owner.is(Synthetic) && !sym.isAllOf(EnumCase))
204+
|| sym.name == nme.CONSTRUCTOR && sym.owner.is(ModuleClass)
204205
|| sym.isAnonymous
205206
|| excludeDefStrict(sym)
206207

@@ -341,8 +342,9 @@ class ExtractSemanticDB extends Phase {
341342
traverseChildren(tree)
342343
case tree: (ValDef | DefDef | TypeDef) if tree.symbol.is(Synthetic, butNot=Module) && !tree.symbol.isAnonymous => // skip
343344
case tree: Template =>
344-
registerDefinition(tree.constr.symbol, tree.constr.span, SymbolKind.Other)
345-
tree.constr.vparamss.flatten.foreach(vparam => traverse(vparam.tpt)) // the accessor symbol is traversed in the body
345+
if !excludeDef(tree.constr.symbol)
346+
registerDefinition(tree.constr.symbol, tree.constr.span, SymbolKind.Other)
347+
tree.constr.vparamss.flatten.foreach(vparam => traverse(vparam.tpt)) // the accessor symbol is traversed in the body
346348
for parent <- tree.parentsOrDerived do
347349
if
348350
parent.symbol != defn.ObjectClass.primaryConstructor

0 commit comments

Comments
 (0)