Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
158 commits
Select commit Hold shift + click to select a range
d898f4a
annotated List.java
YukiYang31 Nov 25, 2025
10fef49
annotated map.java, along with initialization of HashMap, ArrayList, …
YukiYang31 Dec 1, 2025
aa363e9
annotated collection.java
YukiYang31 Dec 1, 2025
1a38624
annotated set.java for modifiability
YukiYang31 Dec 4, 2025
575780f
finished annotations in Collections.java on modifiability
YukiYang31 Dec 7, 2025
eebd7d5
Merge branch 'typetools:master' into modifiability
YukiYang31 Dec 7, 2025
c0c3c76
annotated itentityHashMap and LinkedHashSet as modifiable.
YukiYang31 Jan 4, 2026
9a4abe5
Merge remote-tracking branch 'origin/master' into modifiability
YukiYang31 Jan 12, 2026
fa7c2f3
annotated modifiable classes
YukiYang31 Jan 19, 2026
90ad64a
annotated @WillThrowUOE
YukiYang31 Jan 22, 2026
d2cd4e9
finished annotation on sequenced collections
YukiYang31 Jan 22, 2026
39c448a
finished navigablemap and navigableset
YukiYang31 Jan 22, 2026
c6c5e47
finished annotation on ConcurrentMap and ConcurrentNavigableMap
YukiYang31 Jan 22, 2026
93a16b4
added unmod annotations for sequenced collections
YukiYang31 Jan 22, 2026
1df9393
fixed some annotations
YukiYang31 Jan 22, 2026
266330c
annotated the abstract interfaces.
YukiYang31 Jan 26, 2026
bee6284
fixed unknownmodifiability
YukiYang31 Jan 26, 2026
0ed3390
finished basic annotations on queue
YukiYang31 Jan 26, 2026
03685d3
finished annotating queue
YukiYang31 Jan 26, 2026
eb00a46
annotated IdentityHashMap, WeakHashMap, and ConcurrentHashMap
YukiYang31 Jan 30, 2026
720e98f
finished annotating concurrentSkipListMap and concurrentSkipListSet
YukiYang31 Feb 2, 2026
d06826e
finished annotating iterators.
YukiYang31 Feb 5, 2026
861e8ce
Merge remote-tracking branch 'origin/master' into modifiability
YukiYang31 Feb 5, 2026
65dc3cb
changed hashSet and TreeSet to growShrink to pass all-system test
YukiYang31 Feb 10, 2026
4bd5c4f
fixed annotation in AbstractCollection due to merge conflict.
YukiYang31 Feb 10, 2026
ff6662b
minor changes so that the new type system can pass all-system test
YukiYang31 Feb 12, 2026
20a219e
finished revising list annotations
YukiYang31 Feb 12, 2026
e784703
changed the annotation on set
YukiYang31 Feb 12, 2026
64bf312
finished annotating queue
YukiYang31 Feb 12, 2026
d53041a
fixed annotations in Collections
YukiYang31 Feb 12, 2026
b407a53
finished fixing annotation for map besides keySet, entrySet, and values
YukiYang31 Feb 13, 2026
73e35cb
changed all @WillThrowUOE to @ThrowsUOE to match the checker
YukiYang31 Feb 17, 2026
60053fa
annotated Deque and ProcessBuilder for case study
YukiYang31 Feb 19, 2026
f2c44f7
Merge branch 'master' into modifiability
YukiYang31 Feb 19, 2026
08b94e1
edited the annotation to fit the 3 2-level hierarchy.
YukiYang31 Feb 20, 2026
b374a18
finished annotating polyShrink
YukiYang31 Feb 23, 2026
d0b16ee
fixed typo in annotation
YukiYang31 Feb 23, 2026
d4fccb2
added the annotation for list iterator.
YukiYang31 Feb 25, 2026
a1507ee
change deque, queue, hashset, and treeset back to mod
YukiYang31 Feb 26, 2026
e804103
temp commit, trying to figuer out why gradlew assemble for checker fr…
YukiYang31 Mar 14, 2026
c185f4d
Merge branch 'master' into modifiability
YukiYang31 Mar 16, 2026
94b7f64
partially done with remove class annotation and annotate the entire c…
YukiYang31 Mar 19, 2026
47a21d2
removed annotation on class and fully annotated the map files.
YukiYang31 Mar 20, 2026
01ff086
finished annotating queue
YukiYang31 Mar 23, 2026
0f42bb1
annotated last two files.
YukiYang31 Mar 23, 2026
12e5ec9
Merge branch 'master' into modifiability
YukiYang31 Apr 6, 2026
d571243
for modifiable collection, annotated clone to return modifiable objec…
YukiYang31 Apr 8, 2026
346776f
missed the import for polymod
YukiYang31 Apr 8, 2026
55bcb25
Add `@DoesNotUnrefineReceiver` annotations (still need to add imports)
mernst Apr 11, 2026
ec30b3e
Update qualifiers
mernst Apr 11, 2026
6905f4e
Restore `@SideEffectsOnly`
mernst Apr 11, 2026
e07fa41
Add imports
mernst Apr 12, 2026
e6d91b7
Add imports
mernst Apr 12, 2026
c0b805c
Add imports
mernst Apr 12, 2026
5bb1743
Fixes
mernst Apr 12, 2026
cd6c88d
Undo change to Java type
mernst Apr 12, 2026
168d92f
Fix YAML formatting
mernst Apr 12, 2026
8fd7a26
Add canary job
mernst Apr 12, 2026
6ee41a6
Add missing dependency
mernst Apr 12, 2026
7bb9e32
Merge ../jdk-fork-mernst-branch-ci-depends-on into modifiability-plus…
mernst Apr 12, 2026
441b6c7
Add import
mernst Apr 12, 2026
e656785
annotated stack.java which extends vector
YukiYang31 Apr 13, 2026
d559eb5
Fix line continuation character
mernst Apr 14, 2026
59a1b33
Merge ../jdk-branch-master into modifiability-plus-does-not-unrefine-…
mernst Apr 14, 2026
1179082
annotated keyset, values, and entryset to return @Ungrowable set.
YukiYang31 Apr 18, 2026
5e5ca8b
Merge ../jdk-fork-typetools into modifiability
mernst Apr 19, 2026
2048ea5
Merge ../jdk-fork-yukiyang31-branch-modifiability into modifiability-…
mernst Apr 19, 2026
0ff7be2
Merge pull request #1 from mernst/modifiability-plus-does-not-unrefin…
YukiYang31 Apr 20, 2026
10a022c
add ci.yml in .github
YukiYang31 Apr 22, 2026
f533200
update ci.yml: make run steps execute in bash without -e
YukiYang31 Apr 22, 2026
56399df
synced checker-qual.jar
YukiYang31 Apr 22, 2026
7bf97d8
spot that list.java's iterator is not annotated as unknown.
YukiYang31 Apr 23, 2026
b176554
annotate iteratorPreserveRemove for the test. TODO: need to annotate …
YukiYang31 Apr 23, 2026
d65f3f3
annotate modifiable collections as @IteratorPreserveRemove
YukiYang31 Apr 26, 2026
046a3c5
annotated @IteratorPreserveRemove on maps.
YukiYang31 Apr 27, 2026
dea0a37
changed annoations to IteratorPreservesRemove
YukiYang31 Apr 29, 2026
1eb0ec7
Merge ../jdk-fork-typetools into modifiability
mernst Apr 29, 2026
071ffcd
revise javadoc for @Modifiable and @Unmodifiable.
YukiYang31 Apr 29, 2026
0e18efe
Rename `IteratorPreservesRemove` to `IteratorPolyShrink`
mernst May 2, 2026
53ba3e4
fixed listIterator annotation
YukiYang31 May 3, 2026
4f7ffdd
rename IteratorPolyShrink to IteratorPolyMod
YukiYang31 May 4, 2026
475bc85
rename IteratorPolyShrink with IteratorPolyMod
YukiYang31 May 4, 2026
bdac34f
Merge branch 'master' into modifiability
YukiYang31 May 7, 2026
b11a5ee
fixed the location of @iteratorPolyMod in map.java
YukiYang31 May 7, 2026
1cdc8a5
add the missing @PolyShrink annotations in nested classes.
YukiYang31 May 7, 2026
702b67b
fully annotated properties.java and reverseOrderSortedMapView.java
YukiYang31 May 7, 2026
b19ea84
Merge branch 'master' into modifiability
YukiYang31 May 13, 2026
c81d4b8
add @IteratorPolyMod to methods whoes implementation uses iterator's …
YukiYang31 May 15, 2026
a9c6444
Remove unnecessary `echo` commands
mernst May 15, 2026
c8dab36
Merge branch 'modifiability' of github.com:yukiyang31/jdk into modifi…
mernst May 15, 2026
bf051f9
Reinstate return type
mernst May 16, 2026
6545779
merge master
YukiYang31 May 17, 2026
107996b
update checker jar
YukiYang31 May 17, 2026
8ad1831
rename unknownMod to maybeMod.
YukiYang31 May 18, 2026
75abeb4
remove annotation in iterable.
YukiYang31 May 18, 2026
dd5291a
Fix package of import
mernst May 19, 2026
ed1de7f
Merge ../jdk-branch-master into modifiability
mernst May 19, 2026
1a1e902
Formatting
mernst May 19, 2026
1438be9
Merge branch 'modifiability' of github.com:yukiyang31/jdk into modifi…
mernst May 19, 2026
9642ddb
Merge ../jdk-fork-typetools into modifiability
mernst May 21, 2026
c361f12
fixed collection.java to array
YukiYang31 May 21, 2026
c84d0df
Fix bad merge
mernst May 22, 2026
7396edf
Fix formatting
mernst May 23, 2026
dcae35f
Rename modifiability qualifiers
mernst May 24, 2026
7ff3417
Formatting fixes
mernst May 24, 2026
b62a2ab
Use `ci-org-and-branch` instead of `ci-info`
mernst May 25, 2026
147db19
Remove nearly-empty file
mernst May 25, 2026
90e97f3
Merge branch 'modifiability' of github.com:yukiyang31/jdk into modifi…
mernst May 25, 2026
73fa0a3
Merge ../jdk-branch-master into modifiability-typequal-no-abbrev
mernst May 26, 2026
d2d4468
Merge ../jdk-branch-master into modifiability
mernst May 26, 2026
4125085
Merge ../jdk-fork-yukiyang31-branch-modifiability into modifiability-…
mernst May 26, 2026
723083f
Update qualifiers
mernst May 26, 2026
2e20f49
Fix broken merge
mernst May 26, 2026
fbe2f56
Merge ../jdk-fork-yukiyang31-branch-modifiability into modifiability-…
mernst May 26, 2026
1aecf3f
Merge pull request #2 from mernst/modifiability-typequal-no-abbrev
YukiYang31 May 26, 2026
f00d52b
add iteratorPolyMod to Collections.
YukiYang31 May 26, 2026
afd9903
Merge ../jdk-fork-typetools into modifiability
mernst May 27, 2026
a741392
Better diagnostics
mernst May 27, 2026
b7de18c
Merge ../jdk-fork-typetools into modifiability
mernst May 27, 2026
6fcedc6
Fix bad merge
mernst May 27, 2026
fe7708a
Put `@GuardSatisfied` first
mernst May 27, 2026
5cea093
Add safe directory
mernst May 27, 2026
93a7c63
removed @PolyModifiable on list.iterators.
YukiYang31 May 27, 2026
a4c6fc6
fixed toArray annotation in AbstractCollection.java
YukiYang31 May 28, 2026
338c6a3
Rename qualifiers
mernst May 29, 2026
31b62bd
Push @IteratorPolyMod upward
YukiYang31 May 29, 2026
25213e0
rename iteratorPolyShrinkable back to IteratorPolyMod
YukiYang31 May 29, 2026
f210aa5
update checker qual.
YukiYang31 May 31, 2026
28addfa
annotated @SeqGrowable on addFirst and addLast.
YukiYang31 Jun 1, 2026
6c78df0
annotated addFirst addLast in TreeSet and ConcurrentSkipListSet.
YukiYang31 Jun 1, 2026
5015093
update checker qual
YukiYang31 Jun 1, 2026
4c2825b
fixed typo in treeSet annotation
YukiYang31 Jun 1, 2026
6fb270e
annotated @SeqGrow in jdk.
YukiYang31 Jun 2, 2026
6de9e0b
annotate NagivableSet as @SeqUngrowable
YukiYang31 Jun 3, 2026
403aa9c
remove throwsUOE and rebuild checker jar.
YukiYang31 Jun 3, 2026
f106bd6
pushed @IteratorPolyMod receiver all the way upward to the parent met…
YukiYang31 Jun 4, 2026
3b68907
Merge ../jdk-branch-master into modifiability
mernst Jun 5, 2026
39c4232
annotating @PolyIteratorPolyMod
YukiYang31 Jun 6, 2026
aa4a478
annotate ProcessBuilder.
YukiYang31 Jun 7, 2026
43123f7
annotate @IteratorPolyMod on arrays.asList.
YukiYang31 Jun 8, 2026
b2876cb
annotated getOrDefault.
YukiYang31 Jun 9, 2026
600a1eb
Modifiability of `newLinkedHashMap()`
mernst Jun 12, 2026
77afd0a
Remove `@PolyModifiable` from `Map#getOrDefault`
smillst Jun 12, 2026
b5187e8
Revert "Remove `@PolyModifiable` from `Map#getOrDefault`"
YukiYang31 Jun 15, 2026
f63526e
update checker jar.
YukiYang31 Jun 15, 2026
e6a2d1b
Merge ../jdk-branch-master into modifiability
mernst Jul 16, 2026
5bc8d95
Merge ../jdk-branch-master into modifiability
mernst Jul 23, 2026
8d3880f
Merge ../jdk-fork-typetools into modifiability
mernst Jul 27, 2026
9422505
Merge ../jdk-fork-typetools into modifiability
mernst Jul 28, 2026
31100f0
Merge ../jdk-branch-master into modifiability
mernst Aug 31, 2026
772da82
Merge branch 'typetools:master' into modifiability
smillst Sep 1, 2026
bf3e07f
Merge branch 'master' of ../jdk-branch-master into modifiability
mernst Sep 16, 2026
b005db6
Merge branch 'master' of ../jdk-branch-master into modifiability
mernst Sep 16, 2026
89a9748
Fix incorrect purity and qualifier annotations
mernst Sep 16, 2026
5ebb93c
Merge branch 'master' into modifiability
mernst Sep 21, 2026
a20b6fa
Fix merge problems
mernst Sep 21, 2026
e8c2526
Address code review findings
mernst Sep 21, 2026
d152248
Merge branch 'master' into modifiability
mernst Sep 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .azure/azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ jobs:
pwd
ls -al
env | sort
set
displayName: show environment
- bash: pwd && ls && bash ./configure --with-jtreg=/usr/share/jtreg --disable-warnings-as-errors
displayName: configure
Expand All @@ -41,6 +42,7 @@ jobs:
pwd
ls -al
env | sort
set
displayName: show environment
- bash: |
set -ex
Expand Down
2 changes: 2 additions & 0 deletions .azure/azure-pipelines.yml.m4
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ jobs:
pwd
ls -al
env | sort
set
displayName: show environment
- bash: pwd && ls && bash ./configure --with-jtreg=/usr/share/jtreg --disable-warnings-as-errors
displayName: configure
Expand All @@ -44,6 +45,7 @@ jobs:
pwd
ls -al
env | sort
set
displayName: show environment
- bash: |
set -ex
Expand Down
70 changes: 62 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,7 @@ jobs:
git config --get remote.origin.url || true
pwd
ls -al
echo "HOME=${HOME}"
echo "USER=${USER}"
echo "SHELL=${SHELL}"
echo "GITHUB_WORKSPACE=${GITHUB_WORKSPACE}"
set
- name: configure
run: |
pwd
Expand Down Expand Up @@ -73,10 +70,7 @@ jobs:
git config --get remote.origin.url || true
pwd
ls -al
echo "HOME=${HOME}"
echo "USER=${USER}"
echo "SHELL=${SHELL}"
echo "GITHUB_WORKSPACE=${GITHUB_WORKSPACE}"
set
- name: clone git-scripts
run: |
set -ex
Expand Down Expand Up @@ -199,6 +193,9 @@ jobs:
fetch-depth: 25
show-progress: false
persist-credentials: false
- name: git config
run: |
git config --global --add safe.directory /__w/jdk/jdk
- name: clone git-scripts
run: mkdir -p /tmp/$USER && git -C /tmp/$USER clone --depth=1 -q https://github.com/plume-lib/git-scripts.git
- name: clone checker-framework
Expand All @@ -218,6 +215,9 @@ jobs:
fetch-depth: 25
show-progress: false
persist-credentials: false
- name: git config
run: |
git config --global --add safe.directory /__w/jdk/jdk
- name: clone git-scripts
run: mkdir -p /tmp/$USER && git -C /tmp/$USER clone --depth=1 -q https://github.com/plume-lib/git-scripts.git
- name: clone checker-framework
Expand All @@ -237,6 +237,9 @@ jobs:
fetch-depth: 25
show-progress: false
persist-credentials: false
- name: git config
run: |
git config --global --add safe.directory /__w/jdk/jdk
- name: clone git-scripts
run: mkdir -p /tmp/$USER && git -C /tmp/$USER clone --depth=1 -q https://github.com/plume-lib/git-scripts.git
- name: clone checker-framework
Expand All @@ -256,6 +259,9 @@ jobs:
fetch-depth: 25
show-progress: false
persist-credentials: false
- name: git config
run: |
git config --global --add safe.directory /__w/jdk/jdk
- name: clone git-scripts
run: mkdir -p /tmp/$USER && git -C /tmp/$USER clone --depth=1 -q https://github.com/plume-lib/git-scripts.git
- name: clone checker-framework
Expand All @@ -275,6 +281,9 @@ jobs:
fetch-depth: 25
show-progress: false
persist-credentials: false
- name: git config
run: |
git config --global --add safe.directory /__w/jdk/jdk
- name: clone git-scripts
run: mkdir -p /tmp/$USER && git -C /tmp/$USER clone --depth=1 -q https://github.com/plume-lib/git-scripts.git
- name: clone checker-framework
Expand All @@ -294,6 +303,9 @@ jobs:
fetch-depth: 25
show-progress: false
persist-credentials: false
- name: git config
run: |
git config --global --add safe.directory /__w/jdk/jdk
- name: clone git-scripts
run: mkdir -p /tmp/$USER && git -C /tmp/$USER clone --depth=1 -q https://github.com/plume-lib/git-scripts.git
- name: clone checker-framework
Expand All @@ -313,6 +325,9 @@ jobs:
fetch-depth: 25
show-progress: false
persist-credentials: false
- name: git config
run: |
git config --global --add safe.directory /__w/jdk/jdk
- name: clone git-scripts
run: mkdir -p /tmp/$USER && git -C /tmp/$USER clone --depth=1 -q https://github.com/plume-lib/git-scripts.git
- name: clone checker-framework
Expand All @@ -332,6 +347,9 @@ jobs:
fetch-depth: 25
show-progress: false
persist-credentials: false
- name: git config
run: |
git config --global --add safe.directory /__w/jdk/jdk
- name: clone git-scripts
run: mkdir -p /tmp/$USER && git -C /tmp/$USER clone --depth=1 -q https://github.com/plume-lib/git-scripts.git
- name: clone checker-framework
Expand All @@ -351,6 +369,9 @@ jobs:
fetch-depth: 25
show-progress: false
persist-credentials: false
- name: git config
run: |
git config --global --add safe.directory /__w/jdk/jdk
- name: clone git-scripts
run: mkdir -p /tmp/$USER && git -C /tmp/$USER clone --depth=1 -q https://github.com/plume-lib/git-scripts.git
- name: clone checker-framework
Expand All @@ -370,6 +391,9 @@ jobs:
fetch-depth: 25
show-progress: false
persist-credentials: false
- name: git config
run: |
git config --global --add safe.directory /__w/jdk/jdk
- name: clone git-scripts
run: mkdir -p /tmp/$USER && git -C /tmp/$USER clone --depth=1 -q https://github.com/plume-lib/git-scripts.git
- name: clone checker-framework
Expand All @@ -389,6 +413,9 @@ jobs:
fetch-depth: 25
show-progress: false
persist-credentials: false
- name: git config
run: |
git config --global --add safe.directory /__w/jdk/jdk
- name: clone git-scripts
run: mkdir -p /tmp/$USER && git -C /tmp/$USER clone --depth=1 -q https://github.com/plume-lib/git-scripts.git
- name: clone checker-framework
Expand All @@ -408,6 +435,9 @@ jobs:
fetch-depth: 25
show-progress: false
persist-credentials: false
- name: git config
run: |
git config --global --add safe.directory /__w/jdk/jdk
- name: clone git-scripts
run: mkdir -p /tmp/$USER && git -C /tmp/$USER clone --depth=1 -q https://github.com/plume-lib/git-scripts.git
- name: clone checker-framework
Expand All @@ -427,6 +457,9 @@ jobs:
fetch-depth: 25
show-progress: false
persist-credentials: false
- name: git config
run: |
git config --global --add safe.directory /__w/jdk/jdk
- name: clone git-scripts
run: mkdir -p /tmp/$USER && git -C /tmp/$USER clone --depth=1 -q https://github.com/plume-lib/git-scripts.git
- name: clone checker-framework
Expand All @@ -446,6 +479,9 @@ jobs:
fetch-depth: 25
show-progress: false
persist-credentials: false
- name: git config
run: |
git config --global --add safe.directory /__w/jdk/jdk
- name: clone git-scripts
run: mkdir -p /tmp/$USER && git -C /tmp/$USER clone --depth=1 -q https://github.com/plume-lib/git-scripts.git
- name: clone checker-framework
Expand All @@ -465,6 +501,9 @@ jobs:
fetch-depth: 25
show-progress: false
persist-credentials: false
- name: git config
run: |
git config --global --add safe.directory /__w/jdk/jdk
- name: clone git-scripts
run: mkdir -p /tmp/$USER && git -C /tmp/$USER clone --depth=1 -q https://github.com/plume-lib/git-scripts.git
- name: clone checker-framework
Expand All @@ -484,6 +523,9 @@ jobs:
fetch-depth: 25
show-progress: false
persist-credentials: false
- name: git config
run: |
git config --global --add safe.directory /__w/jdk/jdk
- name: clone git-scripts
run: mkdir -p /tmp/$USER && git -C /tmp/$USER clone --depth=1 -q https://github.com/plume-lib/git-scripts.git
- name: clone checker-framework
Expand All @@ -504,6 +546,9 @@ jobs:
fetch-depth: 25
show-progress: false
persist-credentials: false
- name: git config
run: |
git config --global --add safe.directory /__w/jdk/jdk
- name: clone git-scripts
run: mkdir -p /tmp/$USER && git -C /tmp/$USER clone --depth=1 -q https://github.com/plume-lib/git-scripts.git
- name: clone checker-framework
Expand All @@ -523,6 +568,9 @@ jobs:
fetch-depth: 25
show-progress: false
persist-credentials: false
- name: git config
run: |
git config --global --add safe.directory /__w/jdk/jdk
- name: clone git-scripts
run: mkdir -p /tmp/$USER && git -C /tmp/$USER clone --depth=1 -q https://github.com/plume-lib/git-scripts.git
- name: clone checker-framework
Expand All @@ -542,6 +590,9 @@ jobs:
fetch-depth: 25
show-progress: false
persist-credentials: false
- name: git config
run: |
git config --global --add safe.directory /__w/jdk/jdk
- name: clone git-scripts
run: mkdir -p /tmp/$USER && git -C /tmp/$USER clone --depth=1 -q https://github.com/plume-lib/git-scripts.git
- name: clone checker-framework
Expand All @@ -561,6 +612,9 @@ jobs:
fetch-depth: 25
show-progress: false
persist-credentials: false
- name: git config
run: |
git config --global --add safe.directory /__w/jdk/jdk
- name: clone git-scripts
run: mkdir -p /tmp/$USER && git -C /tmp/$USER clone --depth=1 -q https://github.com/plume-lib/git-scripts.git
- name: clone checker-framework
Expand Down
10 changes: 2 additions & 8 deletions .github/workflows/ci.yml.m4
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,7 @@ jobs:
git config --get remote.origin.url || true
pwd
ls -al
echo "HOME=${HOME}"
echo "USER=${USER}"
echo "SHELL=${SHELL}"
echo "GITHUB_WORKSPACE=${GITHUB_WORKSPACE}"
set
- name: configure
run: |
pwd
Expand Down Expand Up @@ -77,10 +74,7 @@ jobs:
git config --get remote.origin.url || true
pwd
ls -al
echo "HOME=${HOME}"
echo "USER=${USER}"
echo "SHELL=${SHELL}"
echo "GITHUB_WORKSPACE=${GITHUB_WORKSPACE}"
set
- name: clone git-scripts
run: |
set -ex
Expand Down
9 changes: 9 additions & 0 deletions .github/workflows/defs.m4
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ define([cftests_job], [dnl
fetch-depth: 25
show-progress: false
persist-credentials: false
- name: git config
run: |
git config --global --add safe.directory /__w/jdk/jdk
- name: clone git-scripts
run: mkdir -p /tmp/$USER && git -C /tmp/$USER clone --depth=1 -q https://github.com/plume-lib/git-scripts.git
- name: clone checker-framework
Expand All @@ -46,6 +49,9 @@ define([daikon_job], [dnl
fetch-depth: 25
show-progress: false
persist-credentials: false
- name: git config
run: |
git config --global --add safe.directory /__w/jdk/jdk
- name: clone git-scripts
run: mkdir -p /tmp/$USER && git -C /tmp/$USER clone --depth=1 -q https://github.com/plume-lib/git-scripts.git
- name: clone checker-framework
Expand All @@ -66,6 +72,9 @@ define([plume_lib_job], [dnl
fetch-depth: 25
show-progress: false
persist-credentials: false
- name: git config
run: |
git config --global --add safe.directory /__w/jdk/jdk
- name: clone git-scripts
run: mkdir -p /tmp/$USER && git -C /tmp/$USER clone --depth=1 -q https://github.com/plume-lib/git-scripts.git
- name: clone checker-framework
Expand Down
1 change: 0 additions & 1 deletion README-merging.el

This file was deleted.

12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,19 +141,19 @@ To update that copy, run the command below from this directory:
rm -f checker-qual.jar && \
cp -p $CHECKERFRAMEWORK/checker-qual/build/libs/checker-qual-*-sources.jar checker-qual.jar && \
(cd src/java.base/share/classes && rm -rf org/checkerframework && \
touch META-INF && \
unzip ../../../../checker-qual.jar -x module-info.java -x 'META-INF*' && \
rm -f org/checkerframework/checker/signedness/SignednessUtilExtra.java && \
chmod -R u+w org/checkerframework) && \
jar tf checker-qual.jar | grep '\.java$' | grep -v 'module-info.java' | sed 's/\/[^/]*\.java/;/' | sed 's/\//./g' | sed 's/^/ exports /' | sort -u
```

The result of the command will be a list of export lines.
Replace the existing export lines present in
`src/java.base/share/classes/module-info.java` with the newly-generated list of
exports. If no new packages were added, then likely no changes are needed
in the `module-info.java` file.
In addition to updating `.java` files, the command will output a list of export
lines. Place them in `src/java.base/share/classes/module-info.java`. If no new
packages were recently added to the Checker Framework, then likely no changes
are needed in the `module-info.java` file.

Commit the changes, including the new `checker.jar` file and any new `.java`
Commit the changes, including the new `checker-qual.jar` file and any new `.java`
files in a `qual/` directory. (Both are used, by different parts of the build.)

## The typetools/jdk21u repository
Expand Down
Binary file modified checker-qual.jar
Binary file not shown.
2 changes: 2 additions & 0 deletions src/java.base/share/classes/java/io/ObjectInputStream.java
Original file line number Diff line number Diff line change
Expand Up @@ -4099,6 +4099,7 @@ void clear() {
/**
* Returns number of handles registered in table.
*/
@Pure
int size() {
return size;
}
Expand Down Expand Up @@ -4148,6 +4149,7 @@ public int get(int index) {
return list[index];
}

@Pure
public int size() {
return size;
}
Expand Down
3 changes: 3 additions & 0 deletions src/java.base/share/classes/java/io/ObjectOutputStream.java
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
import org.checkerframework.checker.mustcall.qual.MustCallAlias;
import org.checkerframework.checker.nullness.qual.Nullable;
import org.checkerframework.checker.signedness.qual.PolySigned;
import org.checkerframework.dataflow.qual.Pure;
import org.checkerframework.framework.qual.AnnotatedFor;

import java.security.AccessController;
Expand Down Expand Up @@ -2344,6 +2345,7 @@ void clear() {
/**
* Returns the number of mappings currently in table.
*/
@Pure
int size() {
return size;
}
Expand Down Expand Up @@ -2444,6 +2446,7 @@ void clear() {
/**
* Returns the number of mappings currently in table.
*/
@Pure
int size() {
return htab.size();
}
Expand Down
3 changes: 2 additions & 1 deletion src/java.base/share/classes/java/lang/Iterable.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
package java.lang;

import org.checkerframework.checker.index.qual.PolyGrowShrink;
import org.checkerframework.checker.modifiability.qual.MaybeModifiable;
import org.checkerframework.checker.nonempty.qual.PolyNonEmpty;
import org.checkerframework.common.aliasing.qual.NonLeaked;
import org.checkerframework.framework.qual.AnnotatedFor;
Expand All @@ -51,7 +52,7 @@ public interface Iterable<T> {
*
* @return an Iterator.
*/
@PolyGrowShrink @PolyNonEmpty Iterator<T> iterator(@PolyGrowShrink @PolyNonEmpty Iterable<T> this);
@MaybeModifiable @PolyGrowShrink @PolyNonEmpty Iterator<T> iterator(@MaybeModifiable @PolyGrowShrink @PolyNonEmpty Iterable<T> this);

/**
* Performs the given action for each element of the {@code Iterable}
Expand Down
Loading
Loading