Class MemberSubstitution.Replacement.Binding.ForDynamicInvocation

    • Constructor Detail

      • ForDynamicInvocation

        protected ForDynamicInvocation​(JavaConstant.MethodType methodType,
                                       java.lang.String name,
                                       java.util.List<JavaConstant> arguments,
                                       MemberSubstitution.Substitution<? super MemberSubstitution.Target.ForDynamicInvocation> substitution)
        Creates a resolved binding for an invokedynamic expression.
        Parameters:
        methodType - The type of the lambda expression that is to be bound.
        name - The name of the lambda expression target.
        arguments - The constant arguments supplied to the bootstrap method.
        substitution - The substitution to apply.
    • Method Detail

      • make

        public StackManipulation make​(TypeList.Generic parameters,
                                      TypeDescription.Generic result,
                                      JavaConstant.MethodHandle methodHandle,
                                      StackManipulation stackManipulation,
                                      int freeOffset)
        Creates a stack manipulation that represents the substitution. This method can only be called for actually bound bindings.
        Specified by:
        make in interface MemberSubstitution.Replacement.Binding
        Parameters:
        parameters - The parameters that are accessible to the substitution target.
        result - The result that is expected from the substitution target or void if none is expected.
        methodHandle - A method handle that represents the original expression that is being substituted.
        stackManipulation - The original byte code expression that is being substituted.
        freeOffset - The first offset that can be used for storing local variables.
        Returns:
        A stack manipulation that represents the replacement.