RetType dispatchByItemKind_gen(Inst item,Visitor& vis) { using namespace Brig; switch(item.brig()->kind) { case BRIG_INST_CVT: return vis(InstCvt(item)); case BRIG_INST_MOD: return vis(InstMod(item)); case BRIG_INST_BASIC: return vis(InstBasic(item)); case BRIG_INST_ATOMIC: return vis(InstAtomic(item)); case BRIG_INST_SOURCE_TYPE: return vis(InstSourceType(item)); case BRIG_INST_IMAGE: return vis(InstImage(item)); case BRIG_INST_BR: return vis(InstBr(item)); case BRIG_INST_FBAR: return vis(InstFbar(item)); case BRIG_INST_SEG: return vis(InstSeg(item)); case BRIG_INST_MEM: return vis(InstMem(item)); case BRIG_INST_BAR: return vis(InstBar(item)); case BRIG_INST_CMP: return vis(InstCmp(item)); case BRIG_INST_ATOMIC_IMAGE: return vis(InstAtomicImage(item)); case BRIG_INST_ADDR: return vis(InstAddr(item)); default: assert(false); break; } return RetType(); }