@@ -83,10 +83,13 @@ class SemanticdbConsumer extends TastyConsumer {
83
83
else {
84
84
symbol match {
85
85
case IsPackageSymbol (symbol) => symbol.name + " /"
86
- case IsClassSymbol (symbol) => symbol.name + " #"
87
86
case IsDefSymbol (symbol) =>
88
87
symbol.name + disimbiguate(previous_symbol + symbol.name) + " ."
89
88
case IsValSymbol (symbol) => symbol.name + " ."
89
+ case IsTypeSymbol (symbol) =>
90
+ symbol.name + " #"
91
+ case IsClassSymbol (symbol) =>
92
+ symbol.name + (if (symbol.flags.isObject) " ." else " #" )
90
93
case owner => {
91
94
" "
92
95
}
@@ -107,7 +110,6 @@ class SemanticdbConsumer extends TastyConsumer {
107
110
val symbol_path = iterateParent(symbol)
108
111
if (symbol_path == " " || symbol.name == " <init>" ) return
109
112
110
- // println(symbol_path, symbol, range)
111
113
occurrences =
112
114
occurrences :+
113
115
s.SymbolOccurrence (
@@ -136,30 +138,26 @@ class SemanticdbConsumer extends TastyConsumer {
136
138
range.endColumn)
137
139
}
138
140
141
+ def typetreeSymbol (typetree : TypeTree ): Unit =
142
+ typetree match {
143
+ case TypeTree .Synthetic => ()
144
+ case _ =>
145
+ addOccurence(typetree.symbol,
146
+ s.SymbolOccurrence .Role .REFERENCE ,
147
+ range(typetree.pos, typetree.symbol.name))
148
+ }
149
+
139
150
override def traverseTree (tree : Tree )(implicit ctx : Context ): Unit = {
140
151
// println(tree.pos.startColumn, tree.symbol.name, tree.pos.endColumn)
141
152
tree match {
142
153
case IsDefinition (body) => {
143
-
144
- def typetreeSymbol (typetree : TypeTree ): Unit =
145
- typetree match {
146
- case TypeTree .Synthetic => ()
147
- case _ =>
148
- println(tree.symbol,
149
- typetree,
150
- iterateParent(TypeTree .symbol(typetree)))
151
- addOccurence(
152
- TypeTree .symbol(typetree),
153
- s.SymbolOccurrence .Role .REFERENCE ,
154
- range(typetree.pos, TypeTree .symbol(typetree).name))
154
+ if (tree.symbol.name != " <init>" ) {
155
+ val _ = tree match {
156
+ case DefDef (_, _, _, typetree, _) => typetreeSymbol(typetree)
157
+ case ValDef (_, typetree, _) => typetreeSymbol(typetree)
158
+ case _ => ()
155
159
}
156
-
157
- val _ = tree match {
158
- case DefDef (_, _, _, typetree, _) => typetreeSymbol(typetree)
159
- case ValDef (_, typetree, _) => typetreeSymbol(typetree)
160
- case _ => ()
161
160
}
162
-
163
161
addOccurence(tree.symbol,
164
162
s.SymbolOccurrence .Role .DEFINITION ,
165
163
range(tree.symbol.pos, tree.symbol.name))
@@ -173,14 +171,20 @@ class SemanticdbConsumer extends TastyConsumer {
173
171
super .traverseTree(tree)
174
172
}
175
173
176
- case Term .Ident (body ) => {
174
+ case Term .Ident (_ ) => {
177
175
// println(tree.pos.startColumn, tree.pos.endColumn)
178
176
// println(tree.namePos.startColumn, tree.namePos.endColumn)
179
177
addOccurence(tree.symbol,
180
178
s.SymbolOccurrence .Role .REFERENCE ,
181
179
range(tree.pos, tree.symbol.name))
182
180
super .traverseTree(tree)
183
181
}
182
+ case PackageClause (_) =>
183
+ addOccurence(tree.symbol,
184
+ s.SymbolOccurrence .Role .REFERENCE ,
185
+ range(tree.pos, tree.symbol.name))
186
+ super .traverseTree(tree)
187
+
184
188
case tree =>
185
189
super .traverseTree(tree)
186
190
}
0 commit comments