Search in sources :

Example 1 with RawAttribute

use of com.android.dx.cf.attrib.RawAttribute in project buck by facebook.

the class AttributeFactory method parse0.

/**
     * Parses attribute content. The base class implements this by constructing
     * an instance of {@link RawAttribute}. Subclasses are expected to
     * override this to do something better in most cases.
     *
     * @param cf {@code non-null;} class file to parse from
     * @param context context to parse in; one of the {@code CTX_*}
     * constants
     * @param name {@code non-null;} the attribute name
     * @param offset offset into {@code bytes} to start parsing at; this
     * is the offset to the start of attribute data, not to the header
     * @param length the length of the attribute data
     * @param observer {@code null-ok;} parse observer to report to, if any
     * @return {@code non-null;} an appropriately-constructed {@link Attribute}
     */
protected Attribute parse0(DirectClassFile cf, int context, String name, int offset, int length, ParseObserver observer) {
    ByteArray bytes = cf.getBytes();
    ConstantPool pool = cf.getConstantPool();
    Attribute result = new RawAttribute(name, bytes, offset, length, pool);
    if (observer != null) {
        observer.parsed(bytes, offset, length, "attribute data");
    }
    return result;
}
Also used : Attribute(com.android.dx.cf.iface.Attribute) RawAttribute(com.android.dx.cf.attrib.RawAttribute) ConstantPool(com.android.dx.rop.cst.ConstantPool) RawAttribute(com.android.dx.cf.attrib.RawAttribute) ByteArray(com.android.dx.util.ByteArray)

Aggregations

RawAttribute (com.android.dx.cf.attrib.RawAttribute)1 Attribute (com.android.dx.cf.iface.Attribute)1 ConstantPool (com.android.dx.rop.cst.ConstantPool)1 ByteArray (com.android.dx.util.ByteArray)1