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
Add support for strict arrays, fix type alias intersection, fix array_is_list assertion on non-lists #8395
Merged
Merged
Add support for strict arrays, fix type alias intersection, fix array_is_list assertion on non-lists #8395
Changes from 153 commits
Commits
Show all changes
159 commits
Select commit
Hold shift + click to select a range
28d4b03
Immutable CodeLocation
danog 48d4e65
Remove excess clones
danog 32d58cd
Remove external clones
danog 7263cbd
Remove leftover clones
danog 15f7dbd
Fix final clone issue
danog e75f390
Immutable storages
danog 477a0c4
Refactoring
danog 9015dbe
Fixes
danog 9e10e00
Fixes
danog ef8b613
Fix
danog c2ab160
Fix
danog 955b69f
Fixes
danog 75a8ef7
Simplify
danog a53f6cc
Fixes
danog 64d3b9b
Fix
danog 5bffe8c
Fixes
danog 7b4c9ee
Update
danog c169f94
Fix
danog 5eba409
Cache global types
danog 94d214b
Fix
danog 00ea583
Update
danog fc0fe2e
Update
danog f7341d6
Fixes
danog d131ada
Fixes
danog 1284ef9
Refactor
danog 4fc8318
Fixes
danog 9aec377
Fix
danog aeb9d38
Fix
danog 0c8d83f
More caching
danog d398883
Fix
danog a2bcba3
Fix
danog ee70da6
Update
danog f8d86c2
Update
danog 5c91b47
Fix
danog 68d76d5
Fixes
danog b45bcd9
Update
danog 1d5b4e3
Refactor
danog ca86d28
Update
danog d4f2e9b
Fixes
danog c4450be
Break one more test
danog 10ab6c8
Fix
danog 94b3af4
FIx
danog 4bc47af
Fix
danog 47ad0ff
Fix
danog c022617
Fix
danog 00c8d5e
Fix
danog db401b4
Improve performance and readability
danog 9f1f205
Equivalent logic
danog 7650781
Fixes
danog f917510
Revert
danog 0a2596c
Revert "Revert"
danog 84a1bab
Fix
danog 3d4b64e
Fix reference bug
danog 6dc4dcc
Make default TypeVisitor immutable
danog 5ad7ce5
Bugfix
danog 1e5c3e6
Remove clones
danog b9dc64e
Partial refactoring
danog 9eb031e
Refactoring
danog 5305934
Merge branch 'uwu' into immutable_readonly_4
danog 7090d03
Fixes
danog 2a1bc83
Fix
danog 81c345f
Fixes
danog 76eb09c
Fixes
danog d66593a
cs-fix
danog ea8634f
Fix final bugs
danog 01eb5ed
Add test
danog 4ffc25c
Misc fixes
danog 3ad0f95
Update
danog bbd5db8
Fixes
danog ac1156e
Experiment with removing different property
danog 3a6b975
revert "Experiment with removing different property"
danog ec0c6a3
Uniform naming
danog d6ccae2
Uniform naming
danog a4c2565
Hack hotfix
danog 64e683f
Clean up $_FILES ref #8621
danog 1f90e18
Undo hack, try fixing properly
danog ecf6fff
Helper method
danog b12f013
Merge remote-tracking branch 'origin/master' into immutable_readonly_4
danog afa748f
Remove redundant call
danog d89d26e
Partially fix bugs
danog 4f5f1f9
Cleanup
danog 05ad20c
Change defaults
danog b22f754
Fix bug
danog e782141
Fix (?, hope this doesn't break anything else)
danog 5aa9967
cs-fix
danog fc2acce
Review fixes
danog c72980d
Bugfix
danog b0bc942
Bugfix
danog 50924b2
Improve logic
danog 55176a9
Add support for list{} and callable-list{} types, properly implement …
danog fb8d612
Default to sealed arrays
danog bc46d93
Fix array_merge bug
danog ac8ec2d
Fixes
danog 2495c71
Fix
danog 2fbad9a
Sealed type checks
danog 03b00d6
Properly infer properties-of and get_object_vars on final classes
danog 405bf1f
Fix array_map zipping
danog cf4cdec
Fix tests
danog fa065c5
Fixes
danog 136baa4
Fixes
danog 0610b74
Fix more stuff
danog 4fb2a07
Recursively resolve type aliases
danog 0543145
Fix typo
danog 4463168
Fixes
danog 9345f46
Fix array_is_list assertion on keyed array
danog cf2f9ce
Add BC docs
danog 92a1162
Fixes
danog efdd5e6
fix
danog bf3c493
Update
danog 68db669
Update
danog 3da9148
Update
danog 4096d4f
Update
danog b26e46c
Seal arrays with count assertions
danog 8dc031d
Fix #8528
danog 6928a17
Fix
danog 8694475
Update
danog cc7e656
Merge remote-tracking branch 'nicelocal/immutable_readonly_4' into li…
danog 94a29e6
Improve sealed array foreach logic
danog 71f39e1
get_object_vars on template properties
danog d427f19
Fix sealed array assertion reconciler logic
danog cf4fecc
Improved reconciler
danog 08e7f40
Add tests
danog 767ef6b
Single source of truth for test types
danog 6cf4325
Fix tests
danog b8eeedf
Fixup tests
danog 6b9ce13
Fixup tests
danog 108e12a
Fixup tests
danog 8a908ee
Update
danog a69d81d
Fix tests
danog 2cf8e09
Fix tests
danog e42e1ac
Final fixes
danog 14cb4d9
Fixes
danog b740fb6
Use list syntax only when needed
danog 09d7674
Fix tests
danog e2b3f8e
Cs-fix
danog 01c77ee
Update docs
danog 369eacb
Update docs
danog dcdce4c
Update docs
danog 2fce076
Update docs
danog 434889c
Update docs
danog c5f09f7
Document missing types
danog 04d61cc
Update docs
danog 9e9d033
Improve class-string-map docs
danog ebc3e48
Update
danog 8fa28a5
Update
danog 131b1cb
I love working on psalm :)
danog 3aafa57
Merge remote-tracking branch 'origin/master' into list_types
danog 45075e8
Keep arrays unsealed by default
danog a168021
Fixup tests
danog ca0379d
Fix syntax mistake
danog 4c83c93
cs-fix
danog 12188ca
Fix typo
danog 059f6bf
Re-import missing types
danog d2c3c28
Keep strict types only in return types
danog 257eb93
argc/argv fixes
danog b440bf0
argc/argv fixes
danog b5996a5
Fix test
danog 50023a2
Comment-out valinor code, pinging @romm pls merge https://github.com/…
danog 3179ccc
Merge remote-tracking branch 'origin/master' into list_types
danog File filter
Filter by extension
Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
There are no files selected for viewing
This file contains 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 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.
<3
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.
<3 :)