@@ -49,7 +49,7 @@ class ExtractSemanticDB extends Phase:
49
49
50
50
/** Extractor of symbol occurrences from trees */
51
51
class Extractor extends TreeTraverser :
52
- given builder : s.SemanticSymbolBuilder = s.SemanticSymbolBuilder ()
52
+ given s .SemanticSymbolBuilder = s.SemanticSymbolBuilder ()
53
53
val synth = SyntheticsExtractor ()
54
54
given converter : s.TypeOps = s.TypeOps ()
55
55
@@ -156,26 +156,18 @@ class ExtractSemanticDB extends Phase:
156
156
case tree : DefDef if tree.symbol.isConstructor => // ignore typeparams for secondary ctors
157
157
tree.trailingParamss.foreach(_.foreach(traverse))
158
158
traverse(tree.rhs)
159
- case tree : (DefDef | ValDef ) if tree.symbol.isSyntheticWithIdent =>
159
+ case tree : (DefDef | ValDef ) if tree.symbol.isSyntheticWithIdent || isInventedGiven(tree) =>
160
160
tree match
161
161
case tree : DefDef =>
162
162
tree.paramss.foreach(_.foreach(param => registerSymbolSimple(param.symbol)))
163
163
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)
167
165
traverse(tree.tpt)
168
166
case _ =>
169
167
if ! tree.symbol.isGlobal then
170
168
localBodies(tree.symbol) = tree.rhs
171
169
// ignore rhs
172
170
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)
179
171
case PatternValDef (pat, rhs) =>
180
172
traverse(rhs)
181
173
PatternValDef .collectPats(pat).foreach(traverse)
@@ -210,10 +202,7 @@ class ExtractSemanticDB extends Phase:
210
202
case tree : Apply =>
211
203
@ tu lazy val genParamSymbol : Name => String = tree.fun.symbol.funParamSymbol
212
204
traverse(tree.fun)
213
- synth.tryFindSynthetic(tree).foreach { synth =>
214
- synthetics += synth
215
- }
216
-
205
+ synth.tryFindSynthetic(tree).foreach(synthetics.addOne)
217
206
for arg <- tree.args do
218
207
arg match
219
208
case tree @ NamedArg (name, arg) =>
0 commit comments