eclipse-jdt / eclipse-jdt/eclipse.jdt.core

Support eea for @Owning / @NotOwning

Open
#2,258 0 comments 1 reaction 1 assignee Claimed by @stephan-herrmann View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.