eclipse-jdt / eclipse-jdt/eclipse.jdt.core
Support eea for @Owning / @NotOwning
- Dominant language
- Java
- Stars
- 237
- Forks
- 195
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 49
Description
Follow-up from #1716: it should be possible to externally add libraries with `@Owning` / `@NotOwning` in suitable locations.
I will try to blend this into the existing support for .eea files.
eea for null analysis uses this encoding:
* `0` = `@Nullable`
* `1` = `@NonNull`
Without modifying the general format, we still have the digits 2-9 for encoding more annotations. While there is no intuitive mapping like 0/1, I think using 8/9 is a pragmatically valid option, that still leaves us with the option to use `2` for another null related annotation etc. (Should we ever run out of digits, we can still change the format to let digits start a multi char encoding etc. - but not for now).
Technically we need to check if the existing integration via `TypeAnnotationWalker` can suitably "simulate" owning annotations in declaration positions. Let's see whether having `@Owning` specify `TYPE_USE` as one of its targets works for or against this strategy.
Contributor guide
Assessment
This issue has not been assessed yet.