Brown
23f8967fb5
Fix conditional class-string template replacement
2020-02-06 19:40:18 -05:00
Brown
2a0dd48dcd
Fix bad type
2020-02-06 17:31:17 -05:00
Brown
d5f71bf529
Localise template checks to class being tested
2020-02-06 16:38:45 -05:00
Brown
54efbbe831
Fix bad assertion
2020-02-06 16:32:26 -05:00
Brown
9af12932b5
Add slash
2020-02-06 15:09:34 -05:00
Brown
6116b457ed
Port over more fixes from template match refactor
2020-02-06 15:07:57 -05:00
Brown
0fd0d01d2b
Improve class-string templating
2020-02-06 14:35:36 -05:00
Brown
638e90356a
Add slash
2020-02-06 11:58:39 -05:00
Brown
a16e03d992
Fix #2756 - narrow assertion templated type
2020-02-06 11:49:15 -05:00
Brown
ffd04132ce
Fix #2754 - use ext-ds stubs from PHPStan
2020-02-06 10:38:10 -05:00
Benjamin Morel
b486bd4c78
PDOStatement::fetchColumn() can return any scalar
2020-02-05 11:46:01 -05:00
Brown
50fc50fab0
Fix #2751 - allow static methods to inherit class templates
2020-02-05 11:19:40 -05:00
Matthew Brown
bbdb1254ad
Add line break
2020-02-05 08:51:11 -05:00
Lars Moelleken
759cfe4555
add more impure function calls
2020-02-05 08:51:11 -05:00
Brown
8fb810350a
Don’t cache no-effects hashes when checking for initialisations
2020-02-04 17:53:26 -05:00
Brown
4c83ca75b3
Fix #2738 - clear out property issues when modifying constructors
2020-02-03 16:43:25 -05:00
Matthew Brown
b3f6b56f9c
Add support for @psalm-readonly-allow-private-mutation
2020-02-02 15:56:08 -05:00
Matthew Brown
93fc1b1cc7
Fix #2729 - allow mutation of otherwise-readonly properties
2020-02-02 15:35:12 -05:00
Matthew Brown
8d7fb2b415
Add config flag to support properties without a magic getter
2020-02-02 14:23:38 -05:00
Thomas Gerbet
6f6e26580a
Remove non-existent $serverctrls parameter for \ldap_bind()
...
In a8e58b0ba0
a `$serverctrls` parameter
was incorrectly added to the \ldap_bind() function.
See php/doc-en#20 .
2020-02-02 12:34:28 -05:00
Matthew Brown
43c7b00cd0
Fix #2734 - allow is_a to operate on templated class-strings
2020-02-02 12:26:28 -05:00
Matthew Brown
8db4bc7691
Improve formatting of intersection error messages
...
Also reduce false positives on intersections of templates
2020-02-02 12:25:24 -05:00
Matthew Brown
f981c61990
Add slashes
2020-02-02 11:04:29 -05:00
Matthew Brown
b67f661604
Fix #2735 - interpret template check in context of class-string generation
2020-02-02 10:51:18 -05:00
Matthew Brown
f0fc9cce5f
Fix missing param doc
2020-02-01 18:24:09 -05:00
Matthew Brown
d0b87b6cb0
Fix #2723 - use magic method return type where necessary
2020-02-01 18:21:32 -05:00
Matthew Brown
6dbb911da1
Fix templating class-string unions
2020-02-01 15:02:44 -05:00
Orklah
e48dc2d158
small stubs changes for reflection
2020-02-01 12:54:43 -05:00
Matthew Brown
292f6e797f
Only make directly-assertable things possibly-undefined
...
Ref #2724
2020-02-01 10:58:13 -05:00
Brown
3b6f53a356
Revert "Fix #2724 - make sure behaviour is not dependent on array type"
...
This reverts commit 1df03b0ff2
.
2020-01-31 17:25:15 -05:00
Brown
1df03b0ff2
Fix #2724 - make sure behaviour is not dependent on array type
2020-01-31 16:46:05 -05:00
Brown
97343c3eb8
Fix unnecessary param
2020-01-31 16:36:46 -05:00
Brown
adbe44d7bb
Revert countable checks
2020-01-31 15:24:44 -05:00
Brown
66227f9b7f
Fix #2727 - callable arg checks should obey ignore_falsable_return
2020-01-31 13:58:56 -05:00
Brown
34408a892c
Support has-at-least type in negation
2020-01-31 13:13:50 -05:00
Brown
37765098e9
Fix #2725 - allow empty checks on objects that implement countable
2020-01-31 12:55:33 -05:00
Brown
8f95c5679e
Fix #2720 - allow throwing self
2020-01-30 18:00:31 -05:00
Brown
b46f219c51
Do better inference for array_map return type
2020-01-30 17:43:13 -05:00
Brown
9405314222
Always Be Cloning
2020-01-30 17:22:40 -05:00
Brown
216d9256a1
Allow templated array_map callable inference
...
Fixes #2719
2020-01-30 17:13:46 -05:00
Philip Hofstetter
f6983fd883
allow setting php version from config or composer.json
...
if a composer.json is present and a PHP version requirement is
configured, we set the php version to the minimal PHP version that
satisfies the composer requirement.
Additionally, this adds a `phpVersion` attribute to the <psalm> tag. If
that's set, it takes precedence over what has been detected in
composer.json.
And finally, the --php-version command line flag continues to work and
takes precedence over the setting in the <psalm> tag
this fixes #2628
2020-01-30 08:48:53 -05:00
Matthew Brown
6c7d1b4e64
Ignore nullable return DomNodeList/DomNameNodeMap::item
2020-01-29 23:53:47 -05:00
Matthew Brown
5eb2ebc508
Add more type-system protections for bad array args
2020-01-29 23:41:17 -05:00
Matthew Brown
2829530ea6
Fix #2713 - allow interface with __invoke to be called
2020-01-29 22:33:28 -05:00
Matthew Brown
989123f82e
Fix line length
2020-01-29 22:31:23 -05:00
Matthew Brown
933dff9e20
Fix #2712 - allow __toString to have more specific type
2020-01-29 22:28:40 -05:00
Matthew Brown
4b7780905e
Improve reconciliation logic once more
2020-01-29 22:00:20 -05:00
Matthew Brown
06ffa24c26
Fix assertions to be better
2020-01-29 21:46:44 -05:00
Matthew Brown
2aebc522f1
Fix #2705 - mark by-ref args as used if not variables already
2020-01-29 21:46:30 -05:00
Matthew Brown
e92656c4cb
Fix #2707 - reconcile object equality properly
2020-01-29 21:25:44 -05:00