elidable

scala.annotation.elidable
See theelidable companion class
object elidable

This useless appearing code was necessary to allow people to use named constants for the elidable annotation. This is what it takes to convince the compiler to fold the constants: otherwise when it's time to check an elision level it's staring at a tree like

(Select(Level, Select(FINEST, Apply(intValue, Nil))))

instead of the number 300.

Attributes

Companion
class
Source
elidable.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
elidable.type

Members list

Value members

Concrete fields

final val ALL: -2147483648

The levels ALL and OFF are confusing in this context because the sentiment being expressed when using the annotation is at cross purposes with the one being expressed via -Xelide-below.

The levels ALL and OFF are confusing in this context because the sentiment being expressed when using the annotation is at cross purposes with the one being expressed via -Xelide-below. This confusion reaches its zenith at level OFF, where the annotation means never elide this method but -Xelide-below OFF is how you would say elide everything possible.

With no simple remedy at hand, the issue is now at least documented, and aliases MAXIMUM and MINIMUM are offered.

Attributes

Source
elidable.scala
final val ASSERTION: 2000

Attributes

Source
elidable.scala
final val CONFIG: 700

Attributes

Source
elidable.scala
final val FINE: 500

Attributes

Source
elidable.scala
final val FINER: 400

Attributes

Source
elidable.scala
final val FINEST: 300

Attributes

Source
elidable.scala
final val INFO: 800

Attributes

Source
elidable.scala
final val MAXIMUM: 2147483647

Attributes

Source
elidable.scala
final val MINIMUM: -2147483648

Attributes

Source
elidable.scala
final val OFF: 2147483647

Attributes

Source
elidable.scala
final val SEVERE: 1000

Attributes

Source
elidable.scala
final val WARNING: 900

Attributes

Source
elidable.scala
val byName: Map[String, Int]

Attributes

Source
elidable.scala