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

Method build_class_signature

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

Build class signature

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

Source from the content-addressed store, hash-verified

1021
1022 /// Build class signature
1023 fn build_class_signature(&self, node: &Node, source: &str) -> String {
1024 let name = node
1025 .child_by_field_name("name")
1026 .and_then(|n| self.node_text(&n, source))
1027 .unwrap_or_default();
1028
1029 // Check for extends
1030 let extends = self.get_class_heritage(node, source, "extends");
1031 // Check for implements
1032 let implements = self.get_class_heritage(node, source, "implements");
1033
1034 let mut sig = format!("class {}", name);
1035
1036 if !extends.is_empty() {
1037 sig.push_str(&format!(" extends {}", extends));
1038 }
1039 if !implements.is_empty() {
1040 sig.push_str(&format!(" implements {}", implements));
1041 }
1042
1043 sig
1044 }
1045
1046 /// Get class heritage (extends or implements)
1047 fn get_class_heritage(&self, node: &Node, source: &str, heritage_type: &str) -> String {

Callers 1

extract_classMethod · 0.45

Calls 3

get_class_heritageMethod · 0.80
node_textMethod · 0.45
is_emptyMethod · 0.45

Tested by

no test coverage detected