1
0
mirror of https://github.com/danog/psalm.git synced 2024-11-30 04:39:00 +01:00
Go to file
Daniil Gentili d0be59e16e
Immutable unions (#8627)
* 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

* Update
2022-11-04 19:04:23 +01:00
.circleci Remove latest PHPUnit from 4.x projects 2022-04-27 11:50:11 -04:00
.github Merge branch 'merge_4.x' into immutable_readonly_3 2022-10-17 12:58:41 +02:00
assets/psalm-phar Fix other check 2020-12-29 12:57:09 +00:00
bin Skip sub directories when parsing stubs 2022-07-04 11:36:32 +02:00
build/phpunit Add circleci config file 2019-06-16 09:04:56 -04:00
dictionaries Re-apply changes manually 2022-10-17 12:46:12 +02:00
docs Update PossiblyFalseReference.md 2022-10-26 19:52:31 +02:00
examples Immutable unions (#8627) 2022-11-04 19:04:23 +01:00
src/Psalm Immutable unions (#8627) 2022-11-04 19:04:23 +01:00
stubs Add stubs for ext-random (PHP 8.2) 2022-11-02 15:59:56 +03:00
tests Immutable unions (#8627) 2022-11-04 19:04:23 +01:00
vendor-bin Abandon humbug/box update attempt 2022-03-07 16:57:18 -05:00
.appveyor.yml Fix namespaced min/max int range keyword issue introduced in #7775. 2022-04-27 01:44:57 -04:00
.editorconfig adding editorconfig that seems to match the php files (#163) 2017-06-26 00:22:05 -04:00
.gitattributes Removed .scrutinizer.yml 2022-02-12 18:53:54 +09:00
.gitignore Immutable Unions 2022-10-03 10:45:36 +02:00
box.json.dist Cli command classes (#5858) 2021-05-31 22:23:54 -04:00
CODE_OF_CONDUCT.md Add code of conduct 2017-12-31 16:53:56 -05:00
composer.json Immutable unions (#8627) 2022-11-04 19:04:23 +01:00
config.xsd Merge remote-tracking branch 'origin/4.x' into HEAD 2022-10-16 13:41:27 +02:00
CONTRIBUTING.md Add contributing section of docs 2020-11-29 23:51:09 -05:00
keys.asc.gpg Change GPG key 2021-01-11 13:36:23 -05:00
LICENSE Add license 2016-11-21 14:48:17 -05:00
phpcs.xml Add update script and update property map 2022-06-29 09:23:45 +02:00
phpunit.xml.dist wip: lots of fixes to the callmap 2022-06-14 15:16:13 +02:00
psalm Drop legacy procedural files 2022-01-03 12:04:35 +02:00
psalm-baseline.xml Immutable unions (#8627) 2022-11-04 19:04:23 +01:00
psalm-language-server Drop legacy procedural files 2022-01-03 12:04:35 +02:00
psalm-plugin Drop legacy procedural files 2022-01-03 12:04:35 +02:00
psalm-refactor Drop legacy procedural files 2022-01-03 12:04:35 +02:00
psalm.xml.dist Fix mixed type hole when sending Foo<string> to Foo<mixed> (#8481) 2022-09-13 13:13:06 -04:00
PsalmLogo.png New and improved logo 2017-01-16 17:24:26 -05:00
psalter Drop legacy procedural files 2022-01-03 12:04:35 +02:00
README.md Updated list of current maintainers 2021-12-05 04:48:06 +02:00
scoper.inc.php Abandon humbug/box update attempt 2022-03-07 16:57:18 -05:00
UPGRADING.md Immutable Unions 2022-10-03 10:45:36 +02:00

Psalm

Packagist Packagist Psalm coverage Psalm level

Psalm is a static analysis tool for finding errors in PHP applications.

Installation

To get started, check out the installation guide.

Live Demo

You can play around with Psalm on its website.

Documentation

Documentation is available on Psalms website, generated from the docs folder.

Interested in contributing?

Have a look at CONTRIBUTING.md.

Who made this

Built by Matt Brown (@muglug).

Maintained by Orklah (@orklah) and Bruce Weirdan (@weirdan).

The engineering team at Vimeo have provided a lot encouragement, especially @nbeliard, @erunion and @nickyr.