aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/transform/SymUtils.scala
blob: 18107298390b3529fc15b2505510b6fe2d1dd01c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package dotty.tools.dotc
package transform

import core._
import Types._
import Contexts._
import Symbols._
import Decorators._
import StdNames.nme
import NameOps._
import language.implicitConversions

object SymUtils {
  implicit def decorateSymUtils(sym: Symbol): SymUtils = new SymUtils(sym)
}

/** A decorator that provides methods on symbols
 *  that are needed in the transformer pipeline.
 */
class SymUtils(val self: Symbol) extends AnyVal {

  def isTypeTestOrCast(implicit ctx: Context): Boolean =
    self == defn.Any_asInstanceOf || self == defn.Any_isInstanceOf
}