[Soot-list] How retrieve a method's list of parameters?

John Dean jdean4 at kc.rr.com
Sat Aug 4 18:47:41 EDT 2012


Phil,
Thanks. That looks perfect!

John

-----Original Message-----
From: phil.pratt.szeliga at gmail.com [mailto:phil.pratt.szeliga at gmail.com] On
Behalf Of Phil Pratt-Szeliga
Sent: Saturday, August 04, 2012 3:34 PM
To: john.dean at park.edu
Cc: soot-list at sable.mcgill.ca
Subject: Re: [Soot-list] How retrieve a method's list of parameters?

Hi John,

If you have a Body object named body:

SootMethod method = body.getMethod();
int num_params = method.getParameterCount();

See: http://www.sable.mcgill.ca/soot/doc/soot/SootMethod.html

Phil Pratt-Szeliga
Syracuse University

On Sat, Aug 4, 2012 at 3:37 PM, John Dean <jdean4 at kc.rr.com> wrote:
> Hi all,
> I need to be able to tell if a variable is a parameter (passed to a 
> method) as opposed to a regular local variable.
> Initially, I tried to identify a parameter by using instanceof 
> ParameterRef, but that doesn't work. Testing tells me that parameter 
> variables are instances of JimpleLocal and not ParameterRef.
>
> I've now discovered that I can use Body.getParameterLocal(0) to 
> retrieve the first parameter. But if I want to compare my variable to 
> all the retrieved getParameterLocal  variables, I would have to have 
> to be able to retrieve all the parameters, and I don't know how to do 
> that. If I knew the number of parameters, I could loop through all the 
> parameters, but I don't know how to retrieve the number of parameters.
>
> Suggestions?
>
> Thanks,
> John
>
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>
>



More information about the Soot-list mailing list