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

Method extract_enum

atomic-semantic/src/parsers/java.rs:201–218  ·  view source on GitHub ↗

Extract an enum declaration.

(&self, node: &Node, source: &str, file_path: &str)

Source from the content-addressed store, hash-verified

199
200 /// Extract an enum declaration.
201 fn extract_enum(&self, node: &Node, source: &str, file_path: &str) -> Option<Entity> {
202 let name_node = node.child_by_field_name("name")?;
203 let name = self.node_text(&name_node, source);
204
205 let line = node.start_position().row as u32 + 1;
206 let end_line = node.end_position().row as u32 + 1;
207
208 let exported = self.has_modifier(node, source, "public");
209
210 let sig = format!("{}enum {}", if exported { "public " } else { "" }, name);
211 let mut entity = Entity::new(name, EntityKind::Enum, file_path, line, end_line);
212 entity = entity.with_signature(sig);
213 if exported {
214 entity.exported = true;
215 }
216
217 Some(entity)
218 }
219
220 /// Extract a record declaration (Java 16+).
221 fn extract_record(&self, node: &Node, source: &str, file_path: &str) -> Option<Entity> {

Callers 1

walk_treeMethod · 0.45

Calls 3

has_modifierMethod · 0.80
with_signatureMethod · 0.80
node_textMethod · 0.45

Tested by

no test coverage detected