Parse source code and extract all entities
(&mut self, source: &str, file_path: &str)
| 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> { |