public void addAnnotation()

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;
        }
    }