mirror of
https://github.com/revanced/smali.git
synced 2025-05-11 20:04:28 +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.ClassDefItem;
|
||||||
import org.jf.dexlib2.dexbacked.raw.TypeIdItem;
|
import org.jf.dexlib2.dexbacked.raw.TypeIdItem;
|
||||||
import org.jf.dexlib2.dexbacked.util.AnnotationsDirectory;
|
import org.jf.dexlib2.dexbacked.util.AnnotationsDirectory;
|
||||||
import org.jf.dexlib2.dexbacked.util.FixedSizeSet;
|
import org.jf.dexlib2.dexbacked.util.EncodedArrayItemIterator;
|
||||||
import org.jf.dexlib2.dexbacked.util.StaticInitialValueIterator;
|
|
||||||
import org.jf.dexlib2.dexbacked.util.VariableSizeLookaheadIterator;
|
import org.jf.dexlib2.dexbacked.util.VariableSizeLookaheadIterator;
|
||||||
import org.jf.dexlib2.iface.ClassDef;
|
import org.jf.dexlib2.iface.ClassDef;
|
||||||
import org.jf.dexlib2.iface.reference.FieldReference;
|
import org.jf.dexlib2.iface.reference.FieldReference;
|
||||||
@ -163,8 +162,8 @@ public class DexBackedClassDef extends BaseTypeReference implements ClassDef {
|
|||||||
public Iterator<DexBackedField> iterator() {
|
public Iterator<DexBackedField> iterator() {
|
||||||
final AnnotationsDirectory.AnnotationIterator annotationIterator =
|
final AnnotationsDirectory.AnnotationIterator annotationIterator =
|
||||||
annotationsDirectory.getFieldAnnotationIterator();
|
annotationsDirectory.getFieldAnnotationIterator();
|
||||||
final StaticInitialValueIterator staticInitialValueIterator =
|
final EncodedArrayItemIterator staticInitialValueIterator =
|
||||||
StaticInitialValueIterator.newOrEmpty(dexFile, staticInitialValuesOffset);
|
EncodedArrayItemIterator.newOrEmpty(dexFile, staticInitialValuesOffset);
|
||||||
|
|
||||||
return new VariableSizeLookaheadIterator<DexBackedField>(dexFile, fieldsStartOffset) {
|
return new VariableSizeLookaheadIterator<DexBackedField>(dexFile, fieldsStartOffset) {
|
||||||
private int count;
|
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.raw.FieldIdItem;
|
||||||
import org.jf.dexlib2.dexbacked.reference.DexBackedFieldReference;
|
import org.jf.dexlib2.dexbacked.reference.DexBackedFieldReference;
|
||||||
import org.jf.dexlib2.dexbacked.util.AnnotationsDirectory;
|
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.dexbacked.value.DexBackedEncodedValue;
|
||||||
import org.jf.dexlib2.iface.ClassDef;
|
import org.jf.dexlib2.iface.ClassDef;
|
||||||
import org.jf.dexlib2.iface.Field;
|
import org.jf.dexlib2.iface.Field;
|
||||||
@ -62,7 +62,7 @@ public class DexBackedField extends BaseFieldReference implements Field {
|
|||||||
public DexBackedField(@Nonnull DexReader reader,
|
public DexBackedField(@Nonnull DexReader reader,
|
||||||
@Nonnull DexBackedClassDef classDef,
|
@Nonnull DexBackedClassDef classDef,
|
||||||
int previousFieldIndex,
|
int previousFieldIndex,
|
||||||
@Nonnull StaticInitialValueIterator staticInitialValueIterator,
|
@Nonnull EncodedArrayItemIterator staticInitialValueIterator,
|
||||||
@Nonnull AnnotationsDirectory.AnnotationIterator annotationIterator) {
|
@Nonnull AnnotationsDirectory.AnnotationIterator annotationIterator) {
|
||||||
this.dexFile = reader.dexBuf;
|
this.dexFile = reader.dexBuf;
|
||||||
this.classDef = classDef;
|
this.classDef = classDef;
|
||||||
|
@ -39,8 +39,8 @@ import org.jf.dexlib2.iface.value.EncodedValue;
|
|||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
public abstract class StaticInitialValueIterator {
|
public abstract class EncodedArrayItemIterator {
|
||||||
public static final StaticInitialValueIterator EMPTY = new StaticInitialValueIterator() {
|
public static final EncodedArrayItemIterator EMPTY = new EncodedArrayItemIterator() {
|
||||||
@Nullable @Override public EncodedValue getNextOrNull() { return null; }
|
@Nullable @Override public EncodedValue getNextOrNull() { return null; }
|
||||||
@Override public void skipNext() {}
|
@Override public void skipNext() {}
|
||||||
@Override public int getReaderOffset() { return 0; }
|
@Override public int getReaderOffset() { return 0; }
|
||||||
@ -51,19 +51,19 @@ public abstract class StaticInitialValueIterator {
|
|||||||
public abstract int getReaderOffset();
|
public abstract int getReaderOffset();
|
||||||
|
|
||||||
@Nonnull
|
@Nonnull
|
||||||
public static StaticInitialValueIterator newOrEmpty(@Nonnull DexBackedDexFile dexFile, int offset) {
|
public static EncodedArrayItemIterator newOrEmpty(@Nonnull DexBackedDexFile dexFile, int offset) {
|
||||||
if (offset == 0) {
|
if (offset == 0) {
|
||||||
return EMPTY;
|
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;
|
@Nonnull private final DexReader reader;
|
||||||
private final int size;
|
private final int size;
|
||||||
private int index = 0;
|
private int index = 0;
|
||||||
|
|
||||||
public StaticInitialValueIteratorImpl(@Nonnull DexBackedDexFile dexFile, int offset) {
|
public EncodedArrayItemIteratorImpl(@Nonnull DexBackedDexFile dexFile, int offset) {
|
||||||
this.reader = dexFile.readerAt(offset);
|
this.reader = dexFile.readerAt(offset);
|
||||||
this.size = reader.readSmallUleb128();
|
this.size = reader.readSmallUleb128();
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user