Annotation Type Specialization


@Retention(RUNTIME) @Target(METHOD) public @interface Specialization
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Defines the assumptions to check for this specialization.
    The contains attribute declares all specializations that are contained by this specialization.
     
    Inserts this and all specializations that are declared after this specialization before a specialization in the superclass.
    int
    Deprecated.
    use declaration order instead.
    Class<? extends Throwable>[]
     
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Deprecated.
    do not use anymore.
  • Field Details

    • DEFAULT_ORDER

      @Deprecated static final int DEFAULT_ORDER
      Deprecated.
      do not use anymore. Will get removed in the next release.
      See Also:
  • Element Details

    • order

      @Deprecated int order
      Deprecated.
      use declaration order instead. Will get removed in the next release.
      The order has no effect anymore. The declaration order specialization methods is used instead.
      Default:
      -1
    • insertBefore

      String insertBefore
      Inserts this and all specializations that are declared after this specialization before a specialization in the superclass. By default all specializations of the subclass are appended to the specializations of the superclass.
      Default:
      ""
    • rewriteOn

      Class<? extends Throwable>[] rewriteOn
      Default:
      {}
    • contains

      String[] contains
      The contains attribute declares all specializations that are contained by this specialization. A containing specialization must be strictly generic as the contained specialization.
      Default:
      {}
    • guards

      String[] guards
      Default:
      {}
    • assumptions

      String[] assumptions
      Defines the assumptions to check for this specialization. When the specialization method is invoked it is guaranteed that these assumptions still hold. It is not guaranteed that they are checked before the guards() methods. They may be checked before after or in between guards(). To declare assumptions use the NodeAssumptions annotation at class level.
      Default:
      {}