-
Notifications
You must be signed in to change notification settings - Fork 438
Call extend only once
#7234
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
mernst
wants to merge
48
commits into
typetools:master
Choose a base branch
from
mernst:cfg-extend-once
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+17
−5
Open
Call extend only once
#7234
Changes from 2 commits
Commits
Show all changes
48 commits
Select commit
Hold shift + click to select a range
87359b2
Call `extend` only once
mernst 9e4b90b
Merge ../checker-framework-branch-master into cfg-extend-once
mernst df55f80
Rename `*Playground` to `*Pdf`
mernst b68c5e5
Merge ../checker-framework-fork-mernst-branch-playground into cfg-ext…
mernst f949caa
Renamings
mernst c1b8a49
Merge ../checker-framework-fork-mernst-branch-rename-playground-to-pd…
mernst 95eaa3c
Javadoc fix
mernst d021484
Add changelog
mernst daf0d3f
Produce PDF as well as string representation when testing
mernst 4a19961
Merge ../checker-framework-fork-mernst-branch-renaming into rename-pl…
mernst 9845c39
Merge ../checker-framework-fork-mernst-branch-playground into cfg-ext…
mernst f09e2d6
Undo duplication
mernst 4c0104a
Separate creation of CFG from visualizing it
mernst 9ea4ca0
Fix Javadoc
mernst 8f2b457
Fix Javadoc
mernst 842c823
Fix nullness specification
mernst 2a5935a
Tweaks
mernst b1e57a3
Merge ../checker-framework-fork-mernst-branch-playground into cfg-ext…
mernst d19a35f
Change order of arguments
mernst 0dc71fe
Merge ../checker-framework-fork-mernst-branch-playground into cfg-ext…
mernst bee06df
Merge branch 'master' into playground
smillst b43f8b9
Merge ../checker-framework-branch-master into playground
mernst bedba2e
Merge ../checker-framework-fork-mernst-branch-playground into cfg-ext…
mernst 89a03dc
Merge ../checker-framework-branch-master into cfg-extend-once-tests
mernst 972d398
Merge ../checker-framework-fork-mernst-branch-cfg-extend-once-tests i…
mernst afe3aad
Merge branch 'master' into cfg-extend-once
mernst a9748ea
Merge ../checker-framework-branch-master into cfg-extend-once-tests
mernst eba9d48
Merge ../checker-framework-fork-mernst-branch-cfg-extend-once-tests i…
mernst bf2a052
Merge ../checker-framework-branch-master into cfg-extend-once-tests
mernst 8352eb6
Merge ../checker-framework-branch-master into cfg-extend-once-tests
mernst 9c8b23f
Merge ../checker-framework-fork-mernst-branch-cfg-extend-once-tests i…
mernst f2f456a
Merge branch 'cfg-extend-once-tests' of github.com:mernst/checker-fra…
mernst 1629777
Merge ../checker-framework-fork-mernst-branch-cfg-extend-once-tests i…
mernst 3c73cd7
Merge ../checker-framework-branch-master into cfg-extend-once-tests
mernst 1a0a25e
Merge ../checker-framework-fork-mernst-branch-cfg-extend-once-tests i…
mernst 32d7463
Merge ../checker-framework-branch-master into cfg-extend-once-tests
mernst 94c7c4a
Merge ../checker-framework-fork-mernst-branch-cfg-extend-once-tests i…
mernst 1252419
Merge ../checker-framework-branch-master into cfg-extend-once-tests
mernst 396a774
Merge ../checker-framework-fork-mernst-branch-cfg-extend-once-tests i…
mernst 0dde2f2
Merge ../checker-framework-branch-master into cfg-extend-once
mernst 6212920
Merge ../checker-framework-branch-master into cfg-extend-once
mernst 2e758fb
Merge ../checker-framework-branch-master into cfg-extend-once-tests
mernst c2a78c3
Merge ../checker-framework-branch-master into cfg-extend-once
mernst 90d8e0c
Merge ../checker-framework-branch-master into cfg-extend-once-tests
mernst 423afd8
Merge ../checker-framework-branch-master into cfg-extend-once-tests
mernst 419d8db
Merge ../checker-framework-fork-mernst-branch-cfg-extend-once-tests i…
mernst 5967db9
Merge ../checker-framework-branch-master into cfg-extend-once-tests
mernst 5226249
Merge ../checker-framework-fork-mernst-branch-cfg-extend-once-tests i…
mernst File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧹 Nitpick (assertive)
Shift NPE accounting to length access: OK; add rationale comment and confirm no AIOOBE risk.
Attaching NPE to
array.lengthis sound here since you bounds-check before element access and the synthetic array temp isn’t reassigned. Consider a short comment to document this invariant.Proposed comment:
FieldAccessNode lengthAccessNode = new FieldAccessNode(lengthSelect, arrayNode1); lengthAccessNode.setInSource(false); - extendWithNodeWithException(lengthAccessNode, nullPointerExceptionType); + // Attach NPE to length access; element access is safe due to prior bounds check and the + // synthetic array temp not being reassigned. + extendWithNodeWithException(lengthAccessNode, nullPointerExceptionType);📝 Committable suggestion
🤖 Prompt for AI Agents