<div dir="ltr"><div><div>Strange,<br></div>I see there is <span style="background-color:rgb(228,228,255)">Kind</span>.<span style="color:rgb(102,14,122);font-weight:bold;font-style:italic">REFL_CLASS_NEWINSTANCE</span><span style="color:rgb(102,14,122);font-weight:bold;font-style:italic"></span></div><br>used in a few places to add edges to CG. What is it used for?<br><div class="gmail_extra"><br><div class="gmail_quote">On 4 May 2016 at 09:02, Steven Arzt <span dir="ltr">&lt;<a href="mailto:Steven.Arzt@cased.de" target="_blank">Steven.Arzt@cased.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div link="blue" vlink="purple" lang="DE"><div><p class="MsoNormal"><span style="font-size:11pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:rgb(31,73,125)">Hi Denis,<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:rgb(31,73,125)" lang="EN-US">That is by design. Spark needs to propagate type information to the base object of a method call. If these base object comes from a reflective call or a factory method inside a phantom class, the type information is not available through the PAG propagation and there will not be any  outgoing call edges. In that case, your best bet is to take the declared callee.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:rgb(31,73,125)" lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:rgb(31,73,125)" lang="EN-US">Best regards,<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:rgb(31,73,125)" lang="EN-US">  Steven<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:rgb(31,73,125)" lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><b><span style="font-size:10pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;" lang="EN-US">Von:</span></b><span style="font-size:10pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;" lang="EN-US"> <a href="mailto:soot-list-bounces@CS.McGill.CA" target="_blank">soot-list-bounces@CS.McGill.CA</a> [mailto:<a href="mailto:soot-list-bounces@CS.McGill.CA" target="_blank">soot-list-bounces@CS.McGill.CA</a>] <b>Im Auftrag von </b>Denis </span><span style="font-size:10pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">Bogdanas<br><b>Gesendet:</b> Mittwoch, 4. Mai 2016 00:42<br><b>An:</b> <a href="mailto:soot-list@CS.McGill.CA" target="_blank">soot-list@CS.McGill.CA</a><br><b>Betreff:</b> [Soot-list] calls to objects instantiated through reflection not detected<u></u><u></u></span></p><div><div class="h5"><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">Hi,<u></u><u></u></p></div><p class="MsoNormal">Looks like Spark doesn&#39;t process the objects instantiated through reflection.<br clear="all"><u></u><u></u></p><div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal" style="margin-bottom:12pt">For the following code:<br><br>try {<br>    locationManager = LocationManager.class.newInstance();<br>} catch (I...) { }<br>locationManager.addGpsStatusListener(null);<u></u><u></u></p></div><div><p class="MsoNormal" style="margin-bottom:12pt">edge to addGpsStatusListener() is not in the call graph. I&#39;ve looked into the support for reflection in soot source code, looks like at least this scenario should be supported.<u></u><u></u></p></div><div><p class="MsoNormal" style="margin-bottom:12pt">Am I wrong somewhere?<u></u><u></u></p></div><div><p class="MsoNormal">thanks,<u></u><u></u></p></div><div><p class="MsoNormal">-- <u></u><u></u></p><div><div><p class="MsoNormal">Denis<u></u><u></u></p></div></div></div></div></div></div></div></div></div></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature"><div dir="ltr">Denis<br></div></div>
</div></div>