Make DexParser.Id comparable

This commit is contained in:
LoveSy 2023-02-03 18:37:21 +08:00 committed by LoveSy
parent f19950adda
commit e18d0b684d
1 changed files with 11 additions and 6 deletions

View File

@ -112,7 +112,7 @@ public class LSPosedDexParser implements DexParser {
} }
} }
static class LSPosedId implements Id { static class LSPosedId<Self extends Id<Self>> implements Id<Self> {
final int id; final int id;
LSPosedId(int id) { LSPosedId(int id) {
@ -123,9 +123,14 @@ public class LSPosedDexParser implements DexParser {
public int getId() { public int getId() {
return id; return id;
} }
@Override
public int compareTo(Self o) {
return id - o.getId();
}
} }
static class LSPosedStringId extends LSPosedId implements StringId { static class LSPosedStringId extends LSPosedId<StringId> implements StringId {
@NonNull @NonNull
final String string; final String string;
@ -141,7 +146,7 @@ public class LSPosedDexParser implements DexParser {
} }
} }
class LSPosedTypeId extends LSPosedId implements TypeId { class LSPosedTypeId extends LSPosedId<TypeId> implements TypeId {
@NonNull @NonNull
final StringId descriptor; final StringId descriptor;
@ -157,7 +162,7 @@ public class LSPosedDexParser implements DexParser {
} }
} }
class LSPosedProtoId extends LSPosedId implements ProtoId { class LSPosedProtoId extends LSPosedId<ProtoId> implements ProtoId {
@NonNull @NonNull
final StringId shorty; final StringId shorty;
@NonNull @NonNull
@ -198,7 +203,7 @@ public class LSPosedDexParser implements DexParser {
} }
} }
class LSPosedFieldId extends LSPosedId implements FieldId { class LSPosedFieldId extends LSPosedId<FieldId> implements FieldId {
@NonNull @NonNull
final TypeId type; final TypeId type;
@NonNull @NonNull
@ -232,7 +237,7 @@ public class LSPosedDexParser implements DexParser {
} }
} }
class LSPosedMethodId extends LSPosedId implements MethodId { class LSPosedMethodId extends LSPosedId<MethodId> implements MethodId {
@NonNull @NonNull
final TypeId declaringClass; final TypeId declaringClass;
@NonNull @NonNull