blob: 24a813a497c142b6e05a8d7d081526235890c349 [file] [log] [blame]
from tclint.commands.checks import (
CommandArgError,
)
from tclint.commands.schema import commands_schema
def _script_args(name, n, script_args, args, parser):
if len(args) != n:
raise CommandArgError(
f"wrong # of args to {name}: got {len(args)}, expected {n}"
)
res = []
arg_n = 0
for arg in args:
if arg_n in script_args:
res.append(parser.parse_script(arg))
else:
res.append(arg)
arg_n += 1
return res
def _script_last_arg(name, n, args, parser):
return _script_args(name, n, [n - 1], args, parser)
def _cond_wrap(args, parser):
return _script_last_arg("cond_wrap", 3, args, parser)
def _foreach_gnat_encoding(args, parser):
return _script_last_arg("foreach_gnat_encoding", 4, args, parser)
def _foreach_location_functions(args, parser):
return _script_args("foreach_location_functions", 4, [2, 3], args, parser)
def _foreach_location_labels(args, parser):
return _script_args("foreach_location_labels", 5, [3, 4], args, parser)
def _foreach_mi_ui_mode(args, parser):
return _script_last_arg("foreach_mi_ui_mode", 2, args, parser)
def _foreach_with_prefix(args, parser):
return _script_last_arg("foreach_with_prefix", 3, args, parser)
def _gdb_caching_proc(args, parser):
return _script_last_arg("gdb_caching_proc", 3, args, parser)
def _proc_with_prefix(args, parser):
return _script_last_arg("proc_with_prefix", 3, args, parser)
def _require(args, parser):
res = []
for arg in args:
res.append(parser.parse_script(arg))
return res
def _save_vars(args, parser):
return _script_last_arg("save_vars", 2, args, parser)
def _save_target_board_info(args, parser):
return _script_last_arg("save_target_board_info", 2, args, parser)
def _with_debuginfod_env(args, parser):
return _script_last_arg("with_debuginfod_env", 2, args, parser)
def _with_shared_gdb(args, parser):
return _script_last_arg("with_shared_gdb", 1, args, parser)
def _with_test_prefix(args, parser):
return _script_last_arg("with_test_prefix", 2, args, parser)
def _with_cwd(args, parser):
return _script_last_arg("with_cwd", 2, args, parser)
def _with_gdb_cwd(args, parser):
return _script_last_arg("with_gdb_cwd", 2, args, parser)
def _with_gdb_prompt(args, parser):
return _script_last_arg("with_gdb_prompt", 2, args, parser)
def _with_target_charset(args, parser):
return _script_last_arg("with_target_charset", 2, args, parser)
def _with_max_value_size(args, parser):
return _script_last_arg("with_max_value_size", 2, args, parser)
def _with_spawn_id(args, parser):
return _script_last_arg("with_spawn_id", 2, args, parser)
def _with_timeout_factor(args, parser):
return _script_last_arg("with_timeout_factor", 2, args, parser)
def _with_read1_timeout_factor(args, parser):
return _script_last_arg("with_read1_timeout_factor", 2, args, parser)
def _with_multilib_flags_filtered(args, parser):
return _script_last_arg("with_multilib_flags_filtered", 2, args, parser)
def _with_PIE_multilib_flags_filtered(args, parser):
return _script_last_arg("with_PIE_multilib_flags_filtered", 1, args, parser)
def _with_set(args, parser):
return _script_last_arg("with_set", 3, args, parser)
def _with_complaints(args, parser):
return _script_last_arg("with_complaints", 2, args, parser)
def _with_override(args, parser):
return _script_last_arg("with_override", 3, args, parser)
def _with_ansi_styling_terminal(args, parser):
return _script_last_arg("with_ansi_styling_terminal", 1, args, parser)
def _with_lock(args, parser):
return _script_last_arg("with_lock", 2, args, parser)
def _with_rocm_gpu_lock(args, parser):
return _script_last_arg("with_rocm_gpu_lock", 1, args, parser)
def _ns_term_log_cur(args, parser):
return _script_last_arg("Term::log_cur", 2, args, parser)
def _ns_term_with_term(args, parser):
return _script_last_arg("Term::with_term", 2, args, parser)
def _ns_term_with_tuiterm(args, parser):
return _script_last_arg("Term::with_tuiterm", 3, args, parser)
commands = commands_schema(
{
"cond_wrap": _cond_wrap,
"foreach_gnat_encoding": _foreach_gnat_encoding,
"foreach_location_functions": _foreach_location_functions,
"foreach_location_labels": _foreach_location_labels,
"foreach_mi_ui_mode": _foreach_mi_ui_mode,
"foreach_with_prefix": _foreach_with_prefix,
"gdb_caching_proc": _gdb_caching_proc,
"proc_with_prefix": _proc_with_prefix,
"require": _require,
"save_vars": _save_vars,
"save_target_board_info": _save_target_board_info,
"with_debuginfod_env": _with_debuginfod_env,
"with_shared_gdb": _with_shared_gdb,
"with_test_prefix": _with_test_prefix,
"with_cwd": _with_cwd,
"with_gdb_cwd": _with_gdb_cwd,
"with_gdb_prompt": _with_gdb_prompt,
"with_target_charset": _with_target_charset,
"with_max_value_size": _with_max_value_size,
"with_spawn_id": _with_spawn_id,
"with_timeout_factor": _with_timeout_factor,
"with_read1_timeout_factor": _with_read1_timeout_factor,
"with_multilib_flags_filtered": _with_multilib_flags_filtered,
"with_PIE_multilib_flags_filtered": _with_PIE_multilib_flags_filtered,
"with_set": _with_set,
"with_complaints": _with_complaints,
"with_override": _with_override,
"with_ansi_styling_terminal": _with_ansi_styling_terminal,
"with_lock": _with_lock,
"with_rocm_gpu_lock": _with_rocm_gpu_lock,
"Term::_log_cur": _ns_term_log_cur,
"Term::with_term": _ns_term_with_term,
"Term::with_tuiterm": _ns_term_with_tuiterm,
}
)