Matthew Brown
292f6e797f
Only make directly-assertable things possibly-undefined
...
Ref #2724
2020-02-01 10:58:13 -05:00
Matthew Brown
f2347303c9
Skip correct test
2020-02-01 01:43:26 -05:00
Matthew Brown
255ffa05ea
Skip another failing test
2020-01-31 17:59:29 -05:00
Matthew Brown
6f75903948
Fix dupe key
2020-01-31 17:47:11 -05:00
Brown
a40bfbd2b2
Add back skipped tests for the moment
2020-01-31 17:27:39 -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
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
3d6c63bc08
Break apart FunctionCallTest
2020-01-31 13:58:02 -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
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
365236a6bb
Replace assertion with type
2020-01-29 23:55:27 -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
933dff9e20
Fix #2712 - allow __toString to have more specific type
2020-01-29 22:28:40 -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
Matthew Brown
ce0298acc4
Fix #2704 - array_merge should ignore possibly-false issues where applicable
2020-01-29 21:09:33 -05:00
Philip Hofstetter
8f8672dd6b
do not corrupt internal state when a baseline is present ( #2710 )
...
this fixes #2709
2020-01-29 08:53:58 -05:00
Pavel Batečko
ecf85aef12
Add generic definition of DOMNamedNodeMap ( #2703 )
...
* Fix #2638 - propagate phantom classes to recursive calls to Scanner::queueClassLikeForScanning()
* Add generic definition of DOMNamedNodeMap
2020-01-29 08:39:07 -05:00
Matthew Brown
10221f474f
Fix test
2020-01-27 23:52:06 -05:00
Matthew Brown
82bb3b90f0
Add @return to test
2020-01-27 23:38:31 -05:00
Matthew Brown
ff01f41b44
Allow strings in assert annotation
2020-01-27 23:15:50 -05:00
Matthew Brown
5c3ec7a531
Fix #2696 - make sure static property references are prevented in pure functions
2020-01-27 22:55:20 -05:00
Brown
15808458cc
Better understand nesting loops and switches
...
Fixes #2700
2020-01-27 12:17:12 -05:00
Matthew Brown
8c89760ff3
Use more accurate type for large arraya
...
Fixes #2690
2020-01-25 10:38:23 -05:00
Brown
9f077f5aec
Fix formatting
2020-01-24 14:08:01 -05:00
Brown
53b0650c6c
Fix #2688 - foreach loop evaluation should allow changing loop var
2020-01-24 13:55:30 -05:00
Brown
faf6afdce8
Support call_user_func evaluation
...
Fixes #726
2020-01-24 13:34:50 -05:00
Brown
dbdf7473f4
Fix abstract trait method implementation errors when using self
2020-01-24 11:15:35 -05:00
Brown
34d73e7243
Fix #2685 - always evaluate $a++ in unknown call
2020-01-24 10:32:28 -05:00
Matthew Brown
c87b19eeb0
Fix #2681 - no error after empty check on literal value
2020-01-23 22:26:49 -05:00
Brown
0ffb833bf3
Fix #2677 - use better assertion for null coalesce
2020-01-23 14:52:35 -05:00
Brown
da43b8188f
Fix #2632 - detect invalid by-ref assignments in pure functions
2020-01-23 14:21:34 -05:00
Brown
0ac20e76c4
Fix #2631 - evaluate purity of uasort closure
2020-01-23 13:49:15 -05:00
Brown
e68ca6a20b
Fix #2661 - catch invalid array_push on property
2020-01-22 09:57:59 -05:00
Matthew Brown
d4ceabc174
Fix error baseline test
2020-01-21 21:22:38 -05:00
Matthew Brown
8202af957d
Index issues by file to reduce some lookups
2020-01-21 21:07:44 -05:00
Brown
0132b3789b
Fix #2665 - warn about abstract class interface inheritance issues
2020-01-21 11:46:51 -05:00
Brown
a2e1dfd64e
Fix #2667 - don’t check inherited signature return types for accuracy
2020-01-21 11:07:44 -05:00
Brown
36f5c51f01
Allow unpacking of list args with known elements
2020-01-21 10:13:37 -05:00
Matthew Brown
8ccd4860e3
fclose should treat resource as passed-by-reference
2020-01-17 13:12:00 -05:00
Matthew Brown
c9d88b6e62
Remove lines
2020-01-17 12:13:29 -05:00
Matthew Brown
1c8af2fdc7
Fix #2658 - catch exceptions thrown inside catch
2020-01-17 12:05:37 -05:00
Matthew Brown
7f093ca8ed
Fix #2626 - allow assertions on resource types
...
Also fixes #2266
2020-01-17 11:55:16 -05:00
Matthew Brown
2c48d42904
Allow destructuring of callable array
...
Fixes #2653
2020-01-17 10:02:58 -05:00
Matthew Brown
24e1d5446c
Fix #2642 - merging two explicit lists is still a list
2020-01-17 09:31:08 -05:00
Matthew Brown
adf230e873
Fix #2636 - allow non-empty-list in assert annotation
2020-01-17 09:06:34 -05:00
Alexander Wühr
f9560009ca
Allow false
as \PDO::fetch return type ( #2647 )
2020-01-17 08:48:08 -05:00
Matthew Brown
c50fa27025
Identify trait method access level violations as less serious
2020-01-17 00:28:08 -05:00
Matthew Brown
257ebfd205
Improve trait method mismatch failure rules
2020-01-16 22:36:30 -05:00
Bruce Weirdan
17857163fc
Modular config files ( #2635 )
...
This change introduces an option to have the configuration split across
several files using standard XInclude tags. This may be useful for more
complex configs, or to include auto-generated parts into a manually
written config file.
2020-01-16 15:57:52 -05:00
Brown
d434f7fb9d
Add list identification for late-resolved constants
...
Fixes #2624
2020-01-15 11:54:01 -05:00
Brown
1b551b805b
Fix #2627 - infer arrow function effects for array_filter
2020-01-15 11:40:49 -05:00
Matthew Brown
389af1bfc7
Fix #2618 setting list param from docblock
2020-01-14 22:46:19 -05:00
Matthew Brown
4a03c4aedd
Fix impossible isset checks
2020-01-14 21:54:02 -05:00
Matthew Brown
c3edbdbc19
Allow checking $_SESSION for null without altering type
2020-01-14 21:51:04 -05:00
Brown
0f6b61d62d
Clone isset type before contradicting
2020-01-14 18:28:32 -05:00
Brown
adc658901a
Improve inference of constant() calls
2020-01-14 16:56:09 -05:00
Brown
1ccababcb7
Track list-ness of constant arrays
...
Fixes #2621
2020-01-14 12:13:41 -05:00
Brown
c77f2cd7a2
Treat array key int literals same way we treat string literals
2020-01-14 10:40:16 -05:00
Matthew Brown
e1daf26202
Improve support for null coalesce checks
2020-01-14 00:53:38 -05:00
Matthew Brown
b0073d4558
Fix #2614 - prevent isset($string)
2020-01-13 21:27:09 -05:00
Matthew Brown
ef3c2d30c9
Fix #2613 - allow docblock-defined object-like as non-empty-array
2020-01-13 21:05:30 -05:00
Brown
eb7c3dcc11
Fix #2611 - fix combination of inferred closure return types
2020-01-13 10:23:58 -05:00
Тальгат Хайруллов
39a822759d
#2579 TooManyArguments was triggered if the variadic function declared at the autoloader file. Fixed. ( #2580 )
2020-01-12 11:33:38 -05:00
Pavel Batečko
87debfe954
Support suppressing all issues with @psalm-suppress all ( #2584 )
...
* Support suppressing all issues using @psalm-suppress all
* Document @psalm-suppress all
2020-01-12 10:38:32 -05:00
Matthew Brown
131fb97663
Fix #2594 - forbid isset check on null
2020-01-11 15:58:40 -05:00
Matthew Brown
bd846123ce
Fix #2560 - handle special case of array_filter on single-element array
2020-01-11 11:54:29 -05:00
Matthew Brown
40406c7ff0
Fix #2576 - remove literal key values if array_filter has no args
2020-01-11 11:48:22 -05:00
Matthew Brown
85966d8a21
Fix #2577 - fix list cast to array
2020-01-11 11:42:09 -05:00
Matthew Brown
2ae85f7c8b
Fix #2593 - don’t crash with bad @param-out annotation
2020-01-11 10:47:31 -05:00
Matthew Brown
1b7b71f2ca
Fix #2591 - always remove changed var from parent clauses
...
Even when there are no child clauses due to an assertion
2020-01-10 23:46:45 -05:00
Brown
5ddcab1003
Fix subtraction of string from numeric
2020-01-10 18:05:45 -05:00
Brown
df8e3845e5
Fix #2590 - allow null argument for DateTime when no second arg passed
2020-01-10 15:53:15 -05:00
Brown
03030d4887
Fix #2583 - don’t convert scalar terms in @method annotations
2020-01-10 11:29:18 -05:00
Brown
2c7197ab4b
Fix #2578 - improve inference of functions beginning with assert
2020-01-09 15:45:17 -05:00
Brown
bd9142f131
Fix #2574 - remove assertions after increment
2020-01-09 11:51:56 -05:00
Matthew Brown
146dd461ef
Fix #2569 - improve template return type checks
2020-01-07 21:08:13 -05:00
Brown
024ec38aa1
Fix #2567 - still remap params in some circumstances
2020-01-07 13:01:16 -05:00
Pavel Batečko
702ca34c41
Improve array function types ( #2566 )
...
* Improve sorting function out types
* Improve return types of array_diff_assoc(), array_intersect_assoc()
* Fix versionCompareAsCallable test
2020-01-07 11:40:23 -05:00
Matthew Brown
1f777bec0e
Capture non-empty-string from concat more effectively
2020-01-07 01:44:12 -05:00
Matthew Brown
2cd7f74efb
Fix #2554 - treat templated class string as proper subtype of class string
2020-01-07 00:39:16 -05:00
Matthew Brown
cc9e0fab67
Prevent string being used in non-empty-string location
2020-01-06 20:57:57 -05:00
Brown
07aaa3f99d
Don’t complain about method mismatches for @mixin
2020-01-06 18:04:28 -05:00
Dusk
63dea52e76
Add support for most PDOStatement fetch modes ( #2553 )
...
Flags like PDO::FETCH_CLASSTYPE and PDO::FETCH_PROPS_LATE aren't
supported yet.
(in re. #2529 )
2020-01-06 16:41:52 -05:00
Brown
5c45221bdc
Improve reconciliation of ||
...
Ref #2426
2020-01-06 16:37:44 -05:00
Brown
083fbc55e1
Add more specific UndefinedMagicMethod issue
2020-01-06 14:23:33 -05:00
Brown
8e786a17dd
Deal with a reconciled var more accurately
...
Ref #2426
2020-01-06 11:09:07 -05:00
Matthew Brown
137650fe6f
Fix #2556 - don’t remap params if they’ve already been remapped once
2020-01-06 09:18:16 -05:00
Matthew Brown
4888ae67a6
Fix #2558 - remove wedge clauses when they’re the only thing left
2020-01-06 08:56:50 -05:00
Matthew Brown
4e85967184
Fix tests
2020-01-05 21:58:18 -05:00
Matthew Brown
867511d7fd
Use more specific error magic properties
2020-01-05 21:07:26 -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
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
996053cca6
Fix #2545 - fix bug when coming back after analysing method call in constructor
2020-01-03 11:29:45 -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
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
5f5a942a32
Improve handling of interface-implementing edge-case
2020-01-02 15:24:03 -05:00
Brown
de0fad2197
Fix #2541 - check variable var assignment
2020-01-02 14:07:02 -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
872365f444
Fix #2539 - use unaliased parent class name
2020-01-01 17:23:13 -05:00
Matthew Brown
086d141f5c
Fix #2537 - allow complex intersection templates to be preserved
2020-01-01 13:51:54 -05:00
Matthew Brown
4021d673bd
Fix #2536 - grab binary op left assertions after analysis
2020-01-01 12:45:24 -05:00
Matthew Brown
d7fb64bbb7
Fix #2349 - use function suppressed issues
2019-12-31 09:16:49 -05:00
Matthew Brown
16b8edd583
Fix #2409 - use more robust assertion parsing
2019-12-31 09:10:14 -05:00
Matthew Brown
5bd9b988fb
Fix #2494 - don’t use extended name for anonymous classes
2019-12-31 08:46:52 -05:00
Matthew Brown
87fec3e6fe
Fix #2505 - don’t attempt to analyse classes that weren‘t properly scanned
2019-12-31 08:04:51 -05:00
Matthew Brown
02fd1659ef
Ignore serialize/unserialize methods
...
Fixes #2511
2019-12-31 07:56:35 -05:00
Matthew Brown
53a2f77d00
Add better return type provider for PDO statement
...
Fixes #2529
2019-12-30 11:34:24 -05:00
Matthew Brown
366e2d30a3
Improve assertions support a bit more
2019-12-30 10:48:50 -05:00
Matthew Brown
19faa31865
Allow assertions on nested properties
2019-12-30 10:01:31 -05:00
Matthew Brown
023c4bcef0
Fix #2532 - fix templating inside class method when calling templated method
2019-12-30 07:25:36 -05:00
Matthew Brown
2b88261ecd
Fix templated assertion cc @vasily-kartashov
...
This is a good reason for you to skip 3.8.1
2019-12-29 11:57:54 -05:00
Bruce Weirdan
7d3dd47efa
Added support for preg_grep ( #2523 )
2019-12-29 11:05:08 -05:00
Matthew Brown
b375ebf06f
Fix test
2019-12-29 10:29:03 -05:00
Matthew Brown
26876b9a13
array_push shouldn’t change list type
2019-12-29 10:20:44 -05:00
Matthew Brown
d3fb0181cb
Fix #2527 - no crash when template cannot be resolved
2019-12-29 08:45:42 -05:00
Matthew Brown
0c7851ae21
Fix #2526 - always check for array assignment in assignop
2019-12-29 08:36:46 -05:00
Matthew Brown
55c2f7faa2
Fix #2508 - don’t replace templated types with generic ones inside own function
2019-12-28 18:38:02 -05:00
Matthew Brown
ce9435da19
Fix #2521 - use correct context class when analysing trait
2019-12-28 15:56:26 -05:00
Bruce Weirdan
4110ec351b
Make travis green again ( #2518 )
...
* Bumped phpspec/prophecy version to prevent 7.4 deprecations
* Fix DOMDocument::$config type
This property was documented as containing DOMConfiguration object, but
in fact always returned `null` (see [php source](ee80567a83/ext/dom/document.c (L542)
)).
DOMConfiguration class is removed in PHP 8.
* Dropped unused use
* Allow to set PHP 8.0 as current version
* Fix CallMap issues for PHP 8.0
- Use both major and minor version to load deltas
- Don't load non-existent deltas
- Stop at lowest possible delta
2019-12-27 19:06:09 -05:00
Matthew Brown
982fe627e0
Fix #2515 - allow chained assertions on @psalm-mutation-free methods
2019-12-27 16:44:55 -05:00
Matthew Brown
4a28525275
Fix removal of traversable from iterable
...
Fixes #2509
2019-12-27 13:01:44 -05:00
Matthew Brown
068afa09d3
Add very basic implementation for class-string-map
...
Fixes #1969
2019-12-27 12:49:28 -05:00
Matthew Brown
b78f273ccf
Improve handling of template params a smidge
2019-12-27 11:49:44 -05:00
Matthew Brown
2f2cd85a6a
Identify invalid static property array assignment
2019-12-27 10:34:51 -05:00
Valentin Udaltsov
006f788d6a
Added array_fill_keys support ( #2512 )
...
* Added array_fill_keys support
* Removed unnecessary array_fill_keys phpdoc
2019-12-27 13:30:42 +00:00
Matthew Brown
141bfd313f
Improve handling of assignments in arrays
2019-12-22 12:36:16 +00:00
Matthew Brown
8fc3c3b8cd
Improve removing types from callable
2019-12-22 10:29:00 +00:00
Matthew Brown
4c8730c5a3
Improve handling of unset array, ensuring that keys don’t persevere
2019-12-22 01:42:39 +00:00
Matthew Brown
59aeb6b6c3
Fix #2490 - allow overriding renamed trait methods in subclass
2019-12-20 20:11:27 +00:00
Matthew Brown
8c1638efc5
Fix tests once more
2019-12-20 19:37:36 +00:00
Matthew Brown
3d03da271d
Fix tests to give more accurate locations
2019-12-20 18:18:26 +00:00
Matthew Brown
8bba5221b2
Remove dumb test
2019-12-20 18:09:26 +00:00
Matthew Brown
a5434aabfe
Fix #2491 - report trait issues at the most local place
2019-12-20 17:57:31 +00:00
Matthew Brown
a4191171bf
Fix #2483 - treat intersecting PHPDocs from interfaces better
2019-12-20 01:42:57 +00:00
Matthew Brown
d7b99148be
Add support for JUnit report type
...
Fixes #2485
2019-12-19 20:18:09 +00:00
Matthew Brown
15cd62d332
Fix #2484 - add support for spaces in assert-if-true types
2019-12-19 19:24:26 +00:00
Matthew Brown
ab03ac06f4
Add support for spread operator before type as well
...
Ref #2429
2019-12-19 00:29:01 +00:00
Matthew Brown
af28d650f3
Fix #2408 - existing offsets checked with isset should be valid
2019-12-18 23:48:25 +00:00
Matthew Brown
456aa1c569
Fix #2468 - add support for zipping arrays
2019-12-18 18:14:02 +00:00
Matthew Brown
734ad02203
Fix #2476 - flesh out iterable params
2019-12-18 17:19:54 +00:00
Matthew Brown
9d8ca08fb9
Fix #2479 - analyse undefined function arguments too
2019-12-18 16:37:48 +00:00
Matthew Brown
cb797c6159
Fix inherited class methods as well
...
Ref #2478
2019-12-18 14:39:37 +00:00
Matthew Brown
49a3f89526
Fix #2478 - process trait template inheritance sensibly
2019-12-18 13:58:37 +00:00
Brown
e551b24843
Classes that just reference themselves aren’t used
2019-12-16 11:46:10 -05:00
Matthew Brown
bf67c036aa
Fix #2474 - treat free-standing binaryops as ifs instead
2019-12-16 08:32:00 -05:00
Matthew Brown
bdbc758ddc
Fix #2475 - allow iterable covariance
2019-12-16 07:16:35 -05:00
Matthew Brown
529efaa29c
Fix #2473 - allow array_map to work with callables returning static
2019-12-15 19:55:20 -05:00
Matthew Brown
1d0ac3df29
Fix #2472 - array_map should retain non-emptiness when passed string callables
2019-12-15 14:06:12 -05:00
Matthew Brown
72f3c306d7
Fix #2471 - don’t erroneously template class-strings
2019-12-15 13:23:04 -05:00
Matthew Brown
1a92e98dd3
Warn about more generic callables
2019-12-14 11:55:26 -05:00
Matthew Brown
ce2e5b27c0
Fix #2470 - only parameterise constructors according to inherited params
2019-12-14 11:38:09 -05:00
Matthew Brown
797a059a84
Prevent static methods using class instance template types
2019-12-14 09:40:09 -05:00
Matthew Brown
b48021dbfd
Allow null return on template with null as type
...
Ref #2466
2019-12-13 21:56:43 -05:00
Matthew Brown
f40b6625eb
Fix #2431 - allow null in template defaults
2019-12-13 21:40:09 -05:00
Brown
e1af0e01ee
Revert code back to how it was
2019-12-13 17:52:37 -05:00
Brown
2469f04715
Improve reconciliation of arrays with constant offsets
2019-12-13 17:17:14 -05:00
Brown
6d02aa86e8
Reconcile string emptiness a bit better
2019-12-13 15:51:54 -05:00
Matthew Brown
c9b5e96b0f
Fix ref
2019-12-13 08:11:04 -05:00
Matthew Brown
ca5f8fabdc
Fix #2464 - null coalesce shouldn’t allow undefined vars
2019-12-13 08:06:40 -05:00
Matthew Brown
f45014d403
Fix #2460 - allow assertions on immutable method calls
2019-12-12 09:32:33 -05:00
Matthew Brown
8f25183784
Fix #2459 - don’t add assertions to parent context unnecessarily
2019-12-12 00:37:00 -05:00
Brown
05783eb616
Find issues with impossible property values
2019-12-11 17:08:02 -05:00
Brown
612f74f481
Clean up static property reconciliation
2019-12-11 15:05:09 -05:00
Brown
6b56a0239d
Improve handling of assertions on static properties
2019-12-11 14:06:09 -05:00
Brown
d2b99cbe77
Add possibly defined vars in binary op analysis
2019-12-11 13:09:27 -05:00
Brown
e476eed111
Fix issue where inside_conditional is forgotten
2019-12-11 12:06:10 -05:00
Brown
c9e77d30d6
Add return type
2019-12-11 11:29:26 -05:00
Brown
e564d67214
Add support for simple default arrays in @method docblocks
...
Fixes #2455
2019-12-11 11:29:00 -05:00
Brown
79f3a5d371
Allow empty string parsing
2019-12-11 10:52:46 -05:00
Brown
3a7dd61889
Fix #2457 - allow psalm-type aliases to be used above return type
2019-12-11 10:30:40 -05:00
Brown
4b715cdbff
Fix #2456 - ignore UnusedFunctionCall when function asserts
2019-12-11 10:13:22 -05:00
Matthew Brown
af52590fef
Make test better
2019-12-11 00:42:09 -05:00
Matthew Brown
848cbbb487
Fix #2454 - build up template map to better understand passed-through data
2019-12-11 00:34:54 -05:00
Brown
b3cf9d3958
Catch circular references in constants
...
Fixes #2453
2019-12-10 16:16:44 -05:00
Brown
9d22f56560
Fix #2443 - templates are not valid PHPDoc
2019-12-10 14:03:51 -05:00
Matthew Brown
3faf1f8bc2
Improve int assertions
2019-12-10 09:44:38 -05:00
Matthew Brown
750d4b4f4f
Be more accurate when assertion is incorrect
...
Ref #2452
2019-12-10 09:26:46 -05:00
Matthew Brown
8494f02008
Fix template handling when templating inside templated class
2019-12-10 00:50:36 -05:00
Brown
74de32fefe
Allow multiple @psalm-assert annotations for a given variable
2019-12-09 17:21:58 -05:00
Brown
aaffdbc79f
Add support for non-empty scalar
...
Ref #2449
2019-12-09 17:06:10 -05:00
Brown
b78acf796f
Fix #2445 - only generalise param when it’s generic
2019-12-09 10:58:09 -05:00
Matthew Brown
517aaac851
Fix #2432 - narrow template type after is_object check
2019-12-08 21:40:15 -05:00
Matthew Brown
432c291dd7
Fix #2440 - add support for uasort
2019-12-08 21:30:19 -05:00
Matthew Brown
d6a731be73
Fix #2441 - add error when @template type is missing
2019-12-08 21:19:29 -05:00