Class MemberSubstitution.Substitution.Chain.Step.ForField

    • Field Detail

      • fieldDescription

        protected final FieldDescription fieldDescription
        The field description accessed in this step.
      • assigner

        protected final Assigner assigner
        The assigner to use.
      • typing

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

      • ForField

        protected ForField​(FieldDescription fieldDescription,
                           Assigner assigner,
                           Assigner.Typing typing)
        Creates a new step for a field access.
        Parameters:
        fieldDescription - The field description accessed in this step.
        assigner - The assigner to use.
        typing - The typing to use when assigning.
    • Method Detail

      • resolve

        public MemberSubstitution.Substitution.Chain.Step.Resolution resolve​(TypeDescription receiver,
                                                                             ByteCodeElement.Member original,
                                                                             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:
        receiver - The target result type of the substitution.
        original - The byte code element that is currently substituted.
        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.
      • doResolve

        protected abstract MemberSubstitution.Substitution.Chain.Step.Resolution doResolve​(ByteCodeElement.Member original,
                                                                                           TypeList.Generic parameters,
                                                                                           java.util.Map<java.lang.Integer,​java.lang.Integer> offsets,
                                                                                           StackManipulation stackManipulation)
        Completes the resolution.
        Parameters:
        original - The byte code element that is currently substituted.
        parameters - The parameters of the substituted element.
        offsets - The arguments of the substituted byte code element mapped to their local variable offsets.
        stackManipulation - A stack manipulation to prepare the field access.
        Returns:
        A resolved substitution step for the supplied inputs.