Class MemberSubstitution.Substitution.Chain.Step.ForArgumentSubstitution

    • Field Detail

      • substitution

        private final StackManipulation substitution
        The stack manipulation that loads the substituted argument.
      • index

        private final int index
        The index of the argument to substitute.
      • assigner

        private final Assigner assigner
        The assigner to use for assigning the argument.
      • typing

        private final Assigner.Typing typing
        The typing to use for the argument assignment.
    • Constructor Detail

      • ForArgumentSubstitution

        protected ForArgumentSubstitution​(StackManipulation substitution,
                                          TypeDescription.Generic typeDescription,
                                          int index,
                                          Assigner assigner,
                                          Assigner.Typing typing)
        Creates an argument substitution step.
        Parameters:
        substitution - The stack manipulation that loads the substituted argument.
        typeDescription - The type of the substituted argument.
        index - The index of the argument to substitute.
        assigner - The assigner to use for assigning the argument.
        typing - The typing to use for the argument assignment.
    • Method Detail

      • of

        public static MemberSubstitution.Substitution.Chain.Step.Factory of​(java.lang.Object value,
                                                                            int index)
        Resolves a step substitution factory for a compile-time constant to replace an argument value at a given index.
        Parameters:
        value - The compile-time constant to replace.
        index - The index of the substituted argument.
        Returns:
        An appropriate step factory.
      • resolve

        public MemberSubstitution.Substitution.Chain.Step.Resolution resolve​(MemberSubstitution.Target target,
                                                                             TypeList.Generic parameters,
                                                                             TypeDescription.Generic result,
                                                                             JavaConstant.MethodHandle methodHandle,
                                                                             StackManipulation stackManipulation,
                                                                             TypeDescription.Generic current,
                                                                             java.util.Map<java.lang.Integer,​java.lang.Integer> offsets,
                                                                             int freeOffset)
        Resolves this step of a substitution chain.
        Specified by:
        resolve in interface MemberSubstitution.Substitution.Chain.Step
        Parameters:
        target - The target member of invokedynamic invocation.
        parameters - The parameters of the substituted element.
        result - The resulting type of the substituted element.
        methodHandle - A method handle of the stackManipulation invocation that is being substituted.
        stackManipulation - The byte code instruction that is being substituted.
        current - The current type of the applied substitution that is the top element on the operand stack.
        offsets - The arguments of the substituted byte code element mapped to their local variable offsets.
        freeOffset - The first free offset in the local variable array.
        Returns:
        A resolved substitution step for the supplied inputs.