|
1986c8b4a8
|
Add support for strict arrays, fix type alias intersection, fix array_is_list assertion on non-lists (#8395)
* Immutable CodeLocation
* Remove excess clones
* Remove external clones
* Remove leftover clones
* Fix final clone issue
* Immutable storages
* Refactoring
* Fixes
* Fixes
* Fix
* Fix
* Fixes
* Simplify
* Fixes
* Fix
* Fixes
* Update
* Fix
* Cache global types
* Fix
* Update
* Update
* Fixes
* Fixes
* Refactor
* Fixes
* Fix
* Fix
* More caching
* Fix
* Fix
* Update
* Update
* Fix
* Fixes
* Update
* Refactor
* Update
* Fixes
* Break one more test
* Fix
* FIx
* Fix
* Fix
* Fix
* Fix
* Improve performance and readability
* Equivalent logic
* Fixes
* Revert
* Revert "Revert"
This reverts commit f9175100c8452c80559234200663fd4c4f4dd889.
* Fix
* Fix reference bug
* Make default TypeVisitor immutable
* Bugfix
* Remove clones
* Partial refactoring
* Refactoring
* Fixes
* Fix
* Fixes
* Fixes
* cs-fix
* Fix final bugs
* Add test
* Misc fixes
* Update
* Fixes
* Experiment with removing different property
* revert "Experiment with removing different property"
This reverts commit ac1156e077fc4ea633530d51096d27b6e88bfdf9.
* Uniform naming
* Uniform naming
* Hack hotfix
* Clean up $_FILES ref #8621
* Undo hack, try fixing properly
* Helper method
* Remove redundant call
* Partially fix bugs
* Cleanup
* Change defaults
* Fix bug
* Fix (?, hope this doesn't break anything else)
* cs-fix
* Review fixes
* Bugfix
* Bugfix
* Improve logic
* Add support for list{} and callable-list{} types, properly implement array_is_list assertions (fixes #8389)
* Default to sealed arrays
* Fix array_merge bug
* Fixes
* Fix
* Sealed type checks
* Properly infer properties-of and get_object_vars on final classes
* Fix array_map zipping
* Fix tests
* Fixes
* Fixes
* Fix more stuff
* Recursively resolve type aliases
* Fix typo
* Fixes
* Fix array_is_list assertion on keyed array
* Add BC docs
* Fixes
* fix
* Update
* Update
* Update
* Update
* Seal arrays with count assertions
* Fix #8528
* Fix
* Update
* Improve sealed array foreach logic
* get_object_vars on template properties
* Fix sealed array assertion reconciler logic
* Improved reconciler
* Add tests
* Single source of truth for test types
* Fix tests
* Fixup tests
* Fixup tests
* Fixup tests
* Update
* Fix tests
* Fix tests
* Final fixes
* Fixes
* Use list syntax only when needed
* Fix tests
* Cs-fix
* Update docs
* Update docs
* Update docs
* Update docs
* Update docs
* Document missing types
* Update docs
* Improve class-string-map docs
* Update
* Update
* I love working on psalm :)
* Keep arrays unsealed by default
* Fixup tests
* Fix syntax mistake
* cs-fix
* Fix typo
* Re-import missing types
* Keep strict types only in return types
* argc/argv fixes
* argc/argv fixes
* Fix test
* Comment-out valinor code, pinging @romm pls merge https://github.com/CuyZ/Valinor/pull/246 so we can add valinor to the psalm docs :)
|
2022-11-05 22:34:42 +01:00 |
|
Matthew Brown
|
b49682a485
|
Simplify issue suppression in tests
|
2022-01-13 14:38:17 -05:00 |
|
Matthew Brown
|
f439d6550b
|
Ensure that all entries in test arrays have explicit keys (#7386)
* Transformation that updates assertions
* Simplify transformation
* Ensure that all tests have keys
* Fix a few remaining keys
|
2022-01-13 13:49:37 -05:00 |
|
orklah
|
6c6eac9f2f
|
fix test
|
2021-12-30 22:39:30 +01:00 |
|
orklah
|
392402cf6d
|
allow calling mutation_free function inside a mutation_free context
|
2021-12-30 22:29:36 +01:00 |
|
rarila
|
97e6511fab
|
Set number of lines before and after namespace.
|
2021-12-15 04:58:32 +01:00 |
|
ralila
|
8fb2e0f885
|
Handle some partials
|
2021-12-04 21:55:53 +01:00 |
|
AndrolGenhald
|
d4590711d6
|
Fix object-like array keys when combining string and automatic keys (fixes #5427). (#5428)
* Fix object-like array keys (fixes #5427).
* Fix incorrect return types for tests.
* Fix false positive list with literal int key.
|
2021-03-19 21:44:44 -04:00 |
|
orklah
|
37a2f8a33d
|
unused use statements (#4228)
|
2020-09-22 01:10:46 -04:00 |
|
orklah
|
ead107fa9e
|
More return types (#4173)
* add native return types
* redundant phpdoc
|
2020-09-12 11:24:05 -04:00 |
|
Brown
|
8505ca2a23
|
Allow passing mutable object into immutable class to store reference
|
2020-09-03 15:28:09 -04:00 |
|
Brown
|
b2b329d1a9
|
Prevent unset on immutable properties
|
2020-08-26 12:18:34 -04:00 |
|
Brown
|
4e10a0ed6f
|
Fix #4036 - add immutable annotations automatically too
|
2020-08-24 19:29:00 -04:00 |
|
Matthew Brown
|
c8ecee109c
|
Fix immutable tests
|
2020-08-24 00:35:59 -04:00 |
|
Brown
|
b1e583ebed
|
Detect concat operation on property
Ref #3870
|
2020-07-24 16:01:45 -04:00 |
|
Brown
|
344a732829
|
Warn about simple assignments
|
2020-07-23 02:40:35 -04:00 |
|
Brown
|
3848fa6872
|
Fix #3870 - mark properties as reference-free only for externally-immutable classes
|
2020-07-23 01:48:06 -04:00 |
|
Gregor Harlan
|
5212bd1f9c
|
Readonly: allow assignments in __unserialize (#3845)
|
2020-07-20 04:50:50 -04:00 |
|
Brown
|
f67b61f6cc
|
Fix reconciliation of template param to literal string
Fixes #3510
|
2020-06-11 11:58:31 -04:00 |
|
Matthew Brown
|
2c0cf4030f
|
Detect assigning collections of mutable objects in immutable
Fixes #2946
|
2020-03-15 00:21:20 -04:00 |
|
Matthew Brown
|
0aca01faea
|
Improve fix to #2805
|
2020-03-14 01:09:12 -04:00 |
|
Brown
|
40a7a1156f
|
Fix #2930
|
2020-03-09 09:45:35 -04:00 |
|
Matthew Brown
|
a706f4d722
|
Fix #2242 - warn when using mutable dependencies
|
2020-02-22 10:04:46 -05:00 |
|
Brown
|
7d99a15072
|
Fix #2805 - forbid passing in mutable class to mutation-free context
|
2020-02-21 18:25:35 -05:00 |
|
Brown
|
996053cca6
|
Fix #2545 - fix bug when coming back after analysing method call in constructor
|
2020-01-03 11:29:45 -05:00 |
|
Matthew Brown
|
f45014d403
|
Fix #2460 - allow assertions on immutable method calls
|
2019-12-12 09:32:33 -05:00 |
|
Matthew Brown
|
a9d0296252
|
Fix #2182 - allow modification to cloned objects inside
|
2019-09-30 22:07:20 -04:00 |
|
Brown
|
5e47cda6e5
|
Fix #2170 - allow @method annotations to override inherited immutable ones
|
2019-09-25 17:39:32 -04:00 |
|
Matthew Brown
|
9c629414a7
|
Fix #2138 - complain when inheriting from immutable interfaces without annotation
|
2019-09-21 22:52:30 -04:00 |
|
Brown
|
8784812739
|
Fix #2116 - allow property set inside unserialize
|
2019-09-10 10:31:46 -04:00 |
|
Brown
|
a6baa2d04c
|
Allow callables to be understood as pure
Fixes #2112
|
2019-09-09 12:11:04 -04:00 |
|
Brown
|
a1ea5c38c2
|
Clean up unnecessary annotation
Ref #2111
|
2019-09-09 11:20:47 -04:00 |
|
Brown
|
b49444b8ad
|
Allow immutable objects to be cloned
Fixes #2111
|
2019-09-09 11:14:40 -04:00 |
|
Brown
|
56c884845f
|
Static methods inside @psalm-immutable class should be permitted
Fixes #2109
|
2019-09-09 10:38:55 -04:00 |
|
Matthew Brown
|
44838fce21
|
Fix test example
|
2019-09-01 22:13:16 -04:00 |
|
Matthew Brown
|
0279c6f6d9
|
Allow mutation-free method calls in pure functions
|
2019-08-31 22:03:37 -04:00 |
|
Matthew Brown
|
dcc4de59df
|
Change @immutable to @psalm-immutable
|
2019-08-31 18:43:45 -04:00 |
|
Brown
|
b7b4baff8f
|
Add support for @immutable
Fixes #1272
|
2019-08-30 12:36:35 -04:00 |
|