generate_node_id

Function generate_node_id 

Source
pub fn generate_node_id(
    file_path: &str,
    containment_stack: &[&str],
    entity_name: &str,
    line: Option<usize>,
) -> String
Expand description

Generate a hierarchical node ID for an entity.

Node IDs follow the format: file:Container1:Container2:Entity

§Arguments

  • file_path - Relative file path (e.g., “src/models.py”)
  • containment_stack - Stack of parent entity names
  • entity_name - Name of the entity
  • line - Line number for anonymous entities (e.g., lambdas)

§Examples

use codeprysm_core::parser::generate_node_id;

assert_eq!(
    generate_node_id("src/models.py", &["User"], "save", None),
    "src/models.py:User:save"
);
assert_eq!(
    generate_node_id("src/utils.py", &["process"], "<lambda>", Some(42)),
    "src/utils.py:process:<lambda>:42"
);