Fixed an issue where baksmali didn't output the optional signature info on local debug directives, when available

git-svn-id: https://smali.googlecode.com/svn/trunk@207 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
This commit is contained in:
JesusFreke@JesusFreke.com 2009-06-21 22:02:53 +00:00
parent 0871036088
commit 9f8be06898
2 changed files with 5 additions and 4 deletions

View File

@ -29,6 +29,7 @@
package org.jf.baksmali.Adaptors;
import org.jf.dexlib.Util.DebugInfoDecoder;
import org.jf.dexlib.Util.Utf8Utils;
public class LocalDebugMethodItem extends DebugMethodItem {
private DebugInfoDecoder.Local local;
@ -61,6 +62,6 @@ public class LocalDebugMethodItem extends DebugMethodItem {
if (local.signature == null) {
return null;
}
return local.signature.getStringValue();
return Utf8Utils.escapeString(local.signature.getStringValue());
}
}

View File

@ -306,17 +306,17 @@ StartEpilogue(Epilogue) ::=
StartLocal(StartLocal) ::=
<<
.local <Register(StartLocal.Register)>, <StartLocal.Name>:<StartLocal.Type>
.local <Register(StartLocal.Register)>, <StartLocal.Name>:<StartLocal.Type><if(StartLocal.Signature)>,"<StartLocal.Signature>"<endif>
>>
EndLocal(EndLocal) ::=
<<
.end local <Register(EndLocal.Register)> #<EndLocal.Name>:<EndLocal.Type>
.end local <Register(EndLocal.Register)> <if(EndLocal.Name)>#<EndLocal.Name>:<EndLocal.Type>,<if(EndLocal.Signature)>, "<EndLocal.Signature>"<endif><endif>
>>
RestartLocal(RestartLocal) ::=
<<
.restart local <Register(RestartLocal.Register)> #<RestartLocal.Name>:<RestartLocal.Type>
.restart local <Register(RestartLocal.Register)> <if(RestartLocal.Name)>#<RestartLocal.Name>:<RestartLocal.Type>,<if(RestartLocal.Signature)>, "<RestartLocal.Signature>"<endif><endif>
>>
SetFile(SetFile) ::=