private void visitInsn(final int opcode) {
        lastBytecodeOffset = code.length;
        // Add the instruction to the bytecode of the method.
        code.putByte(opcode);
        // If needed, update the maximum stack size and number of locals, and stack map frames.
        if (currentBasicBlock != null) {
            currentBasicBlock.frame.execute(opcode, 0, null, null);
            if ((opcode >= Opcodes.IRETURN && opcode <= Opcodes.RETURN) || opcode == Opcodes.ATHROW) {
                endCurrentBasicBlockWithNoSuccessor();
            }
        }
    }
Constructs a new {@link MethodWriter}.

@param symbolTable where the constants used in this AnnotationWriter must be stored.
@param access      the method's access flags (see {@link Opcodes}).
@param name        the method's name.
@param descriptor  the method's descriptor (see {@link Type}).
core/src/main/java/com/alibaba/fastjson2/internal/asm/MethodWriter.java