mirror of
https://github.com/revanced/smali.git
synced 2025-05-04 16:44:25 +02:00
Fixed the writing logic
git-svn-id: https://smali.googlecode.com/svn/trunk@391 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
This commit is contained in:
parent
0cd5e5258b
commit
99d01fb803
@ -29,6 +29,7 @@
|
|||||||
package org.jf.dexlib;
|
package org.jf.dexlib;
|
||||||
|
|
||||||
import org.jf.dexlib.Debug.DebugInstructionIterator;
|
import org.jf.dexlib.Debug.DebugInstructionIterator;
|
||||||
|
import org.jf.dexlib.Debug.DebugOpcode;
|
||||||
import org.jf.dexlib.Util.AnnotatedOutput;
|
import org.jf.dexlib.Util.AnnotatedOutput;
|
||||||
import org.jf.dexlib.Util.Input;
|
import org.jf.dexlib.Util.Input;
|
||||||
import org.jf.dexlib.Util.Leb128Utils;
|
import org.jf.dexlib.Util.Leb128Utils;
|
||||||
@ -284,12 +285,12 @@ public class DebugInfoItem extends Item<DebugInfoItem> {
|
|||||||
@Override
|
@Override
|
||||||
public void ProcessStartLocal(int startOffset, int length, int registerNum, int nameIndex,
|
public void ProcessStartLocal(int startOffset, int length, int registerNum, int nameIndex,
|
||||||
int typeIndex, boolean registerIsSigned) {
|
int typeIndex, boolean registerIsSigned) {
|
||||||
|
out.writeByte(DebugOpcode.DBG_START_LOCAL.value);
|
||||||
if (dexFile.getPreserveSignedRegisters() && registerIsSigned) {
|
if (dexFile.getPreserveSignedRegisters() && registerIsSigned) {
|
||||||
out.writeSignedLeb128(registerNum);
|
out.writeSignedLeb128(registerNum);
|
||||||
} else {
|
} else {
|
||||||
out.writeUnsignedLeb128(registerNum);
|
out.writeUnsignedLeb128(registerNum);
|
||||||
}
|
}
|
||||||
out.writeUnsignedLeb128(registerNum);
|
|
||||||
if (nameIndex != -1) {
|
if (nameIndex != -1) {
|
||||||
out.writeUnsignedLeb128(referencedItems[referencedItemsPosition++].getIndex() + 1);
|
out.writeUnsignedLeb128(referencedItems[referencedItemsPosition++].getIndex() + 1);
|
||||||
} else {
|
} else {
|
||||||
@ -306,6 +307,7 @@ public class DebugInfoItem extends Item<DebugInfoItem> {
|
|||||||
public void ProcessStartLocalExtended(int startOffset, int length, int registerNum, int nameIndex,
|
public void ProcessStartLocalExtended(int startOffset, int length, int registerNum, int nameIndex,
|
||||||
int typeIndex, int signatureIndex,
|
int typeIndex, int signatureIndex,
|
||||||
boolean registerIsSigned) {
|
boolean registerIsSigned) {
|
||||||
|
out.writeByte(DebugOpcode.DBG_START_LOCAL_EXTENDED.value);
|
||||||
if (dexFile.getPreserveSignedRegisters() && registerIsSigned) {
|
if (dexFile.getPreserveSignedRegisters() && registerIsSigned) {
|
||||||
out.writeSignedLeb128(registerNum);
|
out.writeSignedLeb128(registerNum);
|
||||||
} else {
|
} else {
|
||||||
@ -330,6 +332,7 @@ public class DebugInfoItem extends Item<DebugInfoItem> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void ProcessSetFile(int startOffset, int length, int nameIndex) {
|
public void ProcessSetFile(int startOffset, int length, int nameIndex) {
|
||||||
|
out.writeByte(DebugOpcode.DBG_SET_FILE.value);
|
||||||
if (nameIndex != -1) {
|
if (nameIndex != -1) {
|
||||||
out.writeUnsignedLeb128(referencedItems[referencedItemsPosition++].getIndex() + 1);
|
out.writeUnsignedLeb128(referencedItems[referencedItemsPosition++].getIndex() + 1);
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user