typetools / typetools/checker-framework
Feature request: Add the ability to determine why a particular class is not initialized
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 1.1k
- Forks
- 440
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 134
Description
I'm getting a warning in https://github.com/jpschewe/fll-sw/blob/4f157788eea59a514995db7e4654c9df674cdbc0/src/main/java/fll/scheduler/SchedulerUI.java#L278 that the method createMenubar is being called with a receiver @UnderInitialization(javax.swing.JFrame.class). However as near as I can tell all instance variables are initialized by this point, so I would expect the receiver to be @UnderInitialization(SchedulerUI.class).
If there was a way to put checker into a mode that would explain why this object isn't initialized yet, that would be very helpful. Perhaps something that lists the instance variables that are not know to be initialized when the method call is being made. That would help track down the problems.
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 with the warning at src/main/java/fll/scheduler/SchedulerUI.java line 278 and the createMenubar call described in the issue. Trace how the checker determines the receiver's initialization type, then identify where a diagnostic mode could explain the missing initialization facts. Done means the checker can report why a class is not considered initialized, including relevant uninitialized instance variables when applicable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- devtools
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100