@@ -49,7 +49,7 @@ class ExtractSemanticDB extends Phase:
4949
5050 /** Extractor of symbol occurrences from trees */
5151 class Extractor extends TreeTraverser :
52- given builder : s.SemanticSymbolBuilder = s.SemanticSymbolBuilder ()
52+ given s .SemanticSymbolBuilder = s.SemanticSymbolBuilder ()
5353 val synth = SyntheticsExtractor ()
5454 given converter : s.TypeOps = s.TypeOps ()
5555
@@ -156,26 +156,18 @@ class ExtractSemanticDB extends Phase:
156156 case tree : DefDef if tree.symbol.isConstructor => // ignore typeparams for secondary ctors
157157 tree.trailingParamss.foreach(_.foreach(traverse))
158158 traverse(tree.rhs)
159- case tree : (DefDef | ValDef ) if tree.symbol.isSyntheticWithIdent =>
159+ case tree : (DefDef | ValDef ) if tree.symbol.isSyntheticWithIdent || isInventedGiven(tree) =>
160160 tree match
161161 case tree : DefDef =>
162162 tree.paramss.foreach(_.foreach(param => registerSymbolSimple(param.symbol)))
163163 case tree : ValDef if tree.symbol.is(Given ) =>
164- synth.tryFindSynthetic(tree).foreach { synth =>
165- synthetics += synth
166- }
164+ synth.tryFindSynthetic(tree).foreach(synthetics.addOne)
167165 traverse(tree.tpt)
168166 case _ =>
169167 if ! tree.symbol.isGlobal then
170168 localBodies(tree.symbol) = tree.rhs
171169 // ignore rhs
172170
173- // `given Int` (syntax sugar of `given given_Int: Int`)
174- case tree : ValDef if isInventedGiven(tree) =>
175- synth.tryFindSynthetic(tree).foreach { synth =>
176- synthetics += synth
177- }
178- traverse(tree.tpt)
179171 case PatternValDef (pat, rhs) =>
180172 traverse(rhs)
181173 PatternValDef .collectPats(pat).foreach(traverse)
@@ -210,10 +202,7 @@ class ExtractSemanticDB extends Phase:
210202 case tree : Apply =>
211203 @ tu lazy val genParamSymbol : Name => String = tree.fun.symbol.funParamSymbol
212204 traverse(tree.fun)
213- synth.tryFindSynthetic(tree).foreach { synth =>
214- synthetics += synth
215- }
216-
205+ synth.tryFindSynthetic(tree).foreach(synthetics.addOne)
217206 for arg <- tree.args do
218207 arg match
219208 case tree @ NamedArg (name, arg) =>
0 commit comments