Class JavaConstant.MethodHandle.Dispatcher.AbstractBase

    • Field Detail

      • publicLookup

        protected final Method publicLookup
        A reference to java.lang.invoke.MethodHandles#publicLookup.
      • getName

        protected final Method getName
        A reference to java.lang.invoke.MethodHandleInfo#getName.
      • getDeclaringClass

        protected final Method getDeclaringClass
        A reference to java.lang.invoke.MethodHandleInfo#getDeclaringClass.
      • getReferenceKind

        protected final Method getReferenceKind
        A reference to java.lang.invoke.MethodHandleInfo#getReferenceKind.
      • getMethodType

        protected final Method getMethodType
        A reference to java.lang.invoke.MethodHandleInfo#getMethodType.
      • returnType

        protected final Method returnType
        A reference to java.lang.invoke.MethodType#returnType.
      • parameterArray

        protected final Method parameterArray
        A reference to java.lang.invoke.MethodType#parameterArray.
      • lookupClass

        protected final Method lookupClass
        A reference to java.lang.invoke.MethodHandles$Lookup#lookupClass method.
    • Constructor Detail

      • AbstractBase

        protected AbstractBase​(Method publicLookup,
                               Method getName,
                               Method getDeclaringClass,
                               Method getReferenceKind,
                               Method getMethodType,
                               Method returnType,
                               Method parameterArray,
                               Method lookupClass)
        Creates a legal dispatcher.
        Parameters:
        publicLookup - A reference to java.lang.invoke.MethodHandles#publicLookup.
        getName - A reference to java.lang.invoke.MethodHandleInfo#getName.
        getDeclaringClass - A reference to java.lang.invoke.MethodHandleInfo#getDeclaringClass.
        getReferenceKind - A reference to java.lang.invoke.MethodHandleInfo#getReferenceKind.
        getMethodType - A reference to java.lang.invoke.MethodHandleInfo#getMethodType.
        returnType - A reference to java.lang.invoke.MethodType#returnType.
        parameterArray - A reference to java.lang.invoke.MethodType#parameterArray.
        lookupClass - A reference to java.lang.invoke.MethodHandles$Lookup#lookupClass method.
    • Method Detail

      • getMethodType

        public Object getMethodType​(Object methodHandleInfo)
        Returns a method handle info's method type.
        Specified by:
        getMethodType in interface JavaConstant.MethodHandle.Dispatcher
        Parameters:
        methodHandleInfo - The method handle info to introspect.
        Returns:
        The java.lang.invoke.MethodType instance representing the method handle's type.
      • getReferenceKind

        public int getReferenceKind​(Object methodHandleInfo)
        Returns the reference kind of the supplied method handle info.
        Specified by:
        getReferenceKind in interface JavaConstant.MethodHandle.Dispatcher
        Parameters:
        methodHandleInfo - The method handle to be introspected.
        Returns:
        The method handle info's reference type.
      • getDeclaringClass

        public Class<?> getDeclaringClass​(Object methodHandleInfo)
        Returns the declaring class of the supplied method handle info.
        Specified by:
        getDeclaringClass in interface JavaConstant.MethodHandle.Dispatcher
        Parameters:
        methodHandleInfo - The method handle to be introspected.
        Returns:
        The method handle info's declaring class.
      • getName

        public String getName​(Object methodHandleInfo)
        Returns the method name of the supplied method handle info.
        Specified by:
        getName in interface JavaConstant.MethodHandle.Dispatcher
        Parameters:
        methodHandleInfo - The method handle to be introspected.
        Returns:
        The method handle info's method name.
      • returnType

        public Class<?> returnType​(Object methodType)
        Returns the return type of the supplied method type.
        Specified by:
        returnType in interface JavaConstant.MethodHandle.Dispatcher
        Parameters:
        methodType - The method type to be introspected.
        Returns:
        The method type's return type.
      • parameterArray

        public List<? extends Class<?>> parameterArray​(Object methodType)
        Returns the parameter types of the supplied method type.
        Specified by:
        parameterArray in interface JavaConstant.MethodHandle.Dispatcher
        Parameters:
        methodType - The method type to be introspected.
        Returns:
        The method type's parameter types.