|
| | shell_node_command_expression (std::vector< std::unique_ptr< shell_node_expandable > > &&vChildren) |
| | Construct a command expression node.
|
| |
| void | expand (std::vector< std::string > &vTokens, shell_session &oSession, bool bSplit) const override |
| | Expand the expression by expanding its children in order. Expand the node into textual tokens.- Parameters
-
| vTokens | Vector where generated token strings will be appended. |
| oSession | Session context (used for variable/argument lookup, etc.). |
| bSplit | When true apply word-splitting semantics; otherwise keep as single token. |
.
|
| |
| const std::vector< std::unique_ptr< shell_node_expandable > > & | get_children () const noexcept |
| | Access the child nodes.
|
| |
Public Member Functions inherited from bs::shell_node_expandable |
| | shell_node_expandable (const shell_node_type nType, const std::size_t nPos) |
| | Construct an expandable node.
|
| |
|
virtual | ~shell_node ()=default |
| | Virtual default destructor for polymorphic deletion.
|
| |
| shell_node_type | get_type () const noexcept |
| | Get the node type.
|
| |
| std::size_t | get_pos () const noexcept |
| | Get node position in the original input stream.
|
| |
Represents a command expression composed of expandable children.
The node holds ownership of a vector of expandable child nodes and expands by expanding each child in sequence.