<br><br><div class="gmail_quote">On Thu, Feb 5, 2009 at 1:13 PM, Ted Kremenek <span dir="ltr"><<a href="mailto:kremenek@apple.com">kremenek@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d"><br>
On Feb 4, 2009, at 8:57 PM, Zhongxing Xu wrote:<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
If we do this, it would lead to a series of changes:<br>
<br>
To get the rvalue type of the region, we need to get the type of the symbol. SymbolManager is required to do this: get the SymbolData by SymbolRef. The interface need to be changed:<br>
<br>
TypedRegion::getRValueType(ASTContext&) -> TypedRegion::getRValueType(ASTContext&, SymbolManager&)<br>
<br>
But this is not desired for other typed regions.<br>
<br>
Or, we can make getRValueType a method of MemRegionManager. But that would need the access to MemRegionManager everywhere when we need the type of the region.<br>
</blockquote>
<br></div>
A third option is to embed a reference to the SymbolManager in the SymbolicRegion.  One would need to pass it to MemRegionManager::getSymbolicRegion(), but I see only two callsites for this function (one in BasicStore, the other in RegionStore), and in both places we should have access to the SymbolManager.<br>

</blockquote></div><br>Yeah, this is better.<br>