summaryrefslogtreecommitdiff
path: root/src/library/scala/reflect/base/Constants.scala
blob: 8f98e85ad037297588c918e216ca8791002db894 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* NSC -- new Scala compiler
 * Copyright 2005-2011 LAMP/EPFL
 * @author  Martin Odersky
 */

package scala.reflect
package base

trait Constants {
  self: Universe =>

  type Constant >: Null <: AnyRef
  implicit val ConstantTag: ClassTag[Constant]
  val Constant: ConstantExtractor

  abstract class ConstantExtractor {
    def apply(value: Any): Constant
    def unapply(arg: Constant): Option[Any]
  }
}