MCPcopy Create free account
hub / github.com/ScriptedAlchemy/tracedecay / extract_java_visibility

Method extract_java_visibility

src/extraction/java_extractor.rs:933–957  ·  view source on GitHub ↗

Extract Java visibility from modifiers child.

(node: TsNode<'_>, state: &ExtractionState)

Source from the content-addressed store, hash-verified

931
932 /// Extract Java visibility from modifiers child.
933 fn extract_java_visibility(node: TsNode<'_>, state: &ExtractionState) -> Visibility {
934 let mut cursor = node.walk();
935 if cursor.goto_first_child() {
936 loop {
937 let child = cursor.node();
938 if child.kind() == "modifiers" {
939 let text = state.node_text(child);
940 if text.contains("public") {
941 return Visibility::Pub;
942 } else if text.contains("protected") {
943 return Visibility::PubCrate;
944 } else if text.contains("private") {
945 return Visibility::Private;
946 }
947 // No access modifier → package-private, map to Private.
948 return Visibility::Private;
949 }
950 if !cursor.goto_next_sibling() {
951 break;
952 }
953 }
954 }
955 // No modifiers at all → package-private, map to Private.
956 Visibility::Private
957 }
958
959 /// Check if a node has a specific modifier keyword.
960 fn has_modifier(node: TsNode<'_>, state: &ExtractionState, modifier: &str) -> bool {

Callers

nothing calls this directly

Calls 3

kindMethod · 0.80
node_textMethod · 0.45
containsMethod · 0.45

Tested by

no test coverage detected