Summary: | [compiler] difference to javac in definite unassignment analysis involving an exception within a constructor | ||||||
---|---|---|---|---|---|---|---|
Product: | [Eclipse Project] JDT | Reporter: | Maxime Daniel <maxime_daniel> | ||||
Component: | Core | Assignee: | Srikanth Sankaran <srikanth_sankaran> | ||||
Status: | VERIFIED FIXED | QA Contact: | |||||
Severity: | normal | ||||||
Priority: | P3 | CC: | Olivier_Thomann | ||||
Version: | 3.4 | ||||||
Target Milestone: | 3.6 M5 | ||||||
Hardware: | PC | ||||||
OS: | All | ||||||
Whiteboard: | |||||||
Attachments: |
|
Description
Maxime Daniel
2008-06-05 05:31:41 EDT
class Y { Y(Object o) { } } public class X extends Y { final int blank; { if (true) throw new NullPointerException(); } X() { super(new Object() {}); } } elicits an error from us, but not from javac (5/6/7) This behavior is codified by us in org.eclipse.jdt.core.tests.compiler.regression.FlowAnalysisTest.test031() Created attachment 154536 [details]
Proposed patch
Proposed fix and tests
Released in HEAD for 3.6M5 Verified for 3.6M5 using I20100125-0800 |