@@ -83,10 +83,13 @@ class SemanticdbConsumer extends TastyConsumer {
8383 else {
8484 symbol match {
8585 case IsPackageSymbol (symbol) => symbol.name + " /"
86- case IsClassSymbol (symbol) => symbol.name + " #"
8786 case IsDefSymbol (symbol) =>
8887 symbol.name + disimbiguate(previous_symbol + symbol.name) + " ."
8988 case IsValSymbol (symbol) => symbol.name + " ."
89+ case IsTypeSymbol (symbol) =>
90+ symbol.name + " #"
91+ case IsClassSymbol (symbol) =>
92+ symbol.name + (if (symbol.flags.isObject) " ." else " #" )
9093 case owner => {
9194 " "
9295 }
@@ -107,7 +110,6 @@ class SemanticdbConsumer extends TastyConsumer {
107110 val symbol_path = iterateParent(symbol)
108111 if (symbol_path == " " || symbol.name == " <init>" ) return
109112
110- // println(symbol_path, symbol, range)
111113 occurrences =
112114 occurrences :+
113115 s.SymbolOccurrence (
@@ -136,30 +138,26 @@ class SemanticdbConsumer extends TastyConsumer {
136138 range.endColumn)
137139 }
138140
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+
139150 override def traverseTree (tree : Tree )(implicit ctx : Context ): Unit = {
140151 // println(tree.pos.startColumn, tree.symbol.name, tree.pos.endColumn)
141152 tree match {
142153 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 _ => ()
155159 }
156-
157- val _ = tree match {
158- case DefDef (_, _, _, typetree, _) => typetreeSymbol(typetree)
159- case ValDef (_, typetree, _) => typetreeSymbol(typetree)
160- case _ => ()
161160 }
162-
163161 addOccurence(tree.symbol,
164162 s.SymbolOccurrence .Role .DEFINITION ,
165163 range(tree.symbol.pos, tree.symbol.name))
@@ -173,14 +171,20 @@ class SemanticdbConsumer extends TastyConsumer {
173171 super .traverseTree(tree)
174172 }
175173
176- case Term .Ident (body ) => {
174+ case Term .Ident (_ ) => {
177175 // println(tree.pos.startColumn, tree.pos.endColumn)
178176 // println(tree.namePos.startColumn, tree.namePos.endColumn)
179177 addOccurence(tree.symbol,
180178 s.SymbolOccurrence .Role .REFERENCE ,
181179 range(tree.pos, tree.symbol.name))
182180 super .traverseTree(tree)
183181 }
182+ case PackageClause (_) =>
183+ addOccurence(tree.symbol,
184+ s.SymbolOccurrence .Role .REFERENCE ,
185+ range(tree.pos, tree.symbol.name))
186+ super .traverseTree(tree)
187+
184188 case tree =>
185189 super .traverseTree(tree)
186190 }
0 commit comments