@@ -5,6 +5,7 @@ import java.{util => ju}
5
5
6
6
import scala .collection .compat ._
7
7
import scala .collection .mutable
8
+ import scala .reflect .NameTransformer
8
9
import scala .reflect .internal .{Flags => gf }
9
10
import scala .reflect .io .VirtualDirectory
10
11
import scala .tools .nsc .Settings
@@ -72,6 +73,13 @@ class ScalafixGlobal(
72
73
import scala .meta .internal .semanticdb .Scala ._
73
74
if (! symbol.isGlobal) return Nil
74
75
76
+ def EncodedTermName (str : String ): TermName = TermName (
77
+ NameTransformer .encode(str)
78
+ )
79
+ def EncodedTypeName (str : String ): TypeName = TypeName (
80
+ NameTransformer .encode(str)
81
+ )
82
+
75
83
def loop (s : String ): List [Symbol ] = {
76
84
if (s.isNone || s.isRootPackage) rootMirror.RootPackage :: Nil
77
85
else if (s.isEmptyPackage) rootMirror.EmptyPackage :: Nil
@@ -95,20 +103,25 @@ class ScalafixGlobal(
95
103
case Descriptor .None =>
96
104
Nil
97
105
case Descriptor .Type (value) =>
98
- val member = owner.info.decl(TypeName (value)) :: Nil
99
- if (sym.isJava) owner.info.decl(TermName (value)) :: member
106
+ val member = owner.info.decl(EncodedTypeName (value)) :: Nil
107
+ if (sym.isJava)
108
+ owner.info.decl(EncodedTermName (value)) :: member
100
109
else member
101
110
case Descriptor .Term (value) =>
102
- owner.info.decl(TermName (value)) :: Nil
111
+ owner.info.decl(EncodedTermName (value)) :: Nil
103
112
case Descriptor .Package (value) =>
104
- owner.info.decl(TermName (value)) :: Nil
113
+ owner.info.decl(EncodedTermName (value)) :: Nil
105
114
case Descriptor .Parameter (value) =>
106
- owner.paramss.flatten.filter(_.name.containsName(value))
115
+ owner.paramss.flatten.filter(
116
+ _.name.containsName(EncodedTermName (value))
117
+ )
107
118
case Descriptor .TypeParameter (value) =>
108
- owner.typeParams.filter(_.name.containsName(value))
119
+ owner.typeParams.filter(
120
+ _.name.containsName(EncodedTypeName (value))
121
+ )
109
122
case Descriptor .Method (value, _) =>
110
123
owner.info
111
- .decl(TermName (value))
124
+ .decl(EncodedTermName (value))
112
125
.alternatives
113
126
.iterator
114
127
.filter(sym => semanticdbSymbol(sym) == s)
0 commit comments