diff options
author | ridiculousfish <corydoras@ridiculousfish.com> | 2014-01-07 10:45:36 -0800 |
---|---|---|
committer | ridiculousfish <corydoras@ridiculousfish.com> | 2014-01-07 10:45:36 -0800 |
commit | cb6be2a50dbf6718fad88c3586e409a53c785324 (patch) | |
tree | 9526141f9224dc726582dbfc8dccd1b6d0966414 /parse_execution.h | |
parent | 45852f0497b0c73d0d7e3547e77abec65842e0f4 (diff) |
Support for "simple block" optimization, where we can run blocks
directly if there are no arguments or redirections to the block itself
Diffstat (limited to 'parse_execution.h')
-rw-r--r-- | parse_execution.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/parse_execution.h b/parse_execution.h index 0d924b8e..6c022cb2 100644 --- a/parse_execution.h +++ b/parse_execution.h @@ -64,6 +64,7 @@ class parse_execution_context_t /* Wildcard error helper */ parse_execution_result_t report_unmatched_wildcard_error(const parse_node_t &unmatched_wildcard); + /* Command not found support */ void handle_command_not_found(const wcstring &cmd, const parse_node_t &statement_node, int err_code); /* Utilities */ @@ -72,6 +73,9 @@ class parse_execution_context_t node_offset_t get_offset(const parse_node_t &node) const; const parse_node_t *infinite_recursive_statement_in_job_list(const parse_node_t &job_list, wcstring *out_func_name) const; + /* Indicates whether a job is a simple block (one block, no redirections) */ + bool job_is_simple_block(const parse_node_t &node) const; + enum process_type_t process_type_for_command(const parse_node_t &plain_statement, const wcstring &cmd) const; /* These create process_t structures from statements */ |