Comments (8)
@vorburger Do you have any idea what bundle of Eclipse generates the EEA files with the ctrl+1 action?
from eclipse-null-eea-augments.
@vorburger Do you have any idea what bundle of Eclipse generates the EEA files with the ctrl+1 action?
That would presumably have to be *jdt.ui
.. @stephan-herrmann would know all about that!
from eclipse-null-eea-augments.
I found the code that does it, but it depends on having a binding enabled version of the ADTParse being ready, instead of just a single source file, so not really something that will work with my current idea I'm working on.
from eclipse-null-eea-augments.
@J-N-K This is the current plan I have
- Create a maven plugin to generate eea files for a given library
- Adapt code in the eea-all project
- Operate after the rt.jar or the jmod on the filesystem, not the current running VM's classpath
- For each class
- Enumerate all public and protected methods and members
- Look for the signature in the main EEA file for that class
- If it exists, copy the null annotation present in the EEA file
- If it doesn't exist, use the placeholder signature and generate a warning about a missing null annotation
- Run this process for each Java release supported by this project
- Generate eea-jars for each version this way
Thoughts?
from eclipse-null-eea-augments.
Sounds good.
The question is if this is really necessary. Originally I also thought we should do that but what differences are really present in the EEAs for different JDK versions? I only found additional methods/classes for later JDK versions, so having EEA present for non-existing entities will not hurt. The only problem would be if a method signature changes, but TTBOMK this is not the case.
from eclipse-null-eea-augments.
I found the code that does it, but it depends on having a binding enabled version of the ADTParse being ready, instead of just a single source file, so not really something that will work with my current idea I'm working on.
For completeness: Class ExternalAnnotationUtil in JDT/Core also provides a few string-based helper methods.
from eclipse-null-eea-augments.
Sounds good.
The question is if this is really necessary. Originally I also thought we should do that but what differences are really present in the EEAs for different JDK versions? I only found additional methods/classes for later JDK versions, so having EEA present for non-existing entities will not hurt. The only problem would be if a method signature changes, but TTBOMK this is not the case.
No it probably isn't necessary. I'm not a fan of having more data that is needed in the files, but for methods that don't exist, shouldn't hurt anything. Guess this can be closed.
from eclipse-null-eea-augments.
Closing
from eclipse-null-eea-augments.
Related Issues (20)
- Add unit test which parses the files to make sure they are valid HOT 5
- "Incomplete" annotations HOT 5
- Remove @jason-faust as commiter HOT 1
- Regarding Optional.orElse HOT 1
- System.out probably should not be @Nullable HOT 3
- Collectors toList/toSet/toCollection should have a return value of Nonnull HOT 1
- eaa for java.util.Properties.getProperty(String,String) is incorrect HOT 10
- Map computeIfAbsent is incorrect HOT 2
- Improve Documentation HOT 8
- Update site url to https
- [question] consideration to move under eclipse umbrella ? HOT 4
- Enable DCO signoff via web UI HOT 1
- Tests fail on Java 17
- Headless examples needs updating
- Shouldn't isInstance be able to handle null parameter? HOT 4
- Move this repository to eclipse.org HOT 2
- Invite @jason-faust and @J-N-K as committers HOT 4
- Next release HOT 7
- Is there some reason that /libraries/java/java/util/stream/Stream.eea does not cover "collect()"? HOT 3
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 eclipse-null-eea-augments.