Class MemberSubstitution.Substitution.Chain.Step.ForInvocation

    • Field Detail

      • methodDescription

        private final MethodDescription methodDescription
        The invoked method or constructor.
      • substitutions

        private final java.util.Map<java.lang.Integer,​java.lang.Integer> substitutions
        A mapping of substituted parameter indices. For targets that are non-static methods, the targeted index is increased by one.
      • assigner

        private final Assigner assigner
        The assigner to use.
      • typing

        private final Assigner.Typing typing
        The typing to use when assigning.
    • Constructor Detail

      • ForInvocation

        protected ForInvocation​(MethodDescription methodDescription,
                                java.util.Map<java.lang.Integer,​java.lang.Integer> substitutions,
                                Assigner assigner,
                                Assigner.Typing typing)
        Creates a new step of an invocation.
        Parameters:
        methodDescription - The invoked method or constructor.
        substitutions - A mapping of substituted parameter indices. For targets that are non-static methods, the targeted index is increased by one.
        assigner - The assigner to use.
        typing - The typing to use when assigning.
    • Method Detail

      • 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.