Enum Variance

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<Variance>

    public enum Variance
    extends java.lang.Enum<Variance>
    • Enum Constant Detail

      • COVARIANT

        public static final Variance COVARIANT
      • CONTRAVARIANT

        public static final Variance CONTRAVARIANT
      • INVARIANT

        public static final Variance INVARIANT
      • DEFAULT

        public static final Variance DEFAULT
      • PENDING

        public static final Variance PENDING
        internal use: variance inference
      • WILD_COVARIANT

        public static final Variance WILD_COVARIANT
        internal use: Java interop
      • WILD_CONTRAVARIANT

        public static final Variance WILD_CONTRAVARIANT
        internal use: Java interop
    • Field Detail

      • SUPPORT_DEFAULT_VARIANCE_CHECKING

        private static final boolean SUPPORT_DEFAULT_VARIANCE_CHECKING
        See Also:
        Constant Field Values
      • _desc

        private final java.lang.String _desc
      • _sign

        private final char _sign
    • Constructor Detail

      • Variance

        private Variance​(java.lang.String desc,
                         char sign)
    • Method Detail

      • values

        public static Variance[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (Variance c : Variance.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static Variance valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • getDesc

        public java.lang.String getDesc()
      • getSymbol

        public char getSymbol()
      • isTypeVarFromEnclosingType

        private static boolean isTypeVarFromEnclosingType​(IType enclosingType,
                                                          ITypeVariableType typeVar)
      • inferVariance

        private static void inferVariance​(IType genericType,
                                          java.util.Map<java.lang.String,​Variance> map)
      • verifyDefaultForVariance

        private static boolean verifyDefaultForVariance​(IType type)
      • verifyDefaultTypeVarVariance

        public static void verifyDefaultTypeVarVariance​(IType enclosingType,
                                                        Variance ctxVariance,
                                                        IType... types)
      • invertVariance

        private static Variance invertVariance​(Variance variance)