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
- Self type
-
elidable.type
Members list
Value members
Concrete fields
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
Attributes
- Source
- elidable.scala
Attributes
- Source
- elidable.scala
Attributes
- Source
- elidable.scala
Attributes
- Source
- elidable.scala
Attributes
- Source
- elidable.scala
Attributes
- Source
- elidable.scala
Attributes
- Source
- elidable.scala
Attributes
- Source
- elidable.scala
Attributes
- Source
- elidable.scala
Attributes
- Source
- elidable.scala
Attributes
- Source
- elidable.scala
Attributes
- Source
- elidable.scala