Community
Participate
Working Groups
Created attachment 197692 [details] fix + tests - I
Created attachment 197718 [details] tests - II Tests for changes in MethodExitsFinder and ExceptionOccurrencesFinder which I had done last week.
Created attachment 198244 [details] additional fix Looking at the code I think this change should be done, however I have not been able to narrow down a test case for this change.
(In reply to comment #2) > Created attachment 198244 [details] [diff] > additional fix > > Looking at the code I think this change should be done, however I have not been > able to narrow down a test case for this change. All our tests pass with this patch. While the code is executed, I do not think that its result is used in any meaningful way.
(In reply to comment #3) Nasty riddle! Even if you change the two methods to "return true;" and "return;", all tests still pass. Both methods only deal with FlowInfo#fExceptions. If you open a call hierarchy on that, the only real client is FlowInfo#hasUncaughtException(). I also agree that the while loops look wrong (should walk superclasses of exceptionType, not of catchedType). However, I also could not come up with a counterexample. For 3.7.1, we better don't touch code that was in for a long time and that we don't fully understand. Can you please open a new bug for 3.8 to remove FlowInfo#fExceptions and everything that refers to it? AFAICS, the ExceptionAnalyzer now handles that.
(In reply to comment #4) > Can you please open a new bug for 3.8 to remove FlowInfo#fExceptions and > everything that refers to it? AFAICS, the ExceptionAnalyzer now handles that. Thanks Markus! I filed Bug 350290.
Created attachment 198621 [details] fix + tests - III Disable Generalize Type Refactoring for union types - It is a bit of work to make the refactoring work correctly for Union types - I don't think that the refactoring is important enough to spend much time on it now - We can always fix it in future :)
I am done here, hence marking this bug as fixed. Any issues found in future can be handled in separate bugs.
Verified.