typetools / typetools/checker-framework
Meta-annotation to restrict on what types a qualifier may appear
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 1.1k
- Forks
- 440
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 134
Description
Here are two distinct concepts:
- where an annotation may be written in source code.
- what types may be qualified by a given qualifier. This is a restriction on the effective qualifier on a type, after application of implicit type qualifiers, defaults, and flow-sensitive refinement.
The concepts are different. The Checker Framework forbids users from writing redundant qualifiers in some situations, for reasons of brevity and consistency.
The first concept is indicated by @TargetLocation. The Checker Framework has no convenient declarative mechanism for specifying the second concept. It would be nice for the Checker Framework to have such a construct and to automatically enforce it.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the existing @TargetLocation mechanism and the Checker Framework's handling of effective qualifiers after implicit qualifiers, defaults, and flow-sensitive refinement. The issue is complete when a declarative restriction for qualifier-applicable types exists and is enforced automatically, but no files or tests are identified here.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100