string GetArgument(LuaOpcodeArgument argument)
{
switch (argument) {
case LuaOpcodeArgument.BooleanB: return GetArgumentBoolean(B);
case LuaOpcodeArgument.BranchSignedBx: return GetArgumentBranch(SignedBx);
case LuaOpcodeArgument.ConstantBx: return GetArgumentConstant(Bx);
case LuaOpcodeArgument.LiteralA: return GetArgumentLiteral(A);
case LuaOpcodeArgument.LiteralB: return GetArgumentLiteral(B);
case LuaOpcodeArgument.LiteralBx: return GetArgumentLiteral(Bx);
case LuaOpcodeArgument.LiteralC: return GetArgumentLiteral(C);
case LuaOpcodeArgument.RegisterA: return GetArgumentRegister(A);
case LuaOpcodeArgument.RegisterB: return GetArgumentRegister(B);
case LuaOpcodeArgument.RegisterC: return GetArgumentRegister(C);
case LuaOpcodeArgument.RegisterConstantB: return GetArgumentRegisterConstant(B);
case LuaOpcodeArgument.RegisterConstantC: return GetArgumentRegisterConstant(C);
case LuaOpcodeArgument.UpValueB: return GetArgumentUpValue(B);
default: throw new NotImplementedException();
}
}