aboutsummaryrefslogtreecommitdiffhomepage
path: root/parse_execution.h
diff options
context:
space:
mode:
authorGravatar ridiculousfish <corydoras@ridiculousfish.com>2014-01-07 10:45:36 -0800
committerGravatar ridiculousfish <corydoras@ridiculousfish.com>2014-01-07 10:45:36 -0800
commitcb6be2a50dbf6718fad88c3586e409a53c785324 (patch)
tree9526141f9224dc726582dbfc8dccd1b6d0966414 /parse_execution.h
parent45852f0497b0c73d0d7e3547e77abec65842e0f4 (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.h4
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 */