Annotation Type Specialization


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

      Fields 
      Modifier and Type Fields Description
      static int DEFAULT_ORDER
      Deprecated.
      do not use anymore.
    • Optional Element Summary

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

      • DEFAULT_ORDER

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

      • 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

        java.lang.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

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

        java.lang.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

        java.lang.String[] guards
        Default:
        {}
      • assumptions

        java.lang.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:
        {}