Extract a mod declaration.
(&self, node: &Node, source: &str, file_path: &str)
| 344 | |
| 345 | /// Extract a mod declaration. |
| 346 | fn extract_mod(&self, node: &Node, source: &str, file_path: &str) -> Option<Entity> { |
| 347 | let name_node = node.child_by_field_name("name")?; |
| 348 | let name = self.node_text(&name_node, source); |
| 349 | |
| 350 | let line = node.start_position().row as u32 + 1; |
| 351 | let end_line = node.end_position().row as u32 + 1; |
| 352 | let exported = self.is_pub(node); |
| 353 | |
| 354 | let mut entity = Entity::new(name, EntityKind::Module, file_path, line, end_line); |
| 355 | if exported { |
| 356 | entity.exported = true; |
| 357 | } |
| 358 | |
| 359 | Some(entity) |
| 360 | } |
| 361 | |
| 362 | /// Extract a use declaration. |
| 363 | fn extract_use(&self, node: &Node, source: &str, file_path: &str) -> Option<Entity> { |