<div dir="ltr">Hi All,<div><br></div><div>Suppose I am analyzing the following code:</div><div><br></div><div><div>class MyClass {</div><div>public:</div><div><span class="" style="white-space:pre">    </span>int foo(int, int);</div><div>private:</div><div><span class="" style="white-space:pre">  </span>int x;</div><div><span class="" style="white-space:pre">     </span>int y;</div><div>};</div><div><br></div><div>int MyClass::foo(int a, int b) {</div><div><span style="white-space:pre">       x = a;</span><br></div><div><span class="" style="white-space:pre">   </span>return a;</div><div>}</div></div><div><br></div><div>and I would like to examine or modify the state of both x and y during a call to MyClass::foo(), even though MyClass::foo() only touches x. If another function in this translation unit is calling MyClass::foo(), then I can simply grab the CallEvent during a PreCall, cast it to a CXXInstanceCall, and use CXXInstanceCall::getCXXThisVal() to obtain the SVal corresponding to the calling instance. But if the analyzer is executing MyClass::foo() from the top level, I don't see a way of doing this.</div><div><br></div><div>~Scott Constable</div></div>