Class TypeProxy.SilentConstruction.Appender

    • Field Detail

      • REFLECTION_FACTORY_INTERNAL_NAME

        public static final java.lang.String REFLECTION_FACTORY_INTERNAL_NAME
        The internal name of the reflection factory class.
        See Also:
        Constant Field Values
      • GET_REFLECTION_FACTORY_METHOD_NAME

        public static final java.lang.String GET_REFLECTION_FACTORY_METHOD_NAME
        The name of the factory method for getting hold of an instance of the reflection factory class.
        See Also:
        Constant Field Values
      • GET_REFLECTION_FACTORY_METHOD_DESCRIPTOR

        public static final java.lang.String GET_REFLECTION_FACTORY_METHOD_DESCRIPTOR
        The descriptor of the factory method for getting hold of an instance of the reflection factory class.
        See Also:
        Constant Field Values
      • NEW_CONSTRUCTOR_FOR_SERIALIZATION_METHOD_NAME

        public static final java.lang.String NEW_CONSTRUCTOR_FOR_SERIALIZATION_METHOD_NAME
        The name of the method for creating a new serialization constructor.
        See Also:
        Constant Field Values
      • NEW_CONSTRUCTOR_FOR_SERIALIZATION_METHOD_DESCRIPTOR

        public static final java.lang.String NEW_CONSTRUCTOR_FOR_SERIALIZATION_METHOD_DESCRIPTOR
        The descriptor of the method for creating a new serialization constructor.
        See Also:
        Constant Field Values
      • JAVA_LANG_OBJECT_DESCRIPTOR

        public static final java.lang.String JAVA_LANG_OBJECT_DESCRIPTOR
        The descriptor of the Object class.
        See Also:
        Constant Field Values
      • JAVA_LANG_OBJECT_INTERNAL_NAME

        public static final java.lang.String JAVA_LANG_OBJECT_INTERNAL_NAME
        The internal name of the Object class.
        See Also:
        Constant Field Values
      • JAVA_LANG_CONSTRUCTOR_INTERNAL_NAME

        public static final java.lang.String JAVA_LANG_CONSTRUCTOR_INTERNAL_NAME
        The internal name of the Constructor class.
        See Also:
        Constant Field Values
      • NEW_INSTANCE_METHOD_NAME

        public static final java.lang.String NEW_INSTANCE_METHOD_NAME
        The internal name of the Constructor.newInstance(Object...) method.
        See Also:
        Constant Field Values
      • NEW_INSTANCE_METHOD_DESCRIPTOR

        public static final java.lang.String NEW_INSTANCE_METHOD_DESCRIPTOR
        The descriptor of the Constructor.newInstance(Object...) method.
        See Also:
        Constant Field Values
      • JAVA_LANG_CLASS_INTERNAL_NAME

        public static final java.lang.String JAVA_LANG_CLASS_INTERNAL_NAME
        The internal name of the Class class.
        See Also:
        Constant Field Values
      • GET_DECLARED_CONSTRUCTOR_METHOD_NAME

        public static final java.lang.String GET_DECLARED_CONSTRUCTOR_METHOD_NAME
        The internal name of the Class.getDeclaredClasses() method.
        See Also:
        Constant Field Values
      • GET_DECLARED_CONSTRUCTOR_METHOD_DESCRIPTOR

        public static final java.lang.String GET_DECLARED_CONSTRUCTOR_METHOD_DESCRIPTOR
        The descriptor of the Class.getDeclaredClasses() method.
        See Also:
        Constant Field Values
      • instrumentedType

        private final TypeDescription instrumentedType
        The instrumented type that this factory method is created for.
    • Constructor Detail

      • Appender

        private Appender​(TypeDescription instrumentedType)
        Creates a new appender.
        Parameters:
        instrumentedType - The instrumented type that the factory method is created for.
    • Method Detail

      • apply

        public ByteCodeAppender.Size apply​(org.objectweb.asm.MethodVisitor methodVisitor,
                                           Implementation.Context implementationContext,
                                           MethodDescription instrumentedMethod)
        Applies this byte code appender to a type creation process.
        Specified by:
        apply in interface ByteCodeAppender
        Parameters:
        methodVisitor - The method visitor to which the byte code appender writes its code to.
        implementationContext - The implementation context of the current type creation process.
        instrumentedMethod - The method that is the target of the instrumentation.
        Returns:
        The required size for the applied byte code to run.