blob: 20afc8eb4dc403d9732eb93898e2d86601ff8e1d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
package dotty.tools.dotc
package transform
import core._
import DenotTransformers.SymTransformer
import Phases.Phase
import Contexts.Context
import SymDenotations.SymDenotation
import TreeTransforms.MiniPhaseTransform
import Flags.Local
/** Widens all private[this] and protected[this] qualifiers to just private/protected */
class ElimLocals extends MiniPhaseTransform with SymTransformer { thisTransformer =>
override def phaseName = "elimLocals"
def transformSym(ref: SymDenotation)(implicit ctx: Context) =
dropLocal(ref)
private def dropLocal(ref: SymDenotation)(implicit ctx: Context) =
if (ref.flags is Local) ref.copySymDenotation(initFlags = ref.flags &~ Local)
else ref
}
|