Class MethodInvocation.DynamicInvocation

    • Field Detail

      • methodName

        private final java.lang.String methodName
        The internal name of the method that is to be bootstrapped.
      • returnType

        private final TypeDescription returnType
        The return type of the method to be bootstrapped.
      • parameterTypes

        private final java.util.List<? extends TypeDescription> parameterTypes
        The parameter types of the method to be bootstrapped.
      • arguments

        private final java.util.List<?> arguments
        The list of arguments to be handed over to the bootstrap method.
    • Constructor Detail

      • DynamicInvocation

        public DynamicInvocation​(java.lang.String methodName,
                                 TypeDescription returnType,
                                 java.util.List<? extends TypeDescription> parameterTypes,
                                 MethodDescription.InDefinedShape bootstrapMethod,
                                 java.util.List<?> arguments)
        Creates a new dynamic method invocation.
        Parameters:
        methodName - The internal name of the method that is to be bootstrapped.
        returnType - The return type of the method to be bootstrapped.
        parameterTypes - The type of the parameters to be bootstrapped.
        bootstrapMethod - The bootstrap method.
        arguments - The list of arguments to be handed over to the bootstrap method.
    • Method Detail

      • isValid

        public boolean isValid()
        Determines if this stack manipulation is valid.
        Specified by:
        isValid in interface StackManipulation
        Returns:
        If false, this manipulation cannot be applied and should throw an exception.
      • apply

        public StackManipulation.Size apply​(org.objectweb.asm.MethodVisitor methodVisitor,
                                            Implementation.Context implementationContext)
        Applies the stack manipulation that is described by this instance.
        Specified by:
        apply in interface StackManipulation
        Parameters:
        methodVisitor - The method visitor used to write the method implementation to.
        implementationContext - The context of the current implementation.
        Returns:
        The changes to the size of the operand stack that are implied by this stack manipulation.