mirror of
https://github.com/revanced/smali.git
synced 2025-05-08 02:14:32 +02:00
StaticInitialValueIterator -> EncodedArrayItemIterator
This commit is contained in:
parent
6c054e1b44
commit
e3fd1e8115
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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();
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user