-
Notifications
You must be signed in to change notification settings - Fork 136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Incorrect control flow analysis causes statement subsequent to a switch statement to be flagged unreachable under some circumstances #3376
Comments
Thanks for the report. I can see where the problem originates from. The commit comment says: To remove the earlier kludgy implementation, it is not enough that the code generator is enhanced to handle these explicitly - we should also delink flow analysis's dependence on the earlier kludge. PR will follow shortly. |
statement to be flagged unreachable under some circumstances * Fixes eclipse-jdt#3376
* Remove nolonger support converterJclMin (#3332) Versions older than 1.8 are not supported and thus shouldn't be needed anymore. * Fix and enable Java50Tests#testMissingRequiredBinaries * Version bump(s) for 4.35 stream * Test failures in I-Builds due to less diagnostics being emitted (#3357) * Fixes #3356 * Textual problem indicator goes wild with lamda (#3358) * jclMin23: ignore missing serializable problem "The serializable class Long does not declare a static final serialVersionUID field of type" * Fix FieldLocator and MethodLocator to support local/anonymous classes (#3314) - Fix FieldLocator.reportDeclaration() and MethodLocator.reportDeclaration() to find the anonymous or local type for the declaration rather than to return - add new tests to JavaSearchBugsTests - fixes #3308 * Codegen Primitives in record comonent patterns to be enabled with null check before calling accessor(#3361) Before generating an invoke of accessor of a record component, do a null check if primitive conversions are involved. * java.lang.StackOverflowError during "Requesting Java AST from selection" (#3373) + resilience: avoid accepting a sourceType being completed already + better hiding of modules seen via the classpath Fixes #3273 * Add NoSuchFieldError to converterJclMin18 (#3368) Add NoSuchFieldError to converterJclMin18 + build the jar + avoid new warning Enable couple of tests fixed by this. --------- Co-authored-by: Stephan Herrmann <stephan.herrmann@berlin.de> * Incorrect control flow analysis causes statement subsequent to a switch statement to be flagged unreachable under some circumstances(#3377) * Fixes #3376 * Remove unused api problem filter * Update tycho build to 4.0.10 * Completion for unimported types doesn't work. - use MissingTypesGuesser to select all missing types and offer their completion - Fixes #1502 * [Enhanced Switch] Wrong error message: Cannot switch on a value of type Integer... at levels that don't support enhanced switch (#3380) * Fixes #3379 --------- Co-authored-by: Александър Куртаков <akurtakov@gmail.com> Co-authored-by: Eclipse JDT Bot <jdt-bot@eclipse.org> Co-authored-by: Srikanth Sankaran <131454720+srikanth-sankaran@users.noreply.github.com> Co-authored-by: Jörg Kubitz <jkubitz-eclipse@gmx.de> Co-authored-by: Jeff Johnston <jjohnstn@redhat.com> Co-authored-by: Manoj N Palat <manoj.palat@in.ibm.com> Co-authored-by: Stephan Herrmann <stephan.herrmann@berlin.de> Co-authored-by: Snjeza <snjezana.peco@redhat.com>
javac from Java 21 compiles the code below fine.
ecj starting from a589ad2 reports "Unreachable code" compilation error on return.
Both compiler agree that the code below is fine:
For the "old style" switch both ecj and javac agree that the return is unreachable:
I assume ecj has a regression with a589ad2, but I haven't checked what JLS says here.
@srikanth-sankaran : please check.
The text was updated successfully, but these errors were encountered: