@@ -93,29 +93,30 @@ public void visit(MethodNode mth) {
9393 FilledNewArrayNode arrayParent = findFilledNewArrayParent (csn );
9494 if (arrayParent != null ) {
9595 int idx = argIndexOf (arrayParent , csn .getResult ().getSVar ());
96- if (idx >= 0 ) {
97- // Determine the best available decoded value for this slot
98- String candidate = decoded != null ? decoded
99- : B64Detector .decodeIfValid (str , options .getMaxCommentLength ());
100- if (candidate != null ) {
101- if (fieldConstants == null ) {
102- fieldConstants = collectConstantValueFieldStrings (mth .getParentClass ());
96+ if (idx < 0 ) {
97+ continue ;
98+ }
99+ // Determine the best available decoded value for this slot
100+ String candidate = decoded != null ? decoded
101+ : B64Detector .decodeIfValid (str , options .getMaxCommentLength ());
102+ if (candidate != null ) {
103+ if (fieldConstants == null ) {
104+ fieldConstants = collectConstantValueFieldStrings (mth .getParentClass ());
105+ }
106+ if (!fieldConstants .contains (str )) {
107+ if (arrayCandidates == null ) {
108+ arrayCandidates = new LinkedHashMap <>();
103109 }
104- if (!fieldConstants .contains (str )) {
105- if (arrayCandidates == null ) {
106- arrayCandidates = new LinkedHashMap <>();
107- }
108- arrayCandidates .computeIfAbsent (arrayParent , k -> new TreeMap <>()).put (idx , candidate );
109- if (decoded != null ) {
110- if (arrayAnchors == null ) {
111- arrayAnchors = new LinkedHashSet <>();
112- }
113- arrayAnchors .add (arrayParent );
110+ arrayCandidates .computeIfAbsent (arrayParent , k -> new TreeMap <>()).put (idx , candidate );
111+ if (decoded != null ) {
112+ if (arrayAnchors == null ) {
113+ arrayAnchors = new LinkedHashSet <>();
114114 }
115+ arrayAnchors .add (arrayParent );
115116 }
116117 }
117- continue ;
118118 }
119+ continue ;
119120 }
120121
121122 if (decoded == null ) {
@@ -172,12 +173,6 @@ private static int argIndexOf(InsnNode insn, SSAVar ssaVar) {
172173 return -1 ;
173174 }
174175
175- /**
176- * Builds a multi-line comment text for all decoded strings in a FilledNewArrayNode.
177- * Each entry is formatted as "b64[N]: decoded" on its own line, sorted by index.
178- * The renderer (appendMultiLineString) splits on \n and starts each continuation
179- * line with "// ", producing one "// b64[N]: ..." line per decoded string.
180- */
181176 private static String buildArrayComment (TreeMap <Integer , String > decodings ) {
182177 StringBuilder sb = new StringBuilder ();
183178 for (Map .Entry <Integer , String > e : decodings .entrySet ()) {
0 commit comments