StaticInitialValueIterator -> EncodedArrayItemIterator

This commit is contained in:
Ben Gruver 2018-01-30 16:51:42 -08:00
parent 6c054e1b44
commit e3fd1e8115
3 changed files with 11 additions and 12 deletions

View File

@ -38,8 +38,7 @@ import org.jf.dexlib2.base.reference.BaseTypeReference;
import org.jf.dexlib2.dexbacked.raw.ClassDefItem;
import org.jf.dexlib2.dexbacked.raw.TypeIdItem;
import org.jf.dexlib2.dexbacked.util.AnnotationsDirectory;
import org.jf.dexlib2.dexbacked.util.FixedSizeSet;
import org.jf.dexlib2.dexbacked.util.StaticInitialValueIterator;
import org.jf.dexlib2.dexbacked.util.EncodedArrayItemIterator;
import org.jf.dexlib2.dexbacked.util.VariableSizeLookaheadIterator;
import org.jf.dexlib2.iface.ClassDef;
import org.jf.dexlib2.iface.reference.FieldReference;
@ -163,8 +162,8 @@ public class DexBackedClassDef extends BaseTypeReference implements ClassDef {
public Iterator<DexBackedField> iterator() {
final AnnotationsDirectory.AnnotationIterator annotationIterator =
annotationsDirectory.getFieldAnnotationIterator();
final StaticInitialValueIterator staticInitialValueIterator =
StaticInitialValueIterator.newOrEmpty(dexFile, staticInitialValuesOffset);
final EncodedArrayItemIterator staticInitialValueIterator =
EncodedArrayItemIterator.newOrEmpty(dexFile, staticInitialValuesOffset);
return new VariableSizeLookaheadIterator<DexBackedField>(dexFile, fieldsStartOffset) {
private int count;

View File

@ -35,7 +35,7 @@ import org.jf.dexlib2.base.reference.BaseFieldReference;
import org.jf.dexlib2.dexbacked.raw.FieldIdItem;
import org.jf.dexlib2.dexbacked.reference.DexBackedFieldReference;
import org.jf.dexlib2.dexbacked.util.AnnotationsDirectory;
import org.jf.dexlib2.dexbacked.util.StaticInitialValueIterator;
import org.jf.dexlib2.dexbacked.util.EncodedArrayItemIterator;
import org.jf.dexlib2.dexbacked.value.DexBackedEncodedValue;
import org.jf.dexlib2.iface.ClassDef;
import org.jf.dexlib2.iface.Field;
@ -62,7 +62,7 @@ public class DexBackedField extends BaseFieldReference implements Field {
public DexBackedField(@Nonnull DexReader reader,
@Nonnull DexBackedClassDef classDef,
int previousFieldIndex,
@Nonnull StaticInitialValueIterator staticInitialValueIterator,
@Nonnull EncodedArrayItemIterator staticInitialValueIterator,
@Nonnull AnnotationsDirectory.AnnotationIterator annotationIterator) {
this.dexFile = reader.dexBuf;
this.classDef = classDef;

View File

@ -39,8 +39,8 @@ import org.jf.dexlib2.iface.value.EncodedValue;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
public abstract class StaticInitialValueIterator {
public static final StaticInitialValueIterator EMPTY = new StaticInitialValueIterator() {
public abstract class EncodedArrayItemIterator {
public static final EncodedArrayItemIterator EMPTY = new EncodedArrayItemIterator() {
@Nullable @Override public EncodedValue getNextOrNull() { return null; }
@Override public void skipNext() {}
@Override public int getReaderOffset() { return 0; }
@ -51,19 +51,19 @@ public abstract class StaticInitialValueIterator {
public abstract int getReaderOffset();
@Nonnull
public static StaticInitialValueIterator newOrEmpty(@Nonnull DexBackedDexFile dexFile, int offset) {
public static EncodedArrayItemIterator newOrEmpty(@Nonnull DexBackedDexFile dexFile, int offset) {
if (offset == 0) {
return EMPTY;
}
return new StaticInitialValueIteratorImpl(dexFile, offset);
return new EncodedArrayItemIteratorImpl(dexFile, offset);
}
private static class StaticInitialValueIteratorImpl extends StaticInitialValueIterator {
private static class EncodedArrayItemIteratorImpl extends EncodedArrayItemIterator {
@Nonnull private final DexReader reader;
private final int size;
private int index = 0;
public StaticInitialValueIteratorImpl(@Nonnull DexBackedDexFile dexFile, int offset) {
public EncodedArrayItemIteratorImpl(@Nonnull DexBackedDexFile dexFile, int offset) {
this.reader = dexFile.readerAt(offset);
this.size = reader.readSmallUleb128();
}