Matthew Brown
|
b2fb80978e
|
Fix assertions with single templated class-string
|
2019-05-27 12:17:20 -04:00 |
|
Matthew Brown
|
97eab1a2e6
|
Fix bad string key assertion
|
2019-05-27 10:10:21 -04:00 |
|
Matthew Brown
|
5861476765
|
Don’t remove null after magic property fetch
|
2019-05-27 09:18:34 -04:00 |
|
Matthew Brown
|
c356c452ec
|
Fix #1692 - allow magic annotations on all interfaces without config flag
|
2019-05-26 23:35:03 -04:00 |
|
Ilija Tovilo
|
63b46be361
|
Switch to VoidProgress by default
|
2019-05-26 23:18:48 -04:00 |
|
Ilija Tovilo
|
0c5837b246
|
Implement dots progress bar
|
2019-05-26 23:18:48 -04:00 |
|
Ilija Tovilo
|
042070d0fd
|
Implement better progress
|
2019-05-26 23:18:48 -04:00 |
|
Matthew Brown
|
69150d503a
|
Fix #1682 - correct arg check
|
2019-05-26 16:26:47 -04:00 |
|
Matthew Brown
|
d51ee033ce
|
Skip broken test
|
2019-05-26 14:22:28 -04:00 |
|
Matthew Brown
|
720ad42ab9
|
Fix test
|
2019-05-26 13:34:07 -04:00 |
|
Matthew Brown
|
8b9de8bba6
|
class_esists check with false arg shouldn’t count
Fixes #1682
|
2019-05-26 13:16:44 -04:00 |
|
Matthew Brown
|
97f4cdb7f5
|
Fix #1686 - intersect object and named class properly
|
2019-05-26 13:11:43 -04:00 |
|
Matthew Brown
|
052599192a
|
Fix #1680 - narrow nullable templated matching
|
2019-05-25 12:44:47 -04:00 |
|
Matthew Brown
|
790bc53bfd
|
Fix #1681 - interpret parent annotation properly
|
2019-05-25 11:51:09 -04:00 |
|
Matthew Brown
|
9fb96793cd
|
Fix #1676 - don’t modify original param types with templated by-reference
|
2019-05-24 18:17:48 -04:00 |
|
Matthew Brown
|
62dacaf97b
|
Also replace templated intersection types that aren’t direct templates
Ref #1675
|
2019-05-24 17:34:40 -04:00 |
|
Matthew Brown
|
7a48225184
|
Fix leaky template type
|
2019-05-24 13:35:14 -04:00 |
|
Matthew Brown
|
3e2b7163ca
|
Fix #1674 - treat intersections more equally regardless of order
|
2019-05-24 12:48:37 -04:00 |
|
Matthew Brown
|
9e3724bb0c
|
Prevent class-string<T> from assigning unknown type to mixed
Fixes #1672
|
2019-05-24 10:20:37 -04:00 |
|
Matthew Brown
|
c80f9d8ecd
|
Add class-based support for key-of
Ref #762
|
2019-05-24 02:12:58 -04:00 |
|
Matthew Brown
|
574545e149
|
Add initial support for key-of<T>
Ref #762
|
2019-05-23 23:53:48 -04:00 |
|
Matthew Brown
|
a18a564ad9
|
Add parser support for key-of and indexed access
|
2019-05-23 23:52:48 -04:00 |
|
Matthew Brown
|
11509cdc10
|
Remove ignored symlink
|
2019-05-23 22:31:54 -04:00 |
|
Brown
|
56daa390fc
|
Allow array access on @template T as array
Ref #1607
|
2019-05-23 18:06:22 -04:00 |
|
Brown
|
01dcf8f631
|
Fix erroneous update of existing variables
|
2019-05-23 18:04:12 -04:00 |
|
Ilija Tovilo
|
5d51680e65
|
Remove useless echo from tests
|
2019-05-23 14:32:07 -04:00 |
|
Brown
|
1c30270d89
|
Remove 7.4 syntax
|
2019-05-23 13:55:55 -04:00 |
|
Brown
|
888776cebd
|
Fix duplicate test
|
2019-05-23 13:10:23 -04:00 |
|
Brown
|
6ce5fefa4b
|
Fix #1664 - allow templated __get params
|
2019-05-23 12:59:09 -04:00 |
|
Brown
|
758c7e22ff
|
Fix bad signature in ClassLoadOrderTest
|
2019-05-23 12:54:23 -04:00 |
|
Brown
|
ded8c53d6e
|
Consolidate tests
|
2019-05-23 12:53:46 -04:00 |
|
Brown
|
c64a654ece
|
Fix #1666 - complain about properties in interfaces
|
2019-05-23 10:21:56 -04:00 |
|
Brown
|
f728d797cf
|
Fix #1665 - allow -if-true & -if-false assertions on static methods
|
2019-05-22 17:49:38 -04:00 |
|
Brown
|
29c869ed67
|
Ignore nullable issues on just-coerced types
|
2019-05-21 12:59:06 -04:00 |
|
Brown
|
034ea725e8
|
Coerce generic types from empty
|
2019-05-21 12:12:13 -04:00 |
|
Matthew Brown
|
ec2ee04fe8
|
Allow coercion from empty to array param
|
2019-05-21 12:12:13 -04:00 |
|
Brown
|
4ecf370900
|
Coerce mixed values when passed as arguments
|
2019-05-21 11:51:41 -04:00 |
|
Matthew Brown
|
a1eb191f57
|
Remove TSqlSelectString and related dependency
|
2019-05-20 23:14:41 -04:00 |
|
Matthew Brown
|
ea930b8875
|
Fix interface_exists after class_exists check
|
2019-05-20 20:57:59 -04:00 |
|
Brown
|
8c653b0312
|
Improve dead code detection a little more
|
2019-05-20 18:25:11 -04:00 |
|
Brown
|
2637156f45
|
Properly fix #1128 with additional check
|
2019-05-20 12:01:18 -04:00 |
|
Brown
|
83a2122f8c
|
Fix #1464 and fix #1128 - reduce try/catch UnusedVariable false positives
|
2019-05-20 11:54:21 -04:00 |
|
Matthew Brown
|
1e853800a3
|
Fix #1657 - allow interface_exists to generate class-string assertion
|
2019-05-19 15:56:04 -04:00 |
|
Brown
|
4035823d51
|
Fix #1652 - allow totally-templated intersections
|
2019-05-17 15:40:52 -04:00 |
|
Brown
|
963d5bb901
|
Fix #1656 - allow chained call completion
|
2019-05-17 12:38:29 -04:00 |
|
Brown
|
a1c9ad501b
|
Fix #1654 - understand templated completions
|
2019-05-17 12:11:27 -04:00 |
|
Brown
|
ebe97c871e
|
Make tests much faster
|
2019-05-17 11:22:34 -04:00 |
|
Brown
|
0bd4dbcbc4
|
Bump to PHP 7.1
Fixes #1650
|
2019-05-16 18:36:36 -04:00 |
|
Brown
|
66bbe5bb74
|
Allow space in intersection type
Ref #1645
|
2019-05-16 13:52:58 -04:00 |
|
Matthew Brown
|
3599c20316
|
Fix #1641 - crawl intersection types
|
2019-05-15 22:30:35 -04:00 |
|
Brown
|
4a434d9a2f
|
Add separate issue for undefined classes in docblocks
|
2019-05-15 18:41:26 -04:00 |
|
Matthew Brown
|
cfff66efb7
|
Fix #1634 - don’t remove existing return types when preventing bc breaks
|
2019-05-15 00:34:56 -04:00 |
|
Matthew Brown
|
1c10ae11bf
|
Fix #1580 - look for no-returns in try/catch statements
|
2019-05-14 21:22:29 -04:00 |
|
Barney Laurance
|
f4c754737f
|
psalm-internal: Prevent use of @psalm-internal without @internal
|
2019-05-14 18:54:16 -04:00 |
|
Barney Laurance
|
14843ed58a
|
psalm-internal - extract function NamespaceAnalyzer::isWithin
Also adjust behaviour so things can be internal to classes, not just to
namespace, and namespace comparision is case insensitive
|
2019-05-14 18:54:16 -04:00 |
|
Barney Laurance
|
fcf893d2e8
|
psalm-internal - disalow use of @psalm-internal property without setting namespace
|
2019-05-14 18:54:16 -04:00 |
|
Barney Laurance
|
7b7683bdaf
|
psalm-internal - prevent setting internal property from other namespace
|
2019-05-14 18:54:16 -04:00 |
|
Barney Laurance
|
ce5d307f83
|
psalm-internal - present fetching internal property from other namespace
|
2019-05-14 18:54:16 -04:00 |
|
Barney Laurance
|
0ebcba3e02
|
psalm-internal - prevent instantiation of class from other namespace
|
2019-05-14 18:54:16 -04:00 |
|
Barney Laurance
|
b29e041d3c
|
psalm-internal - prevent call to method marked psalm-internal from other namespace
|
2019-05-14 18:54:16 -04:00 |
|
Barney Laurance
|
059d1ef177
|
psalm-internal - prevent static call to psalm-internal class from other namespace
|
2019-05-14 18:54:16 -04:00 |
|
Barney Laurance
|
4415ef0dbd
|
psalm-internal - prevent invalid extention of class internal to other namespace
|
2019-05-14 18:54:16 -04:00 |
|
Brown
|
f1d8b1e6e7
|
Prevent extending covariant template params
Fixes #1610
|
2019-05-14 18:51:30 -04:00 |
|
Brown
|
7fbbe964cb
|
Fix #1609 - warn when using covariant template type as input
|
2019-05-14 18:17:38 -04:00 |
|
Brown
|
6f90e65733
|
Remove unnecessary newline
|
2019-05-14 17:47:40 -04:00 |
|
Brown
|
10272c2da1
|
Fix #1636 - don’t allow invalid phpdoc to be outputted
|
2019-05-14 17:41:22 -04:00 |
|
Brown
|
e7f4a52d2b
|
Use better metric for a properly mismatching type
|
2019-05-14 16:15:38 -04:00 |
|
Brown
|
30cbcb6c36
|
Add ImplementedParamTypeMismatch issue
Fixes #1633
|
2019-05-14 15:44:46 -04:00 |
|
Ilija Tovilo
|
2c36a10ac8
|
Fix #1622 - add allow-backwards-incompatible-changes flag to psalter
The flag prevents psalter from adding native return types
|
2019-05-13 17:59:31 -04:00 |
|
Matthew Brown
|
f33745ad25
|
Fix parameter offset for error
|
2019-05-13 16:01:41 -04:00 |
|
Matthew Brown
|
fe0f352132
|
Fix #1628 - improve behaviour of unset in loops
|
2019-05-13 11:00:17 -04:00 |
|
Matthew Brown
|
f8b4b12ec2
|
Fix #1622 - don’t update return types in docblocks when overridden elsewhere
|
2019-05-13 09:04:26 -04:00 |
|
Matthew Brown
|
c6e29322c0
|
Fix unset bug
|
2019-05-13 01:35:29 -04:00 |
|
Matthew Brown
|
7c2fe53446
|
Fix #1391 - find dead code in assignments to self
|
2019-05-12 23:31:36 -04:00 |
|
Matthew Brown
|
307cdbbbb3
|
Fix #1626 - detect dead code found in #1624
|
2019-05-12 20:49:37 -04:00 |
|
Lars Moelleken
|
0b5680f72f
|
fix return type of "array_combine()" && "array_replace()"
|
2019-05-12 19:37:46 -04:00 |
|
Brown
|
335b04186b
|
Add autodiscovery of --init folders based on composer.json
|
2019-05-09 19:19:33 -04:00 |
|
Brown
|
fe22e83c76
|
Move config tests into separate dir
|
2019-05-09 18:58:30 -04:00 |
|
Brown
|
d75ac7f55d
|
Move test fixtures to a single directory
|
2019-05-09 18:23:14 -04:00 |
|
Brown
|
24dbc34bbe
|
Use better solution for inherited more-specific return types
|
2019-05-09 10:41:30 -04:00 |
|
Brown
|
629eeed3e6
|
Fix incorrect message when inheriting parent docblock
|
2019-05-09 10:26:06 -04:00 |
|
Brown
|
111abf82da
|
Fix #1616 - allow Psalm to output checkstyle format
|
2019-05-08 14:26:52 -04:00 |
|
Brown
|
b7529e872b
|
Consider intersections when combining generic types
|
2019-05-08 13:23:47 -04:00 |
|
Matthew Brown
|
419d1da98d
|
Fix issue where iterators weren’t processed recursively
|
2019-05-08 09:04:52 -04:00 |
|
Brown
|
d7ee952084
|
Infer closure param type for array_filter/array_map
Fixes #664
|
2019-05-07 16:27:25 -04:00 |
|
Matthew Brown
|
4f8d6a50d8
|
Don’t emit MissingClosureReturnType when inside call and type can be inferred
|
2019-05-06 20:47:55 -04:00 |
|
Brown
|
fec1a60e90
|
Ref #1600 - partial fix inferring param types when none is available
|
2019-05-06 18:44:10 -04:00 |
|
Brown
|
751253ddf0
|
Fix #1603 - prevent invalid covariant template classes from being passed
|
2019-05-06 16:38:08 -04:00 |
|
Brown
|
57a585240c
|
Allow is_subclass_of/is_a to inform shape of mixed arg
|
2019-05-06 10:06:05 -04:00 |
|
Jonathan H. Wage
|
ecb7a6c069
|
Add support for absolute plugin paths.
|
2019-05-05 16:44:36 -04:00 |
|
Brown
|
dd40987187
|
Consolidate location of issue handling
|
2019-05-03 17:12:20 -04:00 |
|
Brown
|
d1574a64a4
|
Move issue type listing
|
2019-05-03 15:29:44 -04:00 |
|
Matthew Brown
|
49acdfc764
|
Fix issue when reconciling is_subclass_of on possibly-undefined variable
|
2019-05-03 09:09:51 -04:00 |
|
Brown
|
08bf101f48
|
Fix #1598, catching unused variables followed by try inside loop
|
2019-05-02 17:21:02 -04:00 |
|
Brown
|
86bf159bd0
|
Avoid false positive for param
|
2019-05-02 15:33:47 -04:00 |
|
Brown
|
4f26c8d749
|
Fix #1597 - ternary else should only know about first conditional expression
|
2019-05-02 13:43:18 -04:00 |
|
Brown
|
d64ca30633
|
Break apart FileManipulationTest
|
2019-05-02 12:15:45 -04:00 |
|
Matthew Brown
|
ae531506de
|
Fix #1591 - allow variable typed to string to be compared to literal in reverse order
|
2019-05-02 00:50:35 -04:00 |
|
Matthew Brown
|
cacced782d
|
Fix #1592 - allow methods with a simple exit to have the same treatment as those with a simple throw
|
2019-05-01 23:45:03 -04:00 |
|
Matthew Brown
|
0fe378a467
|
Fix #1593 - still inherit more specific docblock from parent when parent has no signature return
|
2019-05-01 23:14:22 -04:00 |
|