scala.annotation

switch

class switch extends Annotation with StaticAnnotation

An annotation to be applied to a match expression. If present, the compiler will verify that the match has been compiled to a tableswitch or lookupswitch and issue an error if it instead compiles into a series of conditional expressions. Example usage:

  val Constant = 'Q'
  def tokenMe(ch: Char) = (ch: @switch) match {
    case ' ' | '\t' | '\n'  => 1
    case 'A' | 'Z' | '$'    => 2
    case '5' | Constant     => 3  // a non-literal may prevent switch generation: this would not compile
    case _                  => 4
  }
Attributes
final
Source
switch.scala
Since

2.8

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. switch
  2. StaticAnnotation
  3. Annotation
  4. AnyRef
  5. Any
Visibility
  1. Public
  2. All

Instance Constructors

  1. new switch ()