in src/main/java/org/apache/commons/compress/harmony/pack200/ClassBands.java [258:324]
public void addAnnotation(final int context, final String desc, final boolean visible, 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) {
switch (context) {
case MetadataBandGroup.CONTEXT_CLASS:
if (visible) {
class_RVA_bands.addAnnotation(desc, nameRU, tags, values, caseArrayN, nestTypeRS, nestNameRU, nestPairN);
if ((class_flags[index] & 1 << 21) != 0) {
class_RVA_bands.incrementAnnoN();
} else {
class_RVA_bands.newEntryInAnnoN();
class_flags[index] = class_flags[index] | 1 << 21;
}
} else {
class_RIA_bands.addAnnotation(desc, nameRU, tags, values, caseArrayN, nestTypeRS, nestNameRU, nestPairN);
if ((class_flags[index] & 1 << 22) != 0) {
class_RIA_bands.incrementAnnoN();
} else {
class_RIA_bands.newEntryInAnnoN();
class_flags[index] = class_flags[index] | 1 << 22;
}
}
break;
case MetadataBandGroup.CONTEXT_FIELD:
if (visible) {
field_RVA_bands.addAnnotation(desc, nameRU, tags, values, caseArrayN, nestTypeRS, nestNameRU, nestPairN);
final Long flag = tempFieldFlags.remove(tempFieldFlags.size() - 1);
if ((flag.intValue() & 1 << 21) != 0) {
field_RVA_bands.incrementAnnoN();
} else {
field_RVA_bands.newEntryInAnnoN();
}
tempFieldFlags.add(Long.valueOf(flag.intValue() | 1 << 21));
} else {
field_RIA_bands.addAnnotation(desc, nameRU, tags, values, caseArrayN, nestTypeRS, nestNameRU, nestPairN);
final Long flag = tempFieldFlags.remove(tempFieldFlags.size() - 1);
if ((flag.intValue() & 1 << 22) != 0) {
field_RIA_bands.incrementAnnoN();
} else {
field_RIA_bands.newEntryInAnnoN();
}
tempFieldFlags.add(Long.valueOf(flag.intValue() | 1 << 22));
}
break;
case MetadataBandGroup.CONTEXT_METHOD:
if (visible) {
method_RVA_bands.addAnnotation(desc, nameRU, tags, values, caseArrayN, nestTypeRS, nestNameRU, nestPairN);
final Long flag = tempMethodFlags.remove(tempMethodFlags.size() - 1);
if ((flag.intValue() & 1 << 21) != 0) {
method_RVA_bands.incrementAnnoN();
} else {
method_RVA_bands.newEntryInAnnoN();
}
tempMethodFlags.add(Long.valueOf(flag.intValue() | 1 << 21));
} else {
method_RIA_bands.addAnnotation(desc, nameRU, tags, values, caseArrayN, nestTypeRS, nestNameRU, nestPairN);
final Long flag = tempMethodFlags.remove(tempMethodFlags.size() - 1);
if ((flag.intValue() & 1 << 22) != 0) {
method_RIA_bands.incrementAnnoN();
} else {
method_RIA_bands.newEntryInAnnoN();
}
tempMethodFlags.add(Long.valueOf(flag.intValue() | 1 << 22));
}
break;
}
}