Class TypeWriter.Default.ForInlining.RedefinitionClassVisitor

  • Enclosing class:
    TypeWriter.Default.ForInlining<U>

    protected class TypeWriter.Default.ForInlining.RedefinitionClassVisitor
    extends org.objectweb.asm.ClassVisitor
    A class visitor which is capable of applying a redefinition of an existing class file.
    • Field Summary

      • Fields inherited from class org.objectweb.asm.ClassVisitor

        api, cv
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected org.objectweb.asm.MethodVisitor redefine​(MethodDescription methodDescription, boolean abstractOrigin, java.lang.String genericSignature)
      Redefines a given method if this is required by looking up a potential implementation from the TypeWriter.MethodPool.
      protected org.objectweb.asm.FieldVisitor redefine​(TypeWriter.FieldPool.Record record, java.lang.Object defaultValue, java.lang.String genericSignature)
      Redefines a field using the given explicit field pool record and default value.
      void visit​(int classFileVersionNumber, int modifiers, java.lang.String internalName, java.lang.String genericSignature, java.lang.String superClassInternalName, java.lang.String[] interfaceTypeInternalName)  
      org.objectweb.asm.AnnotationVisitor visitAnnotation​(java.lang.String descriptor, boolean visible)  
      void visitEnd()  
      org.objectweb.asm.FieldVisitor visitField​(int modifiers, java.lang.String internalName, java.lang.String descriptor, java.lang.String genericSignature, java.lang.Object defaultValue)  
      void visitInnerClass​(java.lang.String internalName, java.lang.String outerName, java.lang.String innerName, int modifiers)  
      org.objectweb.asm.MethodVisitor visitMethod​(int modifiers, java.lang.String internalName, java.lang.String descriptor, java.lang.String genericSignature, java.lang.String[] exceptionName)  
      org.objectweb.asm.AnnotationVisitor visitTypeAnnotation​(int typeReference, org.objectweb.asm.TypePath typePath, java.lang.String descriptor, boolean visible)  
      • Methods inherited from class org.objectweb.asm.ClassVisitor

        visitAttribute, visitModule, visitNestHost, visitNestMember, visitOuterClass, visitPermittedSubclass, visitRecordComponent, visitSource
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • RedefinitionClassVisitor

        protected RedefinitionClassVisitor​(org.objectweb.asm.ClassVisitor classVisitor,
                                           TypeInitializer typeInitializer,
                                           TypeWriter.Default.ForInlining.ContextRegistry contextRegistry,
                                           int writerFlags,
                                           int readerFlags)
        Creates a class visitor which is capable of redefining an existent class on the fly.
        Parameters:
        classVisitor - The underlying class visitor to which writes are delegated.
        typeInitializer - The type initializer to apply.
        contextRegistry - A context registry to register the lazily created implementation context to.
        writerFlags - The writer flags being used.
        readerFlags - The reader flags being used.
    • Method Detail

      • visit

        public void visit​(int classFileVersionNumber,
                          int modifiers,
                          java.lang.String internalName,
                          java.lang.String genericSignature,
                          java.lang.String superClassInternalName,
                          java.lang.String[] interfaceTypeInternalName)
        Overrides:
        visit in class org.objectweb.asm.ClassVisitor
      • visitInnerClass

        public void visitInnerClass​(java.lang.String internalName,
                                    java.lang.String outerName,
                                    java.lang.String innerName,
                                    int modifiers)
        Overrides:
        visitInnerClass in class org.objectweb.asm.ClassVisitor
      • visitTypeAnnotation

        public org.objectweb.asm.AnnotationVisitor visitTypeAnnotation​(int typeReference,
                                                                       org.objectweb.asm.TypePath typePath,
                                                                       java.lang.String descriptor,
                                                                       boolean visible)
        Overrides:
        visitTypeAnnotation in class org.objectweb.asm.ClassVisitor
      • visitAnnotation

        public org.objectweb.asm.AnnotationVisitor visitAnnotation​(java.lang.String descriptor,
                                                                   boolean visible)
        Overrides:
        visitAnnotation in class org.objectweb.asm.ClassVisitor
      • visitField

        public org.objectweb.asm.FieldVisitor visitField​(int modifiers,
                                                         java.lang.String internalName,
                                                         java.lang.String descriptor,
                                                         java.lang.String genericSignature,
                                                         java.lang.Object defaultValue)
        Overrides:
        visitField in class org.objectweb.asm.ClassVisitor
      • redefine

        protected org.objectweb.asm.FieldVisitor redefine​(TypeWriter.FieldPool.Record record,
                                                          java.lang.Object defaultValue,
                                                          java.lang.String genericSignature)
        Redefines a field using the given explicit field pool record and default value.
        Parameters:
        record - The field pool value to apply during visitation of the existing field.
        defaultValue - The default value to write onto the field which might be null.
        genericSignature - The field's original generic signature which can be null.
        Returns:
        A field visitor for visiting the existing field definition.
      • visitMethod

        public org.objectweb.asm.MethodVisitor visitMethod​(int modifiers,
                                                           java.lang.String internalName,
                                                           java.lang.String descriptor,
                                                           java.lang.String genericSignature,
                                                           java.lang.String[] exceptionName)
        Overrides:
        visitMethod in class org.objectweb.asm.ClassVisitor
      • redefine

        protected org.objectweb.asm.MethodVisitor redefine​(MethodDescription methodDescription,
                                                           boolean abstractOrigin,
                                                           java.lang.String genericSignature)
        Redefines a given method if this is required by looking up a potential implementation from the TypeWriter.MethodPool.
        Parameters:
        methodDescription - The method being considered for redefinition.
        abstractOrigin - true if the original method is abstract, i.e. there is no implementation to preserve.
        genericSignature - The method's original generic signature which can be null.
        Returns:
        A method visitor which is capable of consuming the original method.
      • visitEnd

        public void visitEnd()
        Overrides:
        visitEnd in class org.objectweb.asm.ClassVisitor