in src/main/java/org/apache/commons/compress/harmony/pack200/MetadataBandGroup.java [164:225]
public void addParameterAnnotation(final int numParams, final int[] annoN, final IntList pairN, final List<String> typeRS, final List<String> nameRU,
final List<String> tags, final List<Object> values, final List<Integer> caseArrayN, final List<String> nestTypeRS, final List<String> nestNameRU,
final List<Integer> nestPairN) {
param_NB.add(numParams);
for (final int element : annoN) {
anno_N.add(element);
}
pair_N.addAll(pairN);
typeRS.forEach(desc -> type_RS.add(cpBands.getCPSignature(desc)));
nameRU.forEach(name -> name_RU.add(cpBands.getCPUtf8(name)));
final Iterator<Object> valuesIterator = values.iterator();
for (final String tag : tags) {
T.add(tag);
switch (tag) {
case "B":
case "C":
case "I":
case "S":
case "Z": {
caseI_KI.add(cpBands.getConstant(valuesIterator.next()));
break;
}
case "D": {
caseD_KD.add(cpBands.getConstant(valuesIterator.next()));
break;
}
case "F": {
caseF_KF.add(cpBands.getConstant(valuesIterator.next()));
break;
}
case "J": {
caseJ_KJ.add(cpBands.getConstant(valuesIterator.next()));
break;
}
case "c": {
casec_RS.add(cpBands.getCPSignature(nextString(valuesIterator)));
break;
}
case "e": {
caseet_RS.add(cpBands.getCPSignature(nextString(valuesIterator)));
caseec_RU.add(cpBands.getCPUtf8(nextString(valuesIterator)));
break;
}
case "s": {
cases_RU.add(cpBands.getCPUtf8(nextString(valuesIterator)));
break;
}
}
// do nothing here for [ or @ (handled below)
}
for (final Integer element : caseArrayN) {
final int arraySize = element.intValue();
casearray_N.add(arraySize);
numBackwardsCalls += arraySize;
}
nestTypeRS.forEach(type -> nesttype_RS.add(cpBands.getCPSignature(type)));
nestNameRU.forEach(name -> nestname_RU.add(cpBands.getCPUtf8(name)));
for (final Integer numPairs : nestPairN) {
nestpair_N.add(numPairs.intValue());
numBackwardsCalls += numPairs.intValue();
}
}