<div dir="ltr"><span style="font-family: georgia, serif;"><br>          Hi,<br><br></span><div style="margin-left: 40px;"><span style="font-family: georgia, serif;">I just started using soot. I want to know that whatever I am looking for is already there in soot?  <br></span></div><span style="font-family: georgia, serif;"><br></span><div style="margin-left: 40px;"><span style="font-family: georgia, serif;">Consider the following example program.</span><br><br><div style="background-color: rgb(250, 250, 250); border-color: rgb(187, 187, 187); border-style: solid; border-width: 1px; overflow-wrap: break-word;" class="prettyprint"><code class="prettyprint"><div class="subprettyprint"><span style="color: #008;" class="styled-by-prettify">class</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #606;" class="styled-by-prettify">Example</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #660;" class="styled-by-prettify">{</span><span style="color: #000;" class="styled-by-prettify"><br>    </span><span style="color: #008;" class="styled-by-prettify">public</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #008;" class="styled-by-prettify">static</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #008;" class="styled-by-prettify">void</span><span style="color: #000;" class="styled-by-prettify"> main</span><span style="color: #660;" class="styled-by-prettify">(</span><span style="color: #606;" class="styled-by-prettify">String</span><span style="color: #660;" class="styled-by-prettify">[]</span><span style="color: #000;" class="styled-by-prettify"> args</span><span style="color: #660;" class="styled-by-prettify">)</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #660;" class="styled-by-prettify">{</span><span style="color: #000;" class="styled-by-prettify"><br>        </span><span style="color: #606;" class="styled-by-prettify">Scanner</span><span style="color: #000;" class="styled-by-prettify"> sc </span><span style="color: #660;" class="styled-by-prettify">=</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #008;" class="styled-by-prettify">new</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #606;" class="styled-by-prettify">Scanner</span><span style="color: #660;" class="styled-by-prettify">(</span><span style="color: #606;" class="styled-by-prettify">System</span><span style="color: #660;" class="styled-by-prettify">.</span><span style="color: #008;" class="styled-by-prettify">in</span><span style="color: #660;" class="styled-by-prettify">);</span><span style="color: #000;" class="styled-by-prettify"><br>        </span><span style="color: #008;" class="styled-by-prettify">int</span><span style="color: #000;" class="styled-by-prettify"> x </span><span style="color: #660;" class="styled-by-prettify">=</span><span style="color: #000;" class="styled-by-prettify"> sc</span><span style="color: #660;" class="styled-by-prettify">.</span><span style="color: #000;" class="styled-by-prettify">nextInt</span><span style="color: #660;" class="styled-by-prettify">();</span><span style="color: #000;" class="styled-by-prettify"><br>        </span><span style="color: #606;" class="styled-by-prettify">List</span><span style="color: #660;" class="styled-by-prettify"><</span><span style="color: #606;" class="styled-by-prettify">Integer</span><span style="color: #660;" class="styled-by-prettify">></span><span style="color: #000;" class="styled-by-prettify"> l </span><span style="color: #660;" class="styled-by-prettify">=</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #008;" class="styled-by-prettify">null</span><span style="color: #660;" class="styled-by-prettify">;</span><span style="color: #000;" class="styled-by-prettify"><br><br>        </span><span style="color: #800;" class="styled-by-prettify">// x will be in between 1 and 3 only.</span><span style="color: #000;" class="styled-by-prettify"><br><br>        </span><span style="color: #008;" class="styled-by-prettify">switch</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #660;" class="styled-by-prettify">(</span><span style="color: #000;" class="styled-by-prettify">x</span><span style="color: #660;" class="styled-by-prettify">)</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #660;" class="styled-by-prettify">{</span><span style="color: #000;" class="styled-by-prettify"><br>            </span><span style="color: #008;" class="styled-by-prettify">case</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #066;" class="styled-by-prettify">1</span><span style="color: #660;" class="styled-by-prettify">:</span><span style="color: #000;" class="styled-by-prettify"><br>                    l </span><span style="color: #660;" class="styled-by-prettify">=</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #008;" class="styled-by-prettify">new</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #606;" class="styled-by-prettify">ArrayList</span><span style="color: #660;" class="styled-by-prettify"><>();</span><span style="color: #000;" class="styled-by-prettify"><br>                    </span><span style="color: #008;" class="styled-by-prettify">break</span><span style="color: #660;" class="styled-by-prettify">;</span><span style="color: #000;" class="styled-by-prettify"><br>            </span><span style="color: #008;" class="styled-by-prettify">case</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #066;" class="styled-by-prettify">2</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #660;" class="styled-by-prettify">:</span><span style="color: #000;" class="styled-by-prettify"> <br>                    l </span><span style="color: #660;" class="styled-by-prettify">=</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #008;" class="styled-by-prettify">new</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #606;" class="styled-by-prettify">LinkedList</span><span style="color: #660;" class="styled-by-prettify"><>();</span><span style="color: #000;" class="styled-by-prettify"><br>                    </span><span style="color: #008;" class="styled-by-prettify">break</span><span style="color: #660;" class="styled-by-prettify">;</span><span style="color: #000;" class="styled-by-prettify"><br>            </span><span style="color: #008;" class="styled-by-prettify">case</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #066;" class="styled-by-prettify">3</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #660;" class="styled-by-prettify">:</span><span style="color: #000;" class="styled-by-prettify"> <br>                    l </span><span style="color: #660;" class="styled-by-prettify">=</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #008;" class="styled-by-prettify">new</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #606;" class="styled-by-prettify">Vector</span><span style="color: #660;" class="styled-by-prettify"><>();</span><span style="color: #000;" class="styled-by-prettify"><br>                    </span><span style="color: #008;" class="styled-by-prettify">break</span><span style="color: #660;" class="styled-by-prettify">;</span><span style="color: #000;" class="styled-by-prettify"><br>                </span><span style="color: #660;" class="styled-by-prettify">}</span><span style="color: #000;" class="styled-by-prettify">        <br>        <br>        </span><span style="color: #800;" class="styled-by-prettify">//At this point l might take one of this [ArrayList, LinkedList, Vector]        </span><span style="color: #000;" class="styled-by-prettify"><br>        </span><span style="color: #800;" class="styled-by-prettify">//Is this any analysis in Soot to get the above information?</span><span style="color: #000;" class="styled-by-prettify"><br>        <br>        </span><span style="color: #606;" class="styled-by-prettify">ArrayList</span><span style="color: #660;" class="styled-by-prettify"><</span><span style="color: #606;" class="styled-by-prettify">Integer</span><span style="color: #660;" class="styled-by-prettify">></span><span style="color: #000;" class="styled-by-prettify"> al </span><span style="color: #660;" class="styled-by-prettify">=</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #008;" class="styled-by-prettify">new</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #606;" class="styled-by-prettify">ArrayList</span><span style="color: #660;" class="styled-by-prettify"><>();</span><span style="color: #000;" class="styled-by-prettify"><br>        </span><span style="color: #008;" class="styled-by-prettify">for</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #660;" class="styled-by-prettify">(</span><span style="color: #008;" class="styled-by-prettify">int</span><span style="color: #000;" class="styled-by-prettify"> i</span><span style="color: #660;" class="styled-by-prettify">=</span><span style="color: #066;" class="styled-by-prettify">0</span><span style="color: #660;" class="styled-by-prettify">;</span><span style="color: #000;" class="styled-by-prettify">i</span><span style="color: #660;" class="styled-by-prettify"><</span><span style="color: #066;" class="styled-by-prettify">4</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #660;" class="styled-by-prettify">;</span><span style="color: #000;" class="styled-by-prettify">i</span><span style="color: #660;" class="styled-by-prettify">++</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #660;" class="styled-by-prettify">)</span><span style="color: #000;" class="styled-by-prettify"> </span><span style="color: #660;" class="styled-by-prettify">{</span><span style="color: #000;" class="styled-by-prettify"><br>                al</span><span style="color: #660;" class="styled-by-prettify">.</span><span style="color: #000;" class="styled-by-prettify">add</span><span style="color: #660;" class="styled-by-prettify">(</span><span style="color: #000;" class="styled-by-prettify">i</span><span style="color: #660;" class="styled-by-prettify">);</span><span style="color: #000;" class="styled-by-prettify"><br>            </span><span style="color: #660;" class="styled-by-prettify">}</span><span style="color: #000;" class="styled-by-prettify">    <br>        l</span><span style="color: #660;" class="styled-by-prettify">.</span><span style="color: #000;" class="styled-by-prettify">addAll</span><span style="color: #660;" class="styled-by-prettify">(</span><span style="color: #000;" class="styled-by-prettify">al</span><span style="color: #660;" class="styled-by-prettify">);</span><span style="color: #000;" class="styled-by-prettify">        <br>        </span><span style="color: #606;" class="styled-by-prettify">System</span><span style="color: #660;" class="styled-by-prettify">.</span><span style="color: #008;" class="styled-by-prettify">out</span><span style="color: #660;" class="styled-by-prettify">.</span><span style="color: #000;" class="styled-by-prettify">println</span><span style="color: #660;" class="styled-by-prettify">(</span><span style="color: #000;" class="styled-by-prettify">l</span><span style="color: #660;" class="styled-by-prettify">);</span><span style="color: #000;" class="styled-by-prettify"><br>    </span><span style="color: #660;" class="styled-by-prettify">}</span><span style="color: #000;" class="styled-by-prettify"><br></span><span style="color: #660;" class="styled-by-prettify">}</span></div></code></div><br> <br><br><span style="font-family: georgia, serif;"><br>If some analysis is there, an explanation with a code will be very helpful.<br>Thanks in advance.</span><br><br>Cheers,<br>--Nikhil<br><br></div></div>