@@ -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
@@ -153,26 +153,18 @@ class ExtractSemanticDB extends Phase:
153153 case tree : DefDef if tree.symbol.isConstructor => // ignore typeparams for secondary ctors
154154 tree.trailingParamss.foreach(_.foreach(traverse))
155155 traverse(tree.rhs)
156- case tree : (DefDef | ValDef ) if tree.symbol.isSyntheticWithIdent =>
156+ case tree : (DefDef | ValDef ) if tree.symbol.isSyntheticWithIdent || isInventedGiven(tree) =>
157157 tree match
158158 case tree : DefDef =>
159159 tree.paramss.foreach(_.foreach(param => registerSymbolSimple(param.symbol)))
160160 case tree : ValDef if tree.symbol.is(Given ) =>
161- synth.tryFindSynthetic(tree).foreach { synth =>
162- synthetics += synth
163- }
161+ synth.tryFindSynthetic(tree).foreach(synthetics.addOne)
164162 traverse(tree.tpt)
165163 case _ =>
166164 if ! tree.symbol.isGlobal then
167165 localBodies(tree.symbol) = tree.rhs
168166 // ignore rhs
169167
170- // `given Int` (syntax sugar of `given given_Int: Int`)
171- case tree : ValDef if isInventedGiven(tree) =>
172- synth.tryFindSynthetic(tree).foreach { synth =>
173- synthetics += synth
174- }
175- traverse(tree.tpt)
176168 case PatternValDef (pat, rhs) =>
177169 traverse(rhs)
178170 PatternValDef .collectPats(pat).foreach(traverse)
@@ -207,10 +199,7 @@ class ExtractSemanticDB extends Phase:
207199 case tree : Apply =>
208200 @ tu lazy val genParamSymbol : Name => String = tree.fun.symbol.funParamSymbol
209201 traverse(tree.fun)
210- synth.tryFindSynthetic(tree).foreach { synth =>
211- synthetics += synth
212- }
213-
202+ synth.tryFindSynthetic(tree).foreach(synthetics.addOne)
214203 for arg <- tree.args do
215204 arg match
216205 case tree @ NamedArg (name, arg) =>
0 commit comments