#[allow(unused_imports)]
use crate::macros::vm_dispatch_op::VM_DISPATCH_OP;

#[allow(non_snake_case)]
#[macro_export]
macro_rules! VM_DISPATCH_TABLE {
    () => {
        $crate::VM_DISPATCH_OP!(LOP_NOP),
        $crate::VM_DISPATCH_OP!(LOP_BREAK),
        $crate::VM_DISPATCH_OP!(LOP_LOADNIL),
        $crate::VM_DISPATCH_OP!(LOP_LOADB),
        $crate::VM_DISPATCH_OP!(LOP_LOADN),
        $crate::VM_DISPATCH_OP!(LOP_LOADK),
        $crate::VM_DISPATCH_OP!(LOP_MOVE),
        $crate::VM_DISPATCH_OP!(LOP_GETGLOBAL),
        $crate::VM_DISPATCH_OP!(LOP_SETGLOBAL),
        $crate::VM_DISPATCH_OP!(LOP_GETUPVAL),
        $crate::VM_DISPATCH_OP!(LOP_SETUPVAL),
        $crate::VM_DISPATCH_OP!(LOP_CLOSEUPVALS),
        $crate::VM_DISPATCH_OP!(LOP_GETIMPORT),
        $crate::VM_DISPATCH_OP!(LOP_GETTABLE),
        $crate::VM_DISPATCH_OP!(LOP_SETTABLE),
        $crate::VM_DISPATCH_OP!(LOP_GETTABLEKS),
        $crate::VM_DISPATCH_OP!(LOP_SETTABLEKS),
        $crate::VM_DISPATCH_OP!(LOP_GETTABLEN),
        $crate::VM_DISPATCH_OP!(LOP_SETTABLEN),
        $crate::VM_DISPATCH_OP!(LOP_NEWCLOSURE),
        $crate::VM_DISPATCH_OP!(LOP_NAMECALL),
        $crate::VM_DISPATCH_OP!(LOP_CALL),
        $crate::VM_DISPATCH_OP!(LOP_RETURN),
        $crate::VM_DISPATCH_OP!(LOP_JUMP),
        $crate::VM_DISPATCH_OP!(LOP_JUMPBACK),
        $crate::VM_DISPATCH_OP!(LOP_JUMPIF),
        $crate::VM_DISPATCH_OP!(LOP_JUMPIFNOT),
        $crate::VM_DISPATCH_OP!(LOP_JUMPIFEQ),
        $crate::VM_DISPATCH_OP!(LOP_JUMPIFLE),
        $crate::VM_DISPATCH_OP!(LOP_JUMPIFLT),
        $crate::VM_DISPATCH_OP!(LOP_JUMPIFNOTEQ),
        $crate::VM_DISPATCH_OP!(LOP_JUMPIFNOTLE),
        $crate::VM_DISPATCH_OP!(LOP_JUMPIFNOTLT),
        $crate::VM_DISPATCH_OP!(LOP_ADD),
        $crate::VM_DISPATCH_OP!(LOP_SUB),
        $crate::VM_DISPATCH_OP!(LOP_MUL),
        $crate::VM_DISPATCH_OP!(LOP_DIV),
        $crate::VM_DISPATCH_OP!(LOP_MOD),
        $crate::VM_DISPATCH_OP!(LOP_POW),
        $crate::VM_DISPATCH_OP!(LOP_ADDK),
        $crate::VM_DISPATCH_OP!(LOP_SUBK),
        $crate::VM_DISPATCH_OP!(LOP_MULK),
        $crate::VM_DISPATCH_OP!(LOP_DIVK),
        $crate::VM_DISPATCH_OP!(LOP_MODK),
        $crate::VM_DISPATCH_OP!(LOP_POWK),
        $crate::VM_DISPATCH_OP!(LOP_AND),
        $crate::VM_DISPATCH_OP!(LOP_OR),
        $crate::VM_DISPATCH_OP!(LOP_ANDK),
        $crate::VM_DISPATCH_OP!(LOP_ORK),
        $crate::VM_DISPATCH_OP!(LOP_CONCAT),
        $crate::VM_DISPATCH_OP!(LOP_NOT),
        $crate::VM_DISPATCH_OP!(LOP_MINUS),
        $crate::VM_DISPATCH_OP!(LOP_LENGTH),
        $crate::VM_DISPATCH_OP!(LOP_NEWTABLE),
        $crate::VM_DISPATCH_OP!(LOP_DUPTABLE),
        $crate::VM_DISPATCH_OP!(LOP_SETLIST),
        $crate::VM_DISPATCH_OP!(LOP_FORNPREP),
        $crate::VM_DISPATCH_OP!(LOP_FORNLOOP),
        $crate::VM_DISPATCH_OP!(LOP_FORGLOOP),
        $crate::VM_DISPATCH_OP!(LOP_FORGPREP_INEXT),
        $crate::VM_DISPATCH_OP!(LOP_FASTCALL3),
        $crate::VM_DISPATCH_OP!(LOP_FORGPREP_NEXT),
        $crate::VM_DISPATCH_OP!(LOP_NATIVECALL),
        $crate::VM_DISPATCH_OP!(LOP_GETVARARGS),
        $crate::VM_DISPATCH_OP!(LOP_DUPCLOSURE),
        $crate::VM_DISPATCH_OP!(LOP_PREPVARARGS),
        $crate::VM_DISPATCH_OP!(LOP_LOADKX),
        $crate::VM_DISPATCH_OP!(LOP_JUMPX),
        $crate::VM_DISPATCH_OP!(LOP_FASTCALL),
        $crate::VM_DISPATCH_OP!(LOP_COVERAGE),
        $crate::VM_DISPATCH_OP!(LOP_CAPTURE),
        $crate::VM_DISPATCH_OP!(LOP_SUBRK),
        $crate::VM_DISPATCH_OP!(LOP_DIVRK),
        $crate::VM_DISPATCH_OP!(LOP_FASTCALL1),
        $crate::VM_DISPATCH_OP!(LOP_FASTCALL2),
        $crate::VM_DISPATCH_OP!(LOP_FASTCALL2K),
        $crate::VM_DISPATCH_OP!(LOP_FORGPREP),
        $crate::VM_DISPATCH_OP!(LOP_JUMPXEQKNIL),
        $crate::VM_DISPATCH_OP!(LOP_JUMPXEQKB),
        $crate::VM_DISPATCH_OP!(LOP_JUMPXEQKN),
        $crate::VM_DISPATCH_OP!(LOP_JUMPXEQKS),
        $crate::VM_DISPATCH_OP!(LOP_IDIV),
        $crate::VM_DISPATCH_OP!(LOP_IDIVK),
        $crate::VM_DISPATCH_OP!(LOP_GETUDATAKS),
        $crate::VM_DISPATCH_OP!(LOP_SETUDATAKS),
        $crate::VM_DISPATCH_OP!(LOP_NAMECALLUDATA),
        $crate::VM_DISPATCH_OP!(LOP_NEWCLASSMEMBER),
        $crate::VM_DISPATCH_OP!(LOP_CALLFB),
        $crate::VM_DISPATCH_OP!(LOP_CMPPROTO),
    };
}

pub use VM_DISPATCH_TABLE;
