| 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, | |
| } | |
| ) |