Comments (3)
Hi @Marcono1234! For StatementSwitchToExpressionSwitch
such skip-if-unsupported logic is already in place; did you observe that not working as expected?
Assuming that logic does work for you: the other checks could likely be tweaked accordingly.
from error-prone.
Ah sorry you are right, for StatementSwitchToExpressionSwitch
it seems to work as desired. I only had a look at some of the listed checks and noticed that they don't consider the target Java version, but then listed additional Java version dependent checks without verifying how they behave.
Assuming that logic does work for you: the other checks could likely be tweaked accordingly.
Yes that sounds like a good idea! I have extended the list above with some more checks which might be Java target version dependent.
However, would it make sense to implement a more general solution which allows checks to specify an optional minimum Java version? And then maybe directly disable the checks on startup instead of executing them all the time despite them doing nothing (but still causing some overhead I guess); or can the target / source Java version differ between the files to be compiled?
from error-prone.
However, would it make sense to implement a more general solution which allows checks to specify an optional minimum Java version? And then maybe directly disable the checks on startup instead of executing them all the time despite them doing nothing (but still causing some overhead I guess); or can the target / source Java version differ between the files to be compiled?
I think that could make sense, and the source version should always be the same for the entire compilation. I'm a little skeptical that the overhead of the approach StatementSwitchToExpressionSwitch
uses is going to be noticeable in practice, so adding a separate API for checks to express a required source version doesn't feel like a high priority to me. But I'm open to being persuaded if you're seeing overhead from that in practice.
from error-prone.
Related Issues (20)
- 2.26.1: An unhandled exception was thrown by the Error Prone static analysis plugin. BugPattern: JUnitIncompatibleType HOT 1
- class com.sun.tools.javac.code.Type$ClassType cannot be cast to class com.sun.tools.javac.code.Type$ArrayType HOT 6
- `JUnitIncompatibleType` on 2.27.0 throws `ClassCastException` for `com.sun.tools.javac.code.Type$TypeVar` around `assertArrayEquals` HOT 1
- False alarm from ClassInitializationDeadlock for inner enum implementing outer interface with default method HOT 4
- [Feature Request] Add check warning against mocking record types HOT 1
- ObjectEqualsForPrimitives should not suggest to convert boxed equals on double or float values HOT 3
- Suggest to use `Double.compare` or `Float.compare` when ObjectEqualsForPrimitives is triggered on floating point primitives
- Patching no longer works for experimental checks like StatementSwitchToExpressionSwitch HOT 1
- False UnusedVariable warning for method parameters only used in overridden implementations HOT 3
- FormatStringAnnotation checker is annoyingly stricter than FormatString HOT 2
- Jdk 23 now broken with Error prone after github updates to newer cut yesterday HOT 4
- JDK 23 compatibility HOT 1
- [PatternMatchingInstanceof] False-positives
- Refaster includes fully qualified reference to the `@AfterTemplate` to local variable inside the template HOT 4
- Dspace mvn compilation error HOT 6
- BugPattern: ParameterName HOT 3
- SelfAssignment false positive with casting a float variable to int HOT 1
- An unhandled exception was thrown by the Error Prone static analysis plugin: BugPattern: InconsistentCapitalization HOT 1
- UnnecessaryDefaultInEnumSwitch does not work with enhanced switch statement for cases with multiple values
- False positives by UnusedVariable on unnamed variables (Java 22)
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 error-prone.