add getters to group command
This commit is contained in:
		
							parent
							
								
									89709834da
								
							
						
					
					
						commit
						d4689c696a
					
				| 
						 | 
					@ -241,19 +241,19 @@ impl Group {
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    #[must_use]
 | 
					    #[must_use]
 | 
				
			||||||
    pub fn always_create_function(mut self, always_create_function: bool) -> Self {
 | 
					    pub fn with_always_create_function(mut self, always_create_function: bool) -> Self {
 | 
				
			||||||
        self.always_create_function = always_create_function;
 | 
					        self.always_create_function = always_create_function;
 | 
				
			||||||
        self
 | 
					        self
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    #[must_use]
 | 
					    #[must_use]
 | 
				
			||||||
    pub fn block_pass_macros(mut self, block: HashSet<String>) -> Self {
 | 
					    pub fn with_block_pass_macros(mut self, block: HashSet<String>) -> Self {
 | 
				
			||||||
        self.block_pass_macros = Some(block);
 | 
					        self.block_pass_macros = Some(block);
 | 
				
			||||||
        self
 | 
					        self
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    #[must_use]
 | 
					    #[must_use]
 | 
				
			||||||
    pub fn data_storage_name(mut self, name: String) -> Self {
 | 
					    pub fn with_data_storage_name(mut self, name: String) -> Self {
 | 
				
			||||||
        self.data_storage_name = Some(name);
 | 
					        self.data_storage_name = Some(name);
 | 
				
			||||||
        self
 | 
					        self
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
| 
						 | 
					@ -428,17 +428,50 @@ impl Group {
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// Get a reference to the commands in the group.
 | 
				
			||||||
 | 
					    #[must_use]
 | 
				
			||||||
 | 
					    pub fn commands(&self) -> &[Command] {
 | 
				
			||||||
 | 
					        &self.commands
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// Get a mutable reference to the commands in the group.
 | 
				
			||||||
 | 
					    #[must_use]
 | 
				
			||||||
 | 
					    pub fn commands_mut(&mut self) -> &mut Vec<Command> {
 | 
				
			||||||
 | 
					        &mut self.commands
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// Get whether to always create a function for this group.
 | 
				
			||||||
 | 
					    #[must_use]
 | 
				
			||||||
 | 
					    pub fn always_create_function(&self) -> bool {
 | 
				
			||||||
 | 
					        self.always_create_function
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// Get the optional data storage name.
 | 
				
			||||||
 | 
					    #[must_use]
 | 
				
			||||||
 | 
					    pub fn data_storage_name(&self) -> Option<&String> {
 | 
				
			||||||
 | 
					        self.data_storage_name.as_ref()
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// Get the optional set of blocked macros.
 | 
				
			||||||
 | 
					    #[must_use]
 | 
				
			||||||
 | 
					    pub fn block_pass_macros(&self) -> Option<&HashSet<String>> {
 | 
				
			||||||
 | 
					        self.block_pass_macros.as_ref()
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /// Check whether the group contains a macro.
 | 
					    /// Check whether the group contains a macro.
 | 
				
			||||||
 | 
					    #[must_use]
 | 
				
			||||||
    pub fn contains_macro(&self) -> bool {
 | 
					    pub fn contains_macro(&self) -> bool {
 | 
				
			||||||
        self.commands.iter().any(Command::contains_macro)
 | 
					        self.commands.iter().any(Command::contains_macro)
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /// Check whether the group contains a return command.
 | 
					    /// Check whether the group contains a return command.
 | 
				
			||||||
 | 
					    #[must_use]
 | 
				
			||||||
    pub fn contains_return(&self) -> bool {
 | 
					    pub fn contains_return(&self) -> bool {
 | 
				
			||||||
        self.commands.iter().any(Command::contains_return)
 | 
					        self.commands.iter().any(Command::contains_return)
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /// Generate a unique function path based on the function state.
 | 
					    /// Generate a unique function path based on the function state.
 | 
				
			||||||
 | 
					    #[must_use]
 | 
				
			||||||
    fn generate_function_path(function_state: &FunctionCompilerState) -> String {
 | 
					    fn generate_function_path(function_state: &FunctionCompilerState) -> String {
 | 
				
			||||||
        let uid = function_state.request_uid();
 | 
					        let uid = function_state.request_uid();
 | 
				
			||||||
        let function_path = function_state.path();
 | 
					        let function_path = function_state.path();
 | 
				
			||||||
| 
						 | 
					@ -598,7 +631,7 @@ impl ReturnCommand {
 | 
				
			||||||
                    global_state,
 | 
					                    global_state,
 | 
				
			||||||
                    function_state,
 | 
					                    function_state,
 | 
				
			||||||
                );
 | 
					                );
 | 
				
			||||||
                let compiled_cmd = dbg!(compiled_cmd)
 | 
					                let compiled_cmd = compiled_cmd
 | 
				
			||||||
                    .into_iter()
 | 
					                    .into_iter()
 | 
				
			||||||
                    .next()
 | 
					                    .next()
 | 
				
			||||||
                    .expect("group will always return exactly one command");
 | 
					                    .expect("group will always return exactly one command");
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue