scala

# annotation

#### package annotation

Content Hierarchy Learn more about scaladoc diagrams
Visibility

1. Public
2. All

### Type Members

1. #### abstract class Annotation extends AnyRef

   A base class for annotations.

2. #### trait ClassfileAnnotation extends Annotation with StaticAnnotation

   A base class for classfile annotations.

3. #### trait StaticAnnotation extends Annotation

   A base class for static annotations.

4. #### trait TypeConstraint extends Annotation

   A marker for annotations that, when applied to a type, should be treated as a constraint on the annotated type.

5. #### final class compileTimeOnly extends Annotation with StaticAnnotation

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

6. #### final class elidable extends Annotation with StaticAnnotation

   An annotation for methods whose bodies may be excluded from compiler-generated bytecode.

7. #### final class implicitNotFound extends Annotation with StaticAnnotation

   To customize the error message that's emitted when an implicit of type C[T1,.

8. #### class strictfp extends Annotation with StaticAnnotation

   If this annotation is present on a method or its enclosing class, the strictfp flag will be emitted.

9. #### final class switch extends Annotation with StaticAnnotation

   An annotation to be applied to a match expression.

10. #### final class tailrec extends Annotation with StaticAnnotation

    A method annotation which verifies that the method will be compiled with tail call optimization.

11. #### class unspecialized extends Annotation with StaticAnnotation

    A method annotation which suppresses the creation of additional specialized forms based on enclosing specialized type parameters.

12. #### final class varargs extends Annotation with StaticAnnotation

    A method annotation which instructs the compiler to generate a Java varargs-style forwarder method for interop.

### Value Members

1. #### object elidable

   This useless appearing code was necessary to allow people to use named constants for the elidable annotation.

2. #### package meta

   When defining a field, the Scala compiler creates up to four accessors for it: a getter, a setter, and if the field is annotated with `@BeanProperty`, a bean getter and a bean setter.

3. #### package unchecked

### Ungrouped