Comments (3)
hi @gsmet Thanks for the tag! Indeed we haven't yet built in support for switch expressions into our Java 21 parser. Definitely should though; especially as we're eyeing a Java 21 upgrade internally too, which will make us feel this pain too.
from rewrite.
I think the issue is that OpenRewrite does not yet fully support Java's pattern matching for switch expressions and statements as previewed starting with Java 17 and then released with Java 21. This needs to be fixed in the parser (and printer).
from rewrite.
@timtebeek did this one fall through the cracks? I stumbled upon an old Quarkus issue complaining about it and this is a pattern that becomes more and more common.
In our case, the example was:
return switch(rand) {
- case String s -> s;
- case Object o -> String.valueOf(o);
+ defaultcase String s -> s;
+ defaultcase Object o -> String.valueOf(o);
};
from rewrite.
Related Issues (20)
- newArtifactId changed to newArtifact in ChangePluginGroupIdAndArtifactId HOT 4
- `JavaTemplateSemanticallyEqual` fails to match AssertJ's `assertThat("foo").isEqualTo("")`
- Issue discovered on `src/test/resources/dataflow-functional-tests/ArchiveAnalyzer.java` with `Use `Files#createTempDirectory``
- `Enable CSRF attack prevention` does not add required dependencies
- rewrite-maven error parse pom.xml HOT 1
- Code style cleanup support for Checkstyle's ImportOrder and IllegalImport HOT 1
- `ReplaceAnnotation` replaces with wrong annotation in method with annotated argument and local variable HOT 1
- ChangeType is not addressing import conflicts HOT 2
- Validation error messages can be ambigious HOT 2
- Strange bug(about LST generating?) during JMockit -> Mockito refactoring HOT 4
- Fails to ran against a Gradle subproject called 'repository'
- `RemoveUnusedImports` removes used imports for annotated method parameters HOT 2
- NoValueOfOnStringType cannot be remove HOT 3
- org.openrewrite.staticanalysis.RemoveUnusedLocalVariables failing because an optional property is not defined HOT 3
- StackOverFlowException when parsing a file
- IllegalArgumentException when parsing a file
- Update gradle wrapper adds wrong wrapper when customDistributionUrl is requested. HOT 4
- org.openrewrite.maven.cleanup.ExplicitPluginVersion HOT 1
- addProperty creates a new gradle.properties file instead of adding new properties when running in multi-module project. HOT 2
- ChangeDependency recipe is not relocating dependencies defined in sub-modules HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rewrite.