compileTimeOnly

scala.annotation.compileTimeOnly
final class compileTimeOnly(message: String) extends StaticAnnotation

An annotation that designates that an annottee should not be referred to after type checking (which includes macro expansion).

Examples of potential use: 1) The annottee can only appear in the arguments of some other macro that will eliminate it from the AST during expansion. 2) The annottee is a macro and should have been expanded away, so if hasn't, something wrong has happened. (Comes in handy to provide better support for new macro flavors, e.g. macro annotations, that can't be expanded by the vanilla compiler).

Attributes

message

the error message to print during compilation if a reference remains after type checking

Source:
compileTimeOnly.scala
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Concise view