Unfortunately I wasn't able to reproduce that warning with provided code. However, I assume the compiler generates it because of a short-circuit evaluation language feature.
X should be always "initialized" in tryParseInt function, but "initialization" of Y depends only on boolean result from previous tryParseInt(str_wrapper(), x) call. But yeah, it still doesn't make any sense why the warning was generated for line inside an if-block. Maybe the compiler has fooled itself?
PiN
2010-07-14 20:15:52