Package org.jf.dexlib2.writer
Class InstructionWriter<StringRef extends StringReference,TypeRef extends TypeReference,FieldRefKey extends FieldReference,MethodRefKey extends MethodReference,ProtoRefKey extends MethodProtoReference,MethodHandleKey extends MethodHandleReference,CallSiteKey extends CallSiteReference>
java.lang.Object
org.jf.dexlib2.writer.InstructionWriter<StringRef,TypeRef,FieldRefKey,MethodRefKey,ProtoRefKey,MethodHandleKey,CallSiteKey>
public class InstructionWriter<StringRef extends StringReference,TypeRef extends TypeReference,FieldRefKey extends FieldReference,MethodRefKey extends MethodReference,ProtoRefKey extends MethodProtoReference,MethodHandleKey extends MethodHandleReference,CallSiteKey extends CallSiteReference>
extends Object
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final CallSiteSection<CallSiteKey, ?> private final FieldSection<?, ?, FieldRefKey, ?> private final MethodHandleSection<MethodHandleKey, ?, ?> private final MethodSection<?, ?, ?, MethodRefKey, ?> private final Opcodesprivate final ProtoSection<?, ?, ProtoRefKey, ?> private final StringSection<?, StringRef> private final Comparator<SwitchElement> private final TypeSection<?, ?, TypeRef> private final DexDataWriter -
Constructor Summary
ConstructorsConstructorDescriptionInstructionWriter(Opcodes opcodes, DexDataWriter writer, StringSection<?, StringRef> stringSection, TypeSection<?, ?, TypeRef> typeSection, FieldSection<?, ?, FieldRefKey, ?> fieldSection, MethodSection<?, ?, ?, MethodRefKey, ?> methodSection, ProtoSection<?, ?, ProtoRefKey, ?> protoSection, MethodHandleSection<MethodHandleKey, ?, ?> methodHandleSection, CallSiteSection<CallSiteKey, ?> callSiteSection) -
Method Summary
Modifier and TypeMethodDescriptionprivate shortgetOpcodeValue(Opcode opcode) private intgetReference2Index(DualReferenceInstruction referenceInstruction) private intgetReferenceIndex(int referenceType, Reference reference) private intgetReferenceIndex(ReferenceInstruction referenceInstruction) (package private) static <StringRef extends StringReference,TypeRef extends TypeReference, FieldRefKey extends FieldReference, MethodRefKey extends MethodReference, ProtoRefKey extends MethodProtoReference, MethodHandleKey extends MethodHandleReference, CallSiteKey extends CallSiteReference>
InstructionWriter<StringRef, TypeRef, FieldRefKey, MethodRefKey, ProtoRefKey, MethodHandleKey, CallSiteKey> makeInstructionWriter(Opcodes opcodes, DexDataWriter writer, StringSection<?, StringRef> stringSection, TypeSection<?, ?, TypeRef> typeSection, FieldSection<?, ?, FieldRefKey, ?> fieldSection, MethodSection<?, ?, ?, MethodRefKey, ?> methodSection, ProtoSection<?, ?, ProtoRefKey, ?> protoSection, MethodHandleSection<MethodHandleKey, ?, ?> methodHandleSection, CallSiteSection<CallSiteKey, ?> callSiteSection) private static intpackNibbles(int a, int b) voidwrite(ArrayPayload instruction) voidwrite(Instruction10t instruction) voidwrite(Instruction10x instruction) voidwrite(Instruction11n instruction) voidwrite(Instruction11x instruction) voidwrite(Instruction12x instruction) voidwrite(Instruction20bc instruction) voidwrite(Instruction20t instruction) voidwrite(Instruction21c instruction) voidwrite(Instruction21ih instruction) voidwrite(Instruction21lh instruction) voidwrite(Instruction21s instruction) voidwrite(Instruction21t instruction) voidwrite(Instruction22b instruction) voidwrite(Instruction22c instruction) voidwrite(Instruction22cs instruction) voidwrite(Instruction22s instruction) voidwrite(Instruction22t instruction) voidwrite(Instruction22x instruction) voidwrite(Instruction23x instruction) voidwrite(Instruction30t instruction) voidwrite(Instruction31c instruction) voidwrite(Instruction31i instruction) voidwrite(Instruction31t instruction) voidwrite(Instruction32x instruction) voidwrite(Instruction35c instruction) voidwrite(Instruction35mi instruction) voidwrite(Instruction35ms instruction) voidwrite(Instruction3rc instruction) voidwrite(Instruction3rmi instruction) voidwrite(Instruction3rms instruction) voidwrite(Instruction45cc instruction) voidwrite(Instruction4rcc instruction) voidwrite(Instruction51l instruction) voidwrite(PackedSwitchPayload instruction) voidwrite(SparseSwitchPayload instruction)
-
Field Details
-
opcodes
-
writer
-
stringSection
-
typeSection
-
fieldSection
-
methodSection
-
protoSection
-
methodHandleSection
@Nonnull private final MethodHandleSection<MethodHandleKey extends MethodHandleReference,?, methodHandleSection?> -
callSiteSection
-
switchElementComparator
-
-
Constructor Details
-
InstructionWriter
InstructionWriter(@Nonnull Opcodes opcodes, @Nonnull DexDataWriter writer, @Nonnull StringSection<?, StringRef> stringSection, @Nonnull TypeSection<?, ?, TypeRef> typeSection, @Nonnull FieldSection<?, ?, FieldRefKey, ?> fieldSection, @Nonnull MethodSection<?, ?, ?, MethodRefKey, ?> methodSection, @Nonnull ProtoSection<?, ?, ProtoRefKey, ?> protoSection, @Nonnull MethodHandleSection<MethodHandleKey, ?, ?> methodHandleSection, @Nonnull CallSiteSection<CallSiteKey, ?> callSiteSection)
-
-
Method Details
-
makeInstructionWriter
@Nonnull static <StringRef extends StringReference,TypeRef extends TypeReference, InstructionWriter<StringRef,FieldRefKey extends FieldReference, MethodRefKey extends MethodReference, ProtoRefKey extends MethodProtoReference, MethodHandleKey extends MethodHandleReference, CallSiteKey extends CallSiteReference> TypeRef, makeInstructionWriterFieldRefKey, MethodRefKey, ProtoRefKey, MethodHandleKey, CallSiteKey> (@Nonnull Opcodes opcodes, @Nonnull DexDataWriter writer, @Nonnull StringSection<?, StringRef> stringSection, @Nonnull TypeSection<?, ?, TypeRef> typeSection, @Nonnull FieldSection<?, ?, FieldRefKey, ?> fieldSection, @Nonnull MethodSection<?, ?, ?, MethodRefKey, ?> methodSection, @Nonnull ProtoSection<?, ?, ProtoRefKey, ?> protoSection, @Nonnull MethodHandleSection<MethodHandleKey, ?, ?> methodHandleSection, @Nonnull CallSiteSection<CallSiteKey, ?> callSiteSection) -
getOpcodeValue
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
write
-
packNibbles
private static int packNibbles(int a, int b) -
getReferenceIndex
-
getReference2Index
-
getReferenceIndex
-