@@ -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
@@ -153,26 +153,18 @@ class ExtractSemanticDB extends Phase:
153
153
case tree : DefDef if tree.symbol.isConstructor => // ignore typeparams for secondary ctors
154
154
tree.trailingParamss.foreach(_.foreach(traverse))
155
155
traverse(tree.rhs)
156
- case tree : (DefDef | ValDef ) if tree.symbol.isSyntheticWithIdent =>
156
+ case tree : (DefDef | ValDef ) if tree.symbol.isSyntheticWithIdent || isInventedGiven(tree) =>
157
157
tree match
158
158
case tree : DefDef =>
159
159
tree.paramss.foreach(_.foreach(param => registerSymbolSimple(param.symbol)))
160
160
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)
164
162
traverse(tree.tpt)
165
163
case _ =>
166
164
if ! tree.symbol.isGlobal then
167
165
localBodies(tree.symbol) = tree.rhs
168
166
// ignore rhs
169
167
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)
176
168
case PatternValDef (pat, rhs) =>
177
169
traverse(rhs)
178
170
PatternValDef .collectPats(pat).foreach(traverse)
@@ -207,10 +199,7 @@ class ExtractSemanticDB extends Phase:
207
199
case tree : Apply =>
208
200
@ tu lazy val genParamSymbol : Name => String = tree.fun.symbol.funParamSymbol
209
201
traverse(tree.fun)
210
- synth.tryFindSynthetic(tree).foreach { synth =>
211
- synthetics += synth
212
- }
213
-
202
+ synth.tryFindSynthetic(tree).foreach(synthetics.addOne)
214
203
for arg <- tree.args do
215
204
arg match
216
205
case tree @ NamedArg (name, arg) =>
0 commit comments