Repository navigation
Add the Modifiability Checker #8234
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
Merged
Merged
Changes from all commits
Commits
Show all changes
482 commits
Select commit
Hold shift + click to select a range
2d9d66b
Merge ../checker-framework-fork-mernst-branch-canonical-annotation-wi…
mernst 0669b86
Code review changes
mernst 9802e30
Rename `IteratorPreservesRemove` to `IteratorPolyShrink`
mernst 20f03d1
Update manual
mernst 2297182
fixed typos in javadoc
YukiYang31 6c22d05
clean up methodFromUse in ShrinkAnnotatedTypeFactory and add document…
YukiYang31 a7c8b4b
extends special treatment of iterator method to ListIterator. TODO: a…
YukiYang31 4a17235
add listiterator handler in grow and replace.
YukiYang31 ffcfd9f
reorganize methodFromUse for both grow and replace annotatedTypeFactory.
YukiYang31 d34d794
rename IteratorPolyShrink to IteratorPolyMod
YukiYang31 b21d486
Merge branch 'master' into modifiability
YukiYang31 36fc863
add more cases to SubtypeCapabilityPreservationTest
YukiYang31 7c14cd2
Better way to test
mernst e582242
Merge ../checker-framework-branch-master into canonical-annotation-wi…
mernst de20100
Add import
mernst f688f08
Remove nullness annotation
mernst ea0b8f7
Merge ../checker-framework-fork-mernst-branch-canonical-annotation-wi…
mernst 56903e8
fixed javadoc in modifiable and unmodifiable
YukiYang31 0d733ae
refine SubtypeCapabilityPreservationTest
YukiYang31 6d5d787
add test for canonical annotation
YukiYang31 0be4792
finished overriding canonical annotation
YukiYang31 4897c61
add documentation
YukiYang31 20567a7
add below java21 jdk skip test in ThrowsUOEtest.java
YukiYang31 459f9ba
Merge branch 'master' into modifiability
YukiYang31 302c068
Merge ../checker-framework-branch-master into canonical-annotation-wi…
mernst fcb8582
Undo changes in `ContractsFromMethod`
mernst 26d259d
Merge ../checker-framework-fork-mernst-branch-canonical-annotation-wi…
mernst e4d05f1
Merge ../checker-framework-branch-master into modifiability
mernst e566240
Merge branch 'master' into modifiability
YukiYang31 f410159
add test for @IteratorPolyMod on method parameters
YukiYang31 eeb0389
spotlessApply
YukiYang31 addbe3e
Merge ../checker-framework-branch-master into modifiability
mernst f67a3dd
Merge branch 'master' into modifiability
YukiYang31 b2efced
add iteratorPolyMod annotations to stub files.
YukiYang31 2dd5a64
add iteratorPolyMod to collectionsPlume.withoutDuplicates.
YukiYang31 4b98152
rename unknownMod to be MaybeMod
YukiYang31 0589bff
add unmodParam annotation
YukiYang31 f9f9a8e
setRefinementTest is fixed in jdk.
YukiYang31 d59f5aa
fix setRefinementTest.
YukiYang31 f30d590
forbid unmodparam on non-parameters.
YukiYang31 4bacd4b
add suppress interning:not.intered
YukiYang31 5594b50
throw warning when user created their own collection class.
YukiYang31 8327947
Merge branch 'master' into modifiability
YukiYang31 7c621b1
Merge branch 'typetools:master' into modifiability
YukiYang31 12d6bfc
Add test for `Map.getOrDefault()`
mernst e3aff7c
Rename modifiability qualifiers
mernst f7a19dd
Rename file
mernst 4afa7a6
Expand `@UnmodParam` => `@UnmodifiableParam`
mernst 1bf7950
fixed getOrDefaultTest.java and add error comments.
YukiYang31 6be0ca4
Explain purpose of command-line argument
mernst eea150b
Merge ../checker-framework-fork-yukiyang31-branch-modifiability into …
mernst f5822c8
Merge ../checker-framework-branch-master into modifiability-typequal-…
mernst bdfcc1e
Merge branch 'master' into modifiability
YukiYang31 8fcd0c3
Merge pull request #4 from mernst/modifiability-typequal-no-abbrev
YukiYang31 a69b9ac
Tweak
mernst 6795abc
Merge branch 'master' into modifiability
YukiYang31 80afc27
Merge ../checker-framework-branch-master into modifiability
mernst 41950a8
Merge branch 'master' into modifiability
YukiYang31 7bde249
Merge branch 'modifiability' of github.com:YukiYang31/checker-framewo…
mernst 9ed50c6
Fix `@RelevantJavaTypes`
mernst d57455e
Use ASCII
mernst 9292fc2
Code review changes
mernst 7efc60c
Merge branch 'modifiability' of github.com:YukiYang31/checker-framewo…
mernst a1c9cc4
Merge branch 'master' into modifiability
YukiYang31 ae36309
documented refineListIteratorReturnType
YukiYang31 e8419f2
documented isListIteratorMethod and isIteratorMethod.
YukiYang31 55d8d48
rename iteratorPolyShrinkable back to IteratorPolyMod
YukiYang31 c7f2cfb
documented IteratorPolyMod
YukiYang31 93da15d
documented ModifiabilityBaseChecker.
YukiYang31 4cd731a
clean up refineListIteratorReturnType, delete hasIteratorPolyMod method
YukiYang31 225ce54
document refineListIteratorReturnType
YukiYang31 2abdd3a
fixed isCollectionFromSourceCode documentation
YukiYang31 eb1be9f
fixed canonicalAnnotation, all modifiabilityTest passed.
YukiYang31 a738f26
created PreservesModifiability annotated and annotated plume-util.wit…
YukiYang31 87354ec
refactored common methods into ModifiabilityAnnotatedTypeFactory.
YukiYang31 2eca59c
bring iterator_preserve_remove to modifiabilityAnnotatedTypeFactory
YukiYang31 6556506
removed isIteratorMethod and isListIteratorMethod. simplified.
YukiYang31 e15d571
clean up typeCannotGrow and typeCannotShrink
YukiYang31 77f7b49
fully remove isMayEntry
YukiYang31 d03275a
add return comments in ModifiabilityAnnotatedTypeFactory
YukiYang31 7130458
implement override rules that any override method should preserve the…
YukiYang31 b51f254
fixed nullness checker error in CI.
YukiYang31 49303b9
fixed nullable warning.
YukiYang31 1711717
add Seqgrow for sequenced collection, does not include sequenced map …
YukiYang31 48a4449
Merge branch 'master' into modifiability
YukiYang31 2b2d744
ask SeqGrowVisitor to skip checkUnmodParamLocation and CheckCustomMod…
YukiYang31 741d957
fixed seqGrowAnnotatedTypeFactory to handle jdk under21 where sequenc…
YukiYang31 c31c83f
document SeqGrowAnnotatedTypeFactory.
YukiYang31 e9348b1
Typo fix
mernst db1f396
fixed seqGrow logic to add Deque.
YukiYang31 887ecbf
add sequencedMap to @SeqGrowable annotation.
YukiYang31 397dfc3
optimize the implementation of deteching unmodparam.location error.
YukiYang31 84758d7
merge master
YukiYang31 927fcf9
fixed unmodParamLocationTest.
YukiYang31 cde29f8
restrict the modifiability.annotation.unverified warning to class/con…
YukiYang31 713b171
remvoed throwsUOE.
YukiYang31 e2e35de
changed the location of messages.properties
YukiYang31 e84da5b
edit the test files to include @iteratorPolyMod.
YukiYang31 adcb842
combined shouldCheckUnmodifiableParamLocation and shouldCheckCustomMo…
YukiYang31 d53e839
First pass.
smillst 3e6a875
A comment.
smillst 3a7827f
Merge pull request #5 from smillst/modifiability-smillst-manual-edits
YukiYang31 fec4068
Merge branch 'master' into modifiability
YukiYang31 25fae0c
refine aliasing in the manual.
YukiYang31 67a4943
clean up typos and comments
YukiYang31 340172f
fixed more typo
YukiYang31 8f37570
edit @PreservesModifiabilityReturn type to detect void method.
YukiYang31 e33375b
fixed more documentation.
YukiYang31 ddda816
expand HierarchyTest and PolyModifiableTest to include SeqGrow.
YukiYang31 e72cfaa
update astub file.
YukiYang31 ab29312
listed methods in each modifiability family.
YukiYang31 65da92e
Mike's edits
mernst 78e563c
Merge branch 'modifiability' of github.com:YukiYang31/checker-framewo…
mernst fde5e54
Merge ../checker-framework-branch-master into modifiability
mernst 4b3a600
removed maybe qualifiers from AnnotatedTypeFactory becasue it is not …
YukiYang31 c1b38fd
simplified shouldCheckModifiabilityAnnotationValidity
YukiYang31 7f951cf
make last commit complete.
YukiYang31 0df3fc8
revert last two commit beasue the simplification doesn't work.
YukiYang31 df4ab03
Edits to manual
mernst f96609a
Merge branch 'modifiability' of github.com:YukiYang31/checker-framewo…
mernst ff2899a
implement iteratorChecker.
YukiYang31 cf8c834
revert changes in refinePreservesModifiabilityReturnType.
YukiYang31 6a66e86
implement PolyIteratorPolyMod.
YukiYang31 d51a2f4
start annotating @PolyIteratorPolyMod
YukiYang31 22dec0a
fixed a nullability bug
YukiYang31 1398ca0
Tweaks to PreservesModifiability.
smillst 90f83e8
test out annotation on getOrDefault.
YukiYang31 406a10b
test annotation on getOrDefault.
YukiYang31 006eb3c
test out super.invocation error vs annotation.unverified.
YukiYang31 0c82f19
clarifies the manual
YukiYang31 977df2f
Suzanne's code review.
smillst 546dc22
Merge pull request #6 from smillst/modifiablity-manual-PreservesModif…
YukiYang31 63d977d
add annotation.unverified to the manual.
YukiYang31 7e508c3
fixed unmodArrayListTest
YukiYang31 3daca67
Merge branch 'modifiability' of github.com:smillst/checker-framework …
smillst 7860edb
Make the IteratorChecker a subchecker.
smillst a8d3ef1
Merge pull request #7 from smillst/modifiability
YukiYang31 73c6541
fixed CustomModifiabilityAnnotationWarning test.
YukiYang31 35b5c8f
test out defaultQualifierForUse
YukiYang31 c4e5f76
answer a todo about overriding rule.
YukiYang31 b7db6b6
Modifiability annotations
mernst 7030323
tweaks.
smillst 52a6b47
Merge pull request #8 from smillst/modifiability
YukiYang31 ec3a0ae
test out annotation.unverified with class inside a class
YukiYang31 289e6cf
Merge branch 'master' into modifiability
YukiYang31 0ee871e
Merge ../checker-framework-branch-master into modifiability
mernst 919849a
Issue either modifiability.annotation.unverified or super.invocation …
smillst fa8d54b
Merge remote-tracking branch 'yukiyang31/modifiability' into modifiab…
smillst 2c54a6f
Triggering CI build
smillst 92fba3c
more examples for `-AresourceLeakIgnoredExceptions`
mernst 1b46a32
Flip if statement.
smillst 7ff4f65
Use modifiability-annotated plume-util
mernst ab972df
Use modifiability-annotated plume-util
mernst ad93809
Merge ../checker-framework-fork-mernst-branch-plume-util-snapshot int…
mernst 056e7b3
Merge ../checker-framework-fork-yukiyang31-branch-modifiability into …
mernst 1f96196
New way to verify collection implementations
mernst ef7d8db
Use `@MonotonicNonNull` annotation
mernst 9b4c69f
Merge ../checker-framework-branch-master into modifiability
mernst 2636bfd
Merge ../checker-framework-branch-master into modifiability
mernst 27d3d50
Merge ../checker-framework-branch-master into modifiability
mernst fbdc931
Merge ../checker-framework-branch-master into modifiability
mernst f5f8bcf
Merge ../checker-framework-branch-master into modifiability
mernst 3a9f134
Merge ../checker-framework-branch-master into modifiability
mernst d745dff
Merge ../checker-framework-branch-master into modifiability
mernst 508e5d4
Merge ../checker-framework-branch-master into modifiability
mernst 11e42f3
Merge ../checker-framework-branch-master into modifiability
mernst 45efc3f
Merge ../checker-framework-branch-master into modifiability
mernst 8cbee38
Merge ../checker-framework-branch-master into modifiability
mernst d3b8aef
Merge ../checker-framework-branch-master into modifiability
mernst 4490726
Merge ../checker-framework-branch-master into modifiability
mernst 70b6294
Merge ../checker-framework-branch-master into modifiability
mernst 6395b80
Merge ../checker-framework-branch-master into modifiability
mernst 57721e4
Merge ../checker-framework-branch-master into modifiability
mernst eecbce4
Merge ../checker-framework-branch-master into modifiability
mernst 12630c5
Merge ../checker-framework-branch-master into modifiability
mernst fc8eb24
Merge ../checker-framework-branch-master into modifiability
mernst 81381e3
Merge ../checker-framework-branch-master into modifiability
mernst a1290a8
Merge ../checker-framework-branch-master into modifiability
mernst 44283bb
Merge ../checker-framework-branch-master into modifiability
mernst 14e9d96
Add newline at end of file
mernst 5f121c7
Documentation
mernst 534fb69
Code review
mernst c4291b4
Merge ../checker-framework-fork-mernst-branch-doc-for-modifiability i…
mernst 341c3b5
Merge ../checker-framework-branch-master into modifiability
mernst 77bcc37
Merge ../checker-framework-branch-master into modifiability
mernst c60e8cc
Merge ../checker-framework-branch-master into modifiability
mernst d388fc2
Merge ../checker-framework-branch-master into modifiability
mernst ca488d9
Merge ../checker-framework-branch-master into modifiability
mernst f92c2f4
Add Javadoc
mernst d3e99b8
CI diagnostics
mernst 0ca5487
`ci_info` job
mernst 1a8ea07
Set container
mernst 2cdad08
Merge ../checker-framework-branch-master into modifiability
mernst 16c1d97
Use correct container
mernst f7e343a
Fix container
mernst 40a3c6f
AFU Javadoc
mernst b6d9040
Add signature annotation
mernst 53bc3cf
Merge ../checker-framework-fork-mernst-branch-modifiability-javadoc i…
mernst 317692a
Move UnmodifiableParam code
smillst 0903fc4
Merge ../checker-framework-branch-master into modifiability
mernst 9d01877
Code review
mernst 357957a
Merge ../checker-framework-branch-master into modifiability
mernst 0c9e82d
Code review
mernst 7f89cad
Merge /home/mernst/research/types/checker-framework-branch-master int…
mernst e171765
Add signature annotations
mernst 45ba3ef
Merge branch 'master' of ../checker-framework-branch-master into modi…
mernst 0f1a37e
Code review fixes for the Modifiability Checker
mernst 52500e5
Follow-up code review fixes for the Modifiability Checker
mernst 8cb081d
Fix the two CI failures on the modifiability branch
mernst 1f98dc9
Code review
mernst 97be375
Merge branch 'master' of ../checker-framework-branch-master into modi…
mernst ddbbe08
Merge branch 'master' of ../checker-framework-branch-master into modi…
mernst 374ce62
Add type qualifiers
mernst d4caeef
Merge branch 'master' of ../checker-framework-branch-master into modi…
mernst fb304a5
Code review
mernst 9d1b40b
Merge branch 'master' of ../checker-framework-branch-master into modi…
mernst 19e85ee
Check for a bottom receiver independently of the constructors
mernst 2fcf3f7
Share the modifiability stub files rather than duplicating them
mernst 26ef9d4
Code review
mernst 4bedf8f
Address code review findings
mernst 4cdb4f1
Move the wpi2.sh changes to the wpi2 branch
mernst 9fd21a1
Merge branch 'master' of ../checker-framework-branch-master into modi…
mernst 8dfb898
Move the CHANGELOG entry to the unreleased section
mernst 620041b
Merge branch 'master' into modifiability
mernst 978f854
Code review
mernst 7ecd752
Add Javadoc
mernst 71d6ad0
Code review
mernst 66d1e8b
Fix iteration test
mernst 5703ddb
Merge branch 'master' into modifiability
mernst cb9b57d
Merge branch 'master' into modifiability
mernst 1ade24f
Merge branch 'master' into modifiability
mernst 7ce10a0
Address code review findings on the Modifiability Checker
mernst 9cdd9f8
Update linting settings
mernst 3075622
Fix Modifiability Checker type-variable weakening and polymorphic ite…
mernst 332cd41
Suppress nullness warning
mernst 4e2b35f
Merge branch 'master' into modifiability
mernst 3a61306
Merge branch 'master' into modifiability
mernst e68d996
Add test that reproduces a StackOverflowError for a poly-expression a…
mernst 43296b2
Fix StackOverflowError for a poly-expression argument to a @Preserves…
smillst 6d04c20
Merge branch 'master' of https://github.com/typetools/checker-framewo…
YukiYang31 04e6d99
Use \hyperref instead of removed \ahrefloc macro
YukiYang31 287e2fb
fix the comments
YukiYang31 191b9cb
use processMethodTree to handle constructor and inline atypeFactory.…
YukiYang31 fd85daa
use ErasedSubtype and clean up
YukiYang31 936569b
fix stale comment in IdentityHashMapModifiableTest
YukiYang31 24d1e8d
change vivifyingLHMap to return a modifiable map
YukiYang31 577cf93
fix CI
YukiYang31 b4d961a
fix annotation in wrapperMap.java
YukiYang31 bfbd6fd
Merge branch 'master' into modifiability
YukiYang31 6fe052f
make vivifyingMap modifiable
YukiYang31 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
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
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
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
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
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
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
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
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
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
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.
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.
Uh oh!
There was an error while loading. Please reload this page.