@@ -2,7 +2,6 @@ package impl
22
33import scala .meta ._
44import scala .meta .internal .pc .ScalafixGlobal
5- import scala .meta .internal .proxy .GlobalProxy
65
76import scalafix .v1 ._
87import scalafix .internal .rule .CompilerException
@@ -11,28 +10,15 @@ import scalafix.internal.rule.CompilerException
1110// From scalafix-rules/src/main/scala/scalafix/internal/rule/CompilerTypePrinter.scala#L55
1211// in scalacenter/scalafix (at db93793c2a8f80d0e7bbcacef729dc5c2fa7ceb8).
1312final class Power (g : ScalafixGlobal )(implicit doc : SemanticDocument ) {
14- private lazy val unit = g.newCompilationUnit(doc.input.text, doc.input.syntax)
15-
1613 def isJavaDefined (t : Tree ): Boolean = try {
17- val meth = gsymbol(t)
18- isJavaDefined1(meth) || meth.overrides.exists(isJavaDefined1)
14+ gsymbol(t).overrideChain.exists(sym => sym.isJavaDefined || sym.owner == g.definitions.AnyClass )
1915 } catch {
2016 case e : Throwable => throw CompilerException (e)
2117 }
2218
23- private def isJavaDefined1 (sym : g.Symbol ) =
24- sym.isJavaDefined || sym.owner == g.definitions.AnyClass
25-
2619 private def gsymbol (t : Tree ): g.Symbol = {
27- GlobalProxy .typedTreeAt(g, unit.position(t.pos.start))
28-
29- val sym = g
30- .inverseSemanticdbSymbols(t.symbol.value)
31- .find(t.symbol.value == g.semanticdbSymbol(_))
32- .getOrElse(g.NoSymbol )
33-
34- if (sym.info.exists(g.definitions.NothingTpe == _))
35- sym.overrides.lastOption.getOrElse(sym)
36- else sym
20+ val sSym = t.symbol
21+ val gSymbols = g.inverseSemanticdbSymbols(sSym.value)
22+ gSymbols.find(gSym => g.semanticdbSymbol(gSym) == sSym.value).getOrElse(g.NoSymbol )
3723 }
3824}
0 commit comments