use of com.googlecode.d2j.dex.writer.ev.EncodedArray in project dex2jar by pxb1988.
the class ClassDefItem method prepareEncodedArrayItem.
private void prepareEncodedArrayItem(ConstPool cp) {
if (classData == null) {
return;
}
List<EncodedField> fs = classData.staticFields;
int count = -1;
for (int i = 0; i < fs.size(); i++) {
EncodedField f = fs.get(i);
EncodedValue ev = f.staticValue;
if (ev != null) {
if (!ev.isDefaultValueForType()) {
count = i;
}
}
}
if (count >= 0) {
EncodedArrayItem encodedArrayItem = cp.putEnCodedArrayItem();
EncodedArray array = encodedArrayItem.value;
for (int i = 0; i <= count; i++) {
EncodedField f = fs.get(i);
EncodedValue ev = f.staticValue;
if (ev == null) {
array.values.add(EncodedValue.defaultValueForType(f.field.getTypeString()));
} else {
array.values.add(ev);
}
}
staticValues = encodedArrayItem;
}
}
use of com.googlecode.d2j.dex.writer.ev.EncodedArray in project dex2jar by pxb1988.
the class AnnotationWriter method visitArray.
@Override
public DexAnnotationVisitor visitArray(String name) {
AnnotationElement ae = newAnnotationElement(name);
final EncodedArray encodedArray = new EncodedArray();
ae.value = new EncodedValue(EncodedValue.VALUE_ARRAY, encodedArray);
return new EncodedArrayAnnWriter(encodedArray);
}
Aggregations