private void visitSwitchInsn(final Label dflt, final Label[] labels) {
        if (currentBasicBlock != null) {
            currentBasicBlock.frame.execute(Opcodes.LOOKUPSWITCH, 0, null, null);
            // Add all the labels as successors of the current basic block.
            addSuccessorToCurrentBasicBlock(dflt);
            dflt.getCanonicalInstance().flags |= Label.FLAG_JUMP_TARGET;
            for (int i = 0; i < labels.length; i++) {
                Label label = labels[i];
                addSuccessorToCurrentBasicBlock(label);
                label.getCanonicalInstance().flags |= Label.FLAG_JUMP_TARGET;
            }
            // End the current basic block.
            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