in src/main/java/org/apache/commons/compress/harmony/pack200/ClassBands.java [252: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;
}
}