Class BaseSubclassGenerator

Direct Known Subclasses:
SubclassGenerationModifier

public class BaseSubclassGenerator extends BaseClassModifier
  • Field Details

    • mockedTypeInfo

      @Nullable protected final MockedTypeInfo mockedTypeInfo
  • Constructor Details

    • BaseSubclassGenerator

      protected BaseSubclassGenerator(@NonNull Class<?> baseClass, @NonNull ClassReader cr, @Nullable Type genericMockedType, @NonNull String subclassName, boolean copyConstructors)
  • Method Details

    • visit

      public void visit(int version, int access, @NonNull String name, @NonNull ClassInfo additionalInfo)
      Description copied from class: ClassVisitor
      Visits the header of the class.
      Overrides:
      visit in class BaseClassModifier
      Parameters:
      version - the class version
      access - the class's access flags (see Access)
      name - the internal name of the class
      additionalInfo - additional class information
    • visitInnerClass

      public final void visitInnerClass(@NonNull String name, @Nullable String outerName, @Nullable String innerName, int access)
      Description copied from class: ClassVisitor
      Visits information about an inner class, which is not necessarily a member of the class being visited.
      Overrides:
      visitInnerClass in class WrappingClassVisitor
      Parameters:
      name - the internal name of an inner class
      outerName - the internal name of the class to which the inner class belongs; null for not member classes
      innerName - the (simple) name of the inner class inside its enclosing class; null for anonymous inner classes
      access - the access flags of the inner class as originally declared in the enclosing class
    • visitField

      @Nullable public final FieldVisitor visitField(int access, @NonNull String name, @NonNull String desc, @Nullable String signature, @Nullable Object value)
      Description copied from class: ClassVisitor
      Visits a field of the class.
      Overrides:
      visitField in class WrappingClassVisitor
      Parameters:
      access - the field's access flags (see Access)
      name - the field's name
      desc - the field's descriptor (see JavaType)
      signature - the field's signature; null when the field's type does not use generic types
      value - the field's initial value; null when the field does not have an initial value; otherwise, must be an Integer, a Float, a Long, a Double or a String (for int, float, long or String fields respectively); this parameter is only used for static fields; its value is ignored for non static fields, which must be initialized through bytecode instructions in constructors or methods
      Returns:
      a visitor to visit field annotations and attributes, or null if this class visitor is not interested in visiting these annotations and attributes
    • visitMethod

      @Nullable public MethodVisitor visitMethod(int access, @NonNull String name, @NonNull String desc, @Nullable String signature, @Nullable String[] exceptions)
      Description copied from class: ClassVisitor
      Visits a method of the class. This method must return a new MethodVisitor instance (or null) each time it is called, i.e., it should not return a previously returned visitor.
      Overrides:
      visitMethod in class WrappingClassVisitor
      Parameters:
      access - the method's access flags (see Opcodes)
      name - the method's name
      desc - the method's descriptor (see JavaType)
      signature - the method's signature, null if the method parameters, return type and exceptions do not use generic types
      exceptions - the internal names of the method's exception classes
      Returns:
      an object to visit the byte code of the method, or null if this class visitor is not interested in visiting the code of this method
    • generateMethodImplementation

      protected void generateMethodImplementation(String className, int access, @NonNull String name, @NonNull String desc, @Nullable String signature, @Nullable String[] exceptions)
    • visitEnd

      public void visitEnd()
      Description copied from class: BaseWriter
      Visits the end of the class/field/method being visited. This method, which is the last one to be called, is used to inform the visitor that all the annotations and attributes of the class/field/method have been visited.
      Overrides:
      visitEnd in class BaseWriter