MCPcopy Create free account
hub / github.com/FuzzAnything/PromptFuzz / parse_dependency_tree

Function parse_dependency_tree

src/analysis/header.rs:132–152  ·  view source on GitHub ↗
(output: &str, base_name: &str, header_path: &Path)

Source from the content-addressed store, hash-verified

130}
131
132fn parse_dependency_tree(output: &str, base_name: &str, header_path: &Path) -> Result<TreeNode> {
133 let mut node_layer: Vec<(usize, &str)> = Vec::new();
134 for line in output.lines() {
135 let sep = line
136 .find(' ')
137 .ok_or_else(|| eyre::eyre!("Expect an spece in line: {line}"))?;
138 let layer = sep;
139 let header = line[sep..].trim();
140 if !header.starts_with(header_path.to_str().unwrap()) {
141 continue;
142 }
143 if header.ends_with(".h") || header.ends_with(".hpp") || header.ends_with(".hxx") {
144 node_layer.push((layer, header));
145 }
146 }
147 let mut tree = TreeNode::new(base_name.to_owned());
148 for child in get_layer_child(node_layer, 1) {
149 tree.add_child(child);
150 }
151 Ok(tree)
152}
153
154
155fn get_independent_headers(trees: &[TreeNode]) -> Result<Vec<&str>> {

Callers 1

Calls 3

get_layer_childFunction · 0.85
add_childMethod · 0.80
pushMethod · 0.45

Tested by

no test coverage detected