Matthew Brown
867511d7fd
Use more specific error magic properties
2020-01-05 21:07:26 -05:00
Matthew Brown
f48ecda295
Fix ref
2020-01-05 18:53:24 -05:00
Matthew Brown
2fb5a9d326
Few small improvements
2020-01-05 18:37:07 -05:00
Matthew Brown
d4ef5c2a4a
Fix read flags
2020-01-05 17:20:09 -05:00
SignpostMarv
fbf66ba7f6
Typecast bool to int ( #2550 )
...
* adding specific checks for typecasting booleans, re: vimeo/psalm#2548
* satisfying phpcs
* amend check to use psalm types rather than php-parser types
* implementing tests for typecasting bools to int
* satisfying phpcs
2020-01-04 16:36:19 -05:00
Matthew Brown
26a89562cd
Add return type
2020-01-04 16:35:06 -05:00
Matthew Brown
37810b5a44
Fix #2552 - add parse error when encountering empty array values
2020-01-04 16:33:02 -05:00
Matthew Brown
8ecb8555e2
Fix count
2020-01-04 13:12:22 -05:00
Matthew Brown
37fb15250c
Add check for only simplest conditionals
2020-01-04 13:09:55 -05:00
Matthew Brown
8cbc26c2f1
Add range checks to identify for loops that always enter
2020-01-04 13:05:23 -05:00
Matthew Brown
9fa2db1b6c
Move Union::getTypes to Union::getAtomicTypes
2020-01-04 12:20:26 -05:00
Matthew Brown
ba6d0df048
Fix #2546 properly
2020-01-04 11:16:53 -05:00
Brown
fb48db9163
Remove unused property
2020-01-03 13:10:24 -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
Brown
0e39759ed6
Improve solution to #2546 slightly
2020-01-03 10:56:47 -05:00
Brown
4263417ac3
Fix #2546 - ignore vars set inside loop
2020-01-03 10:33:32 -05:00
Matthew Brown
b6d5021251
Fix line number
2020-01-03 08:50:27 -05:00
Matthew Brown
df33405635
Seal properties and methods whenever @method/@property is used
2020-01-03 08:44:52 -05:00
Matthew Brown
bf310fb326
Seal where a mixin is given
2020-01-03 08:34:11 -05:00
Matthew Brown
d5d4a1826d
Add initial support for @mixin Foo
2020-01-02 23:50:19 -05:00
Brown
9177b410cb
Fix reconciliation of callable
2020-01-02 16:59:19 -05:00
Brown
bfbb9b2b34
Un-nest some logic
2020-01-02 16:59:19 -05:00
Matthew Brown
daf6b6391d
Punctuation
2020-01-02 16:21:15 -05:00
Brown
9d8706dbad
Check for posix existence before using threads
...
Fixes #2335
2020-01-02 15:30:02 -05:00
Brown
5f5a942a32
Improve handling of interface-implementing edge-case
2020-01-02 15:24:03 -05:00
LeSuisse
88c496121e
Add an example on how to use @psalm-immutable
annotation with an anonymous class ( #2544 )
...
Related to #2543
2020-01-02 14:09:11 -05:00
Brown
de0fad2197
Fix #2541 - check variable var assignment
2020-01-02 14:07:02 -05:00
Brown
230991e767
Remove you-are-using-it-wrong unit tests
...
cc @ocramius
2020-01-02 13:25:21 -05:00
Brown
f842b5acd7
Fix ref
2020-01-02 12:42:33 -05:00
Brown
3aa6362d0b
Fix test-with-real-projects
2020-01-02 11:09:38 -05:00
Brown
ca1e65b29b
Handle iterators better
2020-01-02 10:41:43 -05:00
Brown
314db95cee
Add support for sort param
2020-01-02 10:27:13 -05:00
Matthew Brown
71cdaf6345
Fix tests
2020-01-02 08:37:54 -05:00
Matthew Brown
e68fd02e80
Refine class string after callable array check
2020-01-02 08:31:19 -05:00
Matthew Brown
25e7039f02
The current method is used
...
Fixes #2540
2020-01-01 18:33:12 -05:00
Matthew Brown
608ca417bc
Add reference to bugfix commit
2020-01-01 18:10:26 -05:00
Matthew Brown
7b180ed091
Fix testing with real projects
2020-01-01 17:45:28 -05:00
Matthew Brown
033b610770
Fix composer checks once more
2020-01-01 17:29:30 -05:00
Matthew Brown
e70a282bce
Fix require checker config
2020-01-01 17:23:40 -05:00
Matthew Brown
872365f444
Fix #2539 - use unaliased parent class name
2020-01-01 17:23:13 -05:00
Matthew Brown
7ea6c8097d
Add config
2020-01-01 17:03:28 -05:00
Matthew Brown
8d9ad338fb
Add whitelist of pre-checked extensions
2020-01-01 16:43:36 -05:00
Matthew Brown
a69903cd92
Fix dumb
2020-01-01 15:22:37 -05:00
Matthew Brown
1ff24c03bb
Remove BC-compatibility check cc @ocramius
...
On account of it’s broken
2020-01-01 15:21:06 -05:00
Matthew Brown
690209d8e5
Add sort function stub
2020-01-01 15:07:41 -05:00
Marco Pivetta
b26c57237f
Ensure BC of API, compat with roave/you-are-using-it-wrong
, completeness of composer.json
( #2140 )
...
* Test against `roave/you-are-using-it-wrong`
* Added CI step to ensure BC of declared API
* Added step to ensure `composer.json` has all used deps
* Including CI check tools as dev dependencies
* Typo fix: s/backwards/backward
* Run `roave/backward-compatibility-check` off an isolated location with no other dependencies
* Run `test-with-real-projects` task with PHP 7.4 as base runtime
* Run `testing-with-real-projects` also against `ocramius/proxy-manager`
`ocramius/proxy-manager` is an extremely heavy `vimeo/psalm` consumer,
and relies on a lot of the templated types system to generate real
types for proxies produced by runtime evaluation.
2020-01-01 13:55:33 -05:00
Markus Podar
270a99f57d
Add sample for optional keys in array shapes ( #2538 )
2020-01-01 13:53:32 -05:00
Matthew Brown
086d141f5c
Fix #2537 - allow complex intersection templates to be preserved
2020-01-01 13:51:54 -05:00
Matthew Brown
d175abe0f0
Improve templating for intersections
2020-01-01 13:31:41 -05:00
Matthew Brown
4630d19d45
Fix psalm running
2020-01-01 12:49:12 -05:00