As of now, all constructor calls are ignored that are being called by a constructor. The point of this was not to analyze the fields of an object, so an uninitialized field wouldn't be reported multiple times.
This however introduced false negatives when the two constructors were in no relation to one another -- see the test file for a neat example for this with singletons.
This patch aims so fix this issue.
All uses of getObjectVal so far are followed by retrieving the parent region from the LazyCompoundVal. Why do you need to obtain the LazyCompoundVal in the first place, i.e. do the second getSVal "for '*this'" in getObjectVal? Why not just operate over the this-region on the current Store? I think there isn't even a guarantee that these two regions are the same. Like, in this case they probably will be the same, but we shouldn't rely on that.