AndrolGenhald
1387f94324
Attribute analysis improvements.
2022-02-23 22:12:32 -06:00
rarila
97e6511fab
Set number of lines before and after namespace.
2021-12-15 04:58:32 +01:00
ralila
8fb2e0f885
Handle some partials
2021-12-04 21:55:53 +01:00
orklah
1efe272aed
stub for is_a
2021-10-12 22:12:51 +02:00
AndrolGenhald
d4590711d6
Fix object-like array keys when combining string and automatic keys ( fixes #5427 ). ( #5428 )
...
* Fix object-like array keys (fixes #5427 ).
* Fix incorrect return types for tests.
* Fix false positive list with literal int key.
2021-03-19 21:44:44 -04:00
Matt Brown
b6dbc34523
Track final-ness of class when evaluating trait returns
2020-10-25 12:20:18 -04:00
orklah
ead107fa9e
More return types ( #4173 )
...
* add native return types
* redundant phpdoc
2020-09-12 11:24:05 -04:00
Brown
e808391f56
Fix #3943 - understand trait return types a bit better
2020-08-05 15:58:26 -04:00
Brown
0ef00f5756
Fix #3460 - allow isset checks on static properties
2020-05-26 17:40:27 -04:00
Brown
0cb211784d
Fix #3415 - flesh out Closure return type
2020-05-22 14:26:37 -04:00
Brown
27a009fd69
Fix #3417 - Treat $this as static-y
2020-05-22 13:32:26 -04:00
Pierre Grimaud
e7990390a6
Fix typos ( #3255 )
2020-04-28 09:17:31 -04:00
Matthew Brown
0f5b0fd65d
Fix location of traits
2020-03-02 23:07:21 -05:00
Matthew Brown
ce9435da19
Fix #2521 - use correct context class when analysing trait
2019-12-28 15:56:26 -05:00
Matthew Brown
59aeb6b6c3
Fix #2490 - allow overriding renamed trait methods in subclass
2019-12-20 20:11:27 +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
914ef5a5dd
Fix #2091 - $this properties should be replaced in trait types
2019-09-01 15:45:28 -04:00
Matthew Brown
7c6b1581d3
Add warnings about uninitialised properties to mixed as well
2019-08-11 00:22:28 -04:00
Matthew Brown
90854c4094
Fix broken behaviour when analysing interface test methods
2019-07-28 19:44:36 -04:00
Matthew Brown
da42be175f
Apply PHPCS fixes
...
Fixes #1880
2019-07-05 16:27:53 -04:00
LeSuisse
f29826b958
Fully qualify constants and function calls ( #1849 )
...
This should give a small performance boost.
Part of #1837 .
The change is enforced via phpcs and can be autofixed
with phpcbf.
2019-06-26 16:52:29 -04:00
Matthew Brown
372a512a86
Don’t convert trait self to trait name
2019-06-26 00:28:43 -04:00
Brown
4a434d9a2f
Add separate issue for undefined classes in docblocks
2019-05-15 18:41:26 -04:00
Matthew Brown
c772914910
Add some formatting
2019-03-23 14:27:54 -04:00
Matthew Brown
2f8bfffe95
Fix #1475 but, like, properly this time
2019-03-17 13:50:02 -04:00
Matthew Brown
f66af3e267
Fix #1475 - allow self params in traits
2019-03-17 11:31:04 -04:00
Matthew Brown
ab832207a4
Fix #1453 - traits are not valid classes
2019-03-15 22:12:35 -04:00
Matthew Brown
4ba15ec18d
Flip abstract trait analysis implementation checks
...
Fix #1414
2019-03-02 14:17:26 -05:00
Bruce Weirdan
9bdc9f774f
More provider typing
2019-03-02 08:43:19 -05:00
Brown
601f303de2
Fix position of invalid param
2019-02-27 16:00:44 -05:00
Matthew Brown
8650f9eb1a
Fix #1356 - improve assertion system to work better on function calls
2019-02-26 01:03:33 -05:00
Matthew Brown
f49be31aeb
Fix #1332 - use the correct identifier for trait property resolution
2019-02-18 16:52:09 -05:00
Matthew Brown
c6b3fc512f
Don’t throw exception when ignoring trait absence
2019-02-10 16:32:30 -05:00
Matthew Brown
22ec7e537c
Fix #1208 - respect inheritance when combining in boolean operation
...
Also fixes issue reconciling inside trait
2019-01-18 10:08:16 -05:00
Brown
ee366015f7
Fix #1205 - allow traits to override inheritance checks
2019-01-16 10:59:06 -05:00
Matthew Brown
6d462fcb64
Fix #909 - support private trait aliasing
2019-01-13 10:19:27 -05:00
Brown
4d959626d5
Fix #1175 - support trait method visibility changes
2019-01-07 11:53:22 -05:00
Brown
1b740aebb5
Fix #1104 - allow multiple trait method aliases to map to same method
2018-11-30 13:45:49 -05:00
Matthew Brown
47f5f309ad
Remove support for get_class($a) === "somestring"
...
But it works with class constants
2018-11-28 23:59:43 -05:00
Matthew Brown
4688b25fd9
Move internal classes to own namespace
2018-11-12 11:20:59 -05:00
Matthew Brown
2af7ea05da
Fix #897 - understand static class comparisons in is_a
2018-07-17 22:50:30 -04:00
Matthew Brown
5623aa1c19
Don’t memoise assertions - it messes with trait analysis
2018-07-03 00:51:57 -04:00
Matthew Brown
92d31b49ad
Add extra test to cover full replacement
2018-06-08 20:07:31 -04:00
Matthew Brown
a2b1838e23
Fix #803 - trait methods are evaluated correctly now
2018-06-08 20:06:05 -04:00
Matt Brown
68dbe509a8
Fix #731 - report issues in files required by the source
2018-05-30 12:23:53 -04:00
Matt Brown
9227e61097
Fix #715 - no redundant condition for is_a(self::class,...) checks inside trait
2018-05-30 10:13:55 -04:00
Matthew Brown
b0733254bb
Use individual type objects for each string ( #757 )
...
* Experiment with individual types for each string
* Fix bunch of errors
* Fix a few more issues
* Fix a whole bunch of bugs
* Fix most remaining bugs
* Fix isset warnings
* Fix psalm errors in psalm
* Limit big string size
* Fix falsiness of ints
* Fix issue with type widening, allowing value set in nested if to be altered
* Don’t complain if type is mixed
* Add skipped-for-now test
* Add specific test to address issue
2018-05-18 11:02:50 -04:00
Matthew Brown
77d4629896
Fix #714 - fix trait class constants
2018-05-08 22:32:57 -04:00
Matthew Brown
85747d67a1
Fix issuses found in tests
2018-04-21 17:20:21 -04:00