[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Original names; was: Assignment statement isn't parsing
I didn't miss Pat's email about the splitter. The 'verbatim' option
subsumes 'no-splitting' and a slew of others, because it prevents _any_
BodyTransformers, including LocalSplitter, from transforming the body.
At least that's what I see in the source code that I have.
About the output being wrong: The real reason I'm making such a fuss
about this is because I'm trying very hard to keep the original variable
names. I realize that I won't always be able to do that, because the
info won't always be in the class files that I parse. However, I don't
believe that that justifies my failure to get the results I want in this
case. This is what I want to see with the command line below:
void run()
{
.unknown this, $stack0, e;
this := @this;
$stack0 = 0;
e = $stack0;
$stack0 = this;
$stack0 = $stack0.calc();
e = $stack0; // This line is the key.
return;
}
Navindra Umanee wrote:
>>(command line: java soot.Main --soot-classpath
>>.:$JAVA_HOME/jre/lib/rt.jar -p jb use-original-names -p jb verbatim -j
>>A). This is the result I get:
>>
>
> I think you missed Pat's email about the splitter. I added "-p jb
> no-splitting" and it seemed to produce the desired output. Either
> way, I'm not sure I see what the problem was with the original
> output...
>
>
>>public class A extends java.lang.Object
>>{
>> void run()
>> {
>> .unknown this, $stack0, e, l1;
>>
>> this := @this;
>> $stack0 = 0;
>> e = $stack0;
>> $stack0 = this;
>> $stack0 = $stack0.calc();
>> l1 = $stack0;
>> return;
>> }
>>
--
Nathan Kitchen
kitchen@ee.byu.edu