jodd-proxetta/src/main/java/jodd/asm7/ClassWriter.java
@Override
  public final void visit(
      final int version,
      final int access,
      final String name,
      final String signature,
      final String superName,
      final String[] interfaces) {
    this.version = version;
    this.accessFlags = access;
    this.thisClass = symbolTable.setMajorVersionAndClassName(version & 0xFFFF, name);
    if (signature != null) {
      this.signatureIndex = symbolTable.addConstantUtf8(signature);
    }
    this.superClass = superName == null ? 0 : symbolTable.addConstantClass(superName).index;
    if (interfaces != null && interfaces.length > 0) {
      interfaceCount = interfaces.length;
      this.interfaces = new int[interfaceCount];
      for (int i = 0; i < interfaceCount; ++i) {
        this.interfaces[i] = symbolTable.addConstantClass(interfaces[i]).index;
      }
    }
    if (compute == MethodWriter.COMPUTE_MAX_STACK_AND_LOCAL && (version & 0xFFFF) >= Opcodes.V1_7) {
      compute = MethodWriter.COMPUTE_MAX_STACK_AND_LOCAL_FROM_FRAMES;
    }
  }
@Override
  public final void visit(
      final int version,
      final int access,
      final String name,
      final String signature,
      final String superName,
      final String[] interfaces) {
    this.version = version;
    this.accessFlags = access;
    this.thisClass = symbolTable.setMajorVersionAndClassName(version & 0xFFFF, name);
    if (signature != null) {
      this.signatureIndex = symbolTable.addConstantUtf8(signature);
    }
    this.superClass = superName == null ? 0 : symbolTable.addConstantClass(superName).index;
    if (interfaces != null && interfaces.length > 0) {
      interfaceCount = interfaces.length;
      this.interfaces = new int[interfaceCount];
      for (int i = 0; i < interfaceCount; ++i) {
        this.interfaces[i] = symbolTable.addConstantClass(interfaces[i]).index;
      }
    }
    if (compute == MethodWriter.COMPUTE_MAX_STACK_AND_LOCAL && (version & 0xFFFF) >= Opcodes.V1_7) {
      compute = MethodWriter.COMPUTE_MAX_STACK_AND_LOCAL_FROM_FRAMES;
    }
  }
@ Override public final void visit ( final int version , final int access , final String name , final String signature , final String superName , final String [ ] interfaces ) { this . version = version ; this . accessFlags = access ; this . thisClass = symbolTable . setMajorVersionAndClassName ( version & 0xFFFF , name ) ; if ( signature != null ) { this . signatureIndex = symbolTable . addConstantUtf8 ( signature ) ; } this . superClass = superName == null ? 0 : symbolTable . addConstantClass ( superName ) . index ; if ( interfaces != null && interfaces . length > 0 ) { interfaceCount = interfaces . length ; this . interfaces = new int [ interfaceCount ] ; for ( int i = 0 ; i < interfaceCount ; ++ i ) { this . interfaces [ i ] = symbolTable . addConstantClass ( interfaces [ i ] ) . index ; } } if ( compute == MethodWriter . COMPUTE_MAX_STACK_AND_LOCAL && ( version & 0xFFFF ) >= Opcodes . V1_7 ) { compute = MethodWriter . COMPUTE_MAX_STACK_AND_LOCAL_FROM_FRAMES ; } }
-----------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------