Enum GenericTypeAwareAssigner

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

    public enum GenericTypeAwareAssigner
    extends java.lang.Enum<GenericTypeAwareAssigner>
    implements Assigner

    An assigner implementation that considers generic type assignability.

    Important: This implementation does not currently support method variables and their type inference.

    • Constructor Detail

      • GenericTypeAwareAssigner

        private GenericTypeAwareAssigner()
    • Method Detail

      • values

        public static GenericTypeAwareAssigner[] 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 (GenericTypeAwareAssigner c : GenericTypeAwareAssigner.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static GenericTypeAwareAssigner 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
      • assign

        public StackManipulation assign​(TypeDescription.Generic source,
                                        TypeDescription.Generic target,
                                        Assigner.Typing typing)
        Specified by:
        assign in interface Assigner
        Parameters:
        source - The original type that is to be transformed into the targetType.
        target - The target type into which the sourceType is to be converted.
        typing - A hint whether the assignment should consider the runtime type of the source type, i.e. if type down or cross castings are allowed. If this hint is set, this is also an indication that void to non-void assignments are permitted.
        Returns:
        A stack manipulation that transforms the sourceType into the targetType if this is possible. An illegal stack manipulation otherwise.