Matthew Brown
5910a362ea
Improve report output of taint analysis
2019-10-19 17:59:10 -04:00
Matthew Brown
8c6b234c2c
Improve speed of taint analysis
2019-10-13 20:10:31 -04:00
Brown
94001aad4a
Fix #2208 - handle templated property types appropriately
2019-10-04 13:51:36 -04:00
Matthew Brown
a9d0296252
Fix #2182 - allow modification to cloned objects inside
2019-09-30 22:07:20 -04:00
Brown
4ff3a5517d
Fix typo
2019-09-26 17:12:57 -04:00
Brown
cf799d0926
Fix #2173 - remove @var annotations automatically
2019-09-26 15:08:05 -04:00
Brown
8784812739
Fix #2116 - allow property set inside unserialize
2019-09-10 10:31:46 -04:00
Brown
e25ce152d6
Fix #2014 - prevent unusedvariable false positive when redefined in assignment ||
2019-08-15 09:43:43 -04:00
Brown
e92896f145
Fix taint records
2019-08-14 09:52:59 -04:00
Matthew Brown
600999a3a8
Add better typing
2019-08-14 00:47:57 -04:00
Brown
c3949e3194
Improve taint protection for exec-related commands
2019-08-13 19:18:50 -04:00
Brown
4046b44903
fix #2010 - properties with defaults should work with static type
2019-08-12 14:29:14 -04:00
Matthew Brown
7ed30cd5b0
Add support for @readonly annotation
2019-08-11 16:01:37 -04:00
Brown
5254b7501e
Fix #1996 - detect unused variable in static property name
2019-08-09 12:55:47 -04:00
Brown
fc8d2bd563
Do more taint creation for magic properties
2019-08-06 14:27:21 -04:00
Brown
37d93141c4
Only register taints on known magic properties
2019-08-06 13:05:34 -04:00
Matthew Brown
8f6d432dd0
Add support for magic property comprehension
2019-08-05 23:19:22 -04:00
Matthew Brown
b2c0993cdc
Add framework for taint analysis to Psalm
...
Ref #611
2019-08-04 10:37:36 -04:00
Brown
e7aadee88f
Fix #1931 - narrow down property assignment
2019-07-10 13:49:11 -04:00
Matthew Brown
1ae9ea5fed
Use object instead of by-ref params
2019-07-10 01:35:57 -04:00
Matthew Brown
d29c7b42d9
Fix #1869 - don’t memoize magic properties after set
2019-07-06 00:00:17 -04:00
Matthew Brown
f5809ec24a
Only add node references to explicit locations
2019-07-01 11:12:12 -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
0145e60e6a
Allow property default to include value-of option
2019-06-09 12:47:27 -04:00
Brown
f309c755f8
Add ability to move classes
2019-06-05 08:50:24 -04:00
Matthew Brown
a9809ab28a
Add property moving & renaming
2019-06-04 00:32:19 -04:00
Matthew Brown
5861476765
Don’t remove null after magic property fetch
2019-05-27 09:18:34 -04:00
Matthew Brown
790bc53bfd
Fix #1681 - interpret parent annotation properly
2019-05-25 11:51:09 -04:00
Matthew Brown
569d82641d
Ignore PossiblyNullReference on synthetic method calls
2019-05-24 14:09:01 -04:00
Matthew Brown
13b9e133e4
Fix Psalm errors
2019-05-24 02:15:35 -04:00
Matthew Brown
c80f9d8ecd
Add class-based support for key-of
...
Ref #762
2019-05-24 02:12:58 -04:00
Barney Laurance
6fbe2b0837
Extract function NamespaceAnalyzer::nameSpaceRootsMatch
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
cd673538f1
psalm-internal - refactor - use snake_case not camelCase
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
Matthew Brown
e08944cae0
Allow diff mode with --find-dead-code
2019-04-27 17:38:24 -04:00
Brown
0e4c8ce482
Split apart TypeCoercion issues, allowing more granular issue filtering
2019-04-25 18:02:19 -04:00
Matthew Brown
9be8013633
Add a way to ignore variable method & property calls
2019-04-20 17:49:49 -04:00
Brown
d6de6ca5d5
Prevent removing properties on classes with variable assignment
2019-04-18 14:47:58 -04:00
Brown
80e28d6a4a
Add support for unused method & property automated removal
2019-04-17 11:12:18 -04:00
Brown
26e2de93c7
Prepare to enable paralellised use of --find-dead-code
...
References #1548
2019-04-12 18:28:07 -04:00
Brown
be5a262deb
Add better handling for non-edge-case function calls
2019-04-11 14:53:21 -04:00
Brown
9447cd2d98
Prevent scalar property assertion error
2019-04-03 10:59:27 -04:00
Matthew Brown
ee56419fd6
Improve accuracy and durability of mixed counts
2019-03-23 09:50:47 -04:00
Brown
8d06c6a700
Fix #1480 by remembering where a property was set
2019-03-19 19:43:18 -04:00
Matthew Brown
de7df3175b
Fix #1368 - improve message formatting
2019-03-16 12:53:54 -04:00
Brown
ae69695f89
Prevent tests in PHP 7.1
2019-03-05 18:27:25 -05:00
Matthew Brown
317f790bde
New plugin hooks ( #1405 )
...
* Add a bunch of new hooks
* Add more integrations
* Add some broken tests
* Add more things
* Fix remaining interfaces
* Suppress proper issue
* UndefinedMethod should not stop analysis
* Add handlers for two custom method return types
2019-03-01 08:57:10 -05:00
Matthew Brown
3ad1abece4
Add generation of json artifacts
2019-02-24 01:33:25 -05:00
Bruce Weirdan
8408effe57
Dropped unused uses
2019-02-17 13:17:45 -05:00