Class InstrumentationMemberAccessor

    • Field Detail

      • WRAPPERS

        private static final java.util.Map<java.lang.Class<?>,​java.lang.Class<?>> WRAPPERS
      • INSTRUMENTATION

        private static final java.lang.instrument.Instrumentation INSTRUMENTATION
      • INITIALIZATION_ERROR

        private static final java.lang.Throwable INITIALIZATION_ERROR
      • getModule

        private final java.lang.invoke.MethodHandle getModule
      • isOpen

        private final java.lang.invoke.MethodHandle isOpen
      • redefineModule

        private final java.lang.invoke.MethodHandle redefineModule
      • privateLookupIn

        private final java.lang.invoke.MethodHandle privateLookupIn
    • Constructor Detail

      • InstrumentationMemberAccessor

        InstrumentationMemberAccessor()
    • Method Detail

      • newInstance

        public java.lang.Object newInstance​(java.lang.reflect.Constructor<?> constructor,
                                            java.lang.Object... arguments)
                                     throws java.lang.InstantiationException,
                                            java.lang.reflect.InvocationTargetException
        Specified by:
        newInstance in interface MemberAccessor
        Throws:
        java.lang.InstantiationException
        java.lang.reflect.InvocationTargetException
      • newInstance

        public java.lang.Object newInstance​(java.lang.reflect.Constructor<?> constructor,
                                            MemberAccessor.OnConstruction onConstruction,
                                            java.lang.Object... arguments)
                                     throws java.lang.InstantiationException,
                                            java.lang.reflect.InvocationTargetException
        Specified by:
        newInstance in interface MemberAccessor
        Throws:
        java.lang.InstantiationException
        java.lang.reflect.InvocationTargetException
      • invoke

        public java.lang.Object invoke​(java.lang.reflect.Method method,
                                       java.lang.Object target,
                                       java.lang.Object... arguments)
                                throws java.lang.reflect.InvocationTargetException
        Specified by:
        invoke in interface MemberAccessor
        Throws:
        java.lang.reflect.InvocationTargetException
      • get

        public java.lang.Object get​(java.lang.reflect.Field field,
                                    java.lang.Object target)
        Specified by:
        get in interface MemberAccessor
      • set

        public void set​(java.lang.reflect.Field field,
                        java.lang.Object target,
                        java.lang.Object value)
                 throws java.lang.IllegalAccessException
        Specified by:
        set in interface MemberAccessor
        Throws:
        java.lang.IllegalAccessException
      • assureOpen

        private void assureOpen​(java.lang.Object module,
                                java.lang.String packageName)
                         throws java.lang.Throwable
        Throws:
        java.lang.Throwable
      • assureArguments

        private static void assureArguments​(java.lang.reflect.AccessibleObject target,
                                            java.lang.Object owner,
                                            java.lang.Class<?> type,
                                            java.lang.Object[] values,
                                            java.lang.Class<?>[] types)