MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / extract

Method extract

atomic-semantic/src/parser.rs:44–53  ·  view source on GitHub ↗

Parse source code and extract all entities

(&mut self, source: &str, file_path: &str)

Source from the content-addressed store, hash-verified

42
43 /// Parse source code and extract all entities
44 pub fn extract(&mut self, source: &str, file_path: &str) -> Vec<Entity> {
45 let tree = match self.parser.parse(source, None) {
46 Some(t) => t,
47 None => return vec![],
48 };
49
50 let mut entities = Vec::new();
51 self.walk_tree(&tree.root_node(), source, file_path, &mut entities, false);
52 entities
53 }
54
55 /// Parse source code and extract all references (function calls, variable usages)
56 pub fn extract_references(&mut self, source: &str, file_path: &str) -> Vec<Reference> {

Callers 15

test_extract_functionFunction · 0.45
test_extract_constFunction · 0.45
test_extract_classFunction · 0.45
test_extract_interfaceFunction · 0.45
test_extract_type_aliasFunction · 0.45
test_extract_enumFunction · 0.45
test_tsx_supportFunction · 0.45
test_line_numbersFunction · 0.45
kg_enrich_changeMethod · 0.45

Calls 2

parseMethod · 0.45
walk_treeMethod · 0.45

Tested by 11

test_extract_functionFunction · 0.36
test_extract_constFunction · 0.36
test_extract_classFunction · 0.36
test_extract_interfaceFunction · 0.36
test_extract_type_aliasFunction · 0.36
test_extract_enumFunction · 0.36
test_tsx_supportFunction · 0.36
test_line_numbersFunction · 0.36