Skip to main content
detect()
Updated over a month ago

detect

fn detect(&mut self, _context: &WorkspaceContext) -> Result<bool, Box<dyn Error>>

Definition:

Evaluate the AST provided WorkspaceContext to determine if a particular code issue is present.

Parameters:

  • _context: A reference to the WorkspaceContext containing the AST nodes to be analyzed.

Returns:

  • Result<bool, Box<dyn Error>>:

    • Ok(true) if an issue is detected; otherwise Ok(false).

    • Err(Box<dyn Error>) if an error occurs during issue detection.

Example:

fn detect(&mut self, context: &WorkspaceContext) -> Result<bool, Box<dyn Error>> { let function_definitions = context.function_definitions(); for definition in function_definitions { if definition.modifiers.len() > 1 { for (index, modifier) in definition.modifiers.iter().enumerate() { if modifier.modifier_name.name == "nonReentrant" && index != 0 { capture!(self, context, modifier); } } } } Ok(!self.found_instances.is_empty()) }
Did this answer your question?