Brown
|
af5f83602e
|
Break out more specific possibly defined offset errors
|
2019-11-11 09:59:56 -05:00 |
|
Matthew Brown
|
94d4b876ba
|
Fix #2177 - mark variables in try block as potentially undefined
|
2019-11-09 12:25:30 -05:00 |
|
Brown
|
06b64a4a01
|
Detect erroneous use of empty check on bools
|
2019-11-06 16:14:46 -05:00 |
|
Matthew Brown
|
5910a362ea
|
Improve report output of taint analysis
|
2019-10-19 17:59:10 -04:00 |
|
Matthew Brown
|
e5623e9257
|
Fix function call
|
2019-10-11 23:33:36 -04:00 |
|
Matthew Brown
|
4478d31593
|
Taint arrays in creation
|
2019-10-11 23:28:17 -04:00 |
|
Matthew Brown
|
03c39cbe7c
|
Fix #2223 - make sure lists are handled in more places
|
2019-10-10 20:16:43 -04:00 |
|
Brown
|
b75720c32b
|
Add more list types
|
2019-10-09 10:04:34 -04:00 |
|
Brown
|
2d4a7fbe3e
|
Fix array fetch analysis offset
|
2019-10-08 19:01:00 -04:00 |
|
Brown
|
16c33d1565
|
Add support for list type
Fixes #2209
|
2019-10-08 18:44:46 -04:00 |
|
Brown
|
b0aaede9e1
|
Add support for checking integer array offsets
|
2019-10-04 11:08:08 -04:00 |
|
Matthew Brown
|
d85fbaec09
|
Add stricter checks after first isset
|
2019-10-03 21:34:56 -04:00 |
|
Brown
|
d225374d6d
|
Fix #2156 - do better inference after isset
|
2019-10-01 19:31:08 -04:00 |
|
Brown
|
a81c3067ad
|
Store the whole type
|
2019-10-01 17:09:32 -04:00 |
|
Matthew Brown
|
f8a2eae0e2
|
Fix #2186 - use expanded class name for aliased class
|
2019-09-30 22:15:48 -04:00 |
|
Brown
|
2c9a082b3e
|
Fix #2172 - only complain about missing offset if it’s really missing
|
2019-09-25 19:02:49 -04:00 |
|
Brown
|
648dda67ed
|
Fix Psalm issues
|
2019-09-25 13:12:29 -04:00 |
|
Brown
|
1a48be8e9c
|
Fix #2165 - coerce null array offset to zero
|
2019-09-25 12:17:37 -04:00 |
|
Brown
|
c68dcf2f74
|
Don’t coerce false to null when coming from ignore-false type
|
2019-09-20 15:30:29 -04:00 |
|
Brown
|
be4894c8e0
|
Fix #2155 - coerce false to 0, true to 1 in array offset
|
2019-09-20 15:21:38 -04:00 |
|
Matthew Brown
|
9ad6c36d9b
|
Conditionally verify that array offsets exist (#2147)
* Check array offsets idea
* Clean up some issues
* Add a few light fixes
* Add docs
|
2019-09-18 14:21:06 -04:00 |
|
Matthew Brown
|
0b4981f01b
|
Fix #1551 - do better at inferring class constant types
|
2019-09-14 14:26:31 -04:00 |
|
Matthew Brown
|
d941294a84
|
Move class const analysis
|
2019-09-14 13:12:54 -04:00 |
|
Matthew Brown
|
d27935d109
|
Improve accuracy around array addition
|
2019-09-08 10:23:12 -04:00 |
|
Brown
|
aba3659311
|
Add more specific key coercion rules when assigning to arrays
|
2019-08-27 15:12:25 -04:00 |
|
Brown
|
4db8ca6a1d
|
Cleanup extra issues from recent fixes
|
2019-08-27 14:16:34 -04:00 |
|
Brown
|
3b865f6509
|
Fix #2048 - allow mixed array to be assigned specific string keys
|
2019-08-27 10:18:58 -04:00 |
|
Brown
|
fef61e996e
|
Propagate possibly-null issues onto fetched properties
|
2019-08-23 13:27:38 -04:00 |
|
Matthew Brown
|
1b983babd0
|
Allow unset of potentially invalid array key type
|
2019-08-18 18:06:41 -04:00 |
|
Matthew Brown
|
62dff200d5
|
Fix redundant condition
|
2019-08-17 18:02:38 -04:00 |
|
Matthew Brown
|
b6dc8f547e
|
Fix #2031 - still get class const return type after defined check
|
2019-08-17 18:01:24 -04:00 |
|
Brown
|
538abbc54c
|
Fix #2020 - allow static::CONST_NAME to have non-mixed type in final class
|
2019-08-15 10:41:30 -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 |
|
Matthew Brown
|
d5b026839c
|
Add support for different taint types ref #1990
|
2019-08-12 23:16:05 -04:00 |
|
Brown
|
37d93141c4
|
Only register taints on known magic properties
|
2019-08-06 13:05:34 -04:00 |
|
Brown
|
0dc6b74fb4
|
Add taintedness to magic property fetches
|
2019-08-06 12:54:12 -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 |
|
Matthew Brown
|
1ae9ea5fed
|
Use object instead of by-ref params
|
2019-07-10 01:35:57 -04:00 |
|
Matthew Brown
|
d0f6f85dba
|
Fix #1899 - detect dead code after array assignment
|
2019-07-04 16:38:31 -04:00 |
|
Brown
|
5c76b3c82d
|
Fix #1888 - add go-to-variable
|
2019-07-01 18:48:33 -04:00 |
|
Matthew Brown
|
f5809ec24a
|
Only add node references to explicit locations
|
2019-07-01 11:12:12 -04:00 |
|
Brown
|
62c37a84f2
|
Fix tokenising bug found while analysing Phan cc @TysonAndre
|
2019-06-28 12:29:39 -04:00 |
|
Brown
|
6b32565a9b
|
Allow references to deprecated class inside the class
|
2019-06-27 13:36:39 -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 |
|
Brown
|
5ed49c0c03
|
Fixed #1848 - allow static class strings to be compared
|
2019-06-26 15:11:16 -04:00 |
|
Matthew Brown
|
31c8a2e4d7
|
Add offsets to type tokenisation
Ref #1832
|
2019-06-22 23:30:40 -04:00 |
|
Brown
|
bdf54ae1fa
|
Fix #1814 - warn about deprected ::class access
|
2019-06-19 12:42:51 -04:00 |
|
Brown
|
10613192c9
|
Fix #1803 - complain about DeprecatedClass when using its constants
|
2019-06-18 16:21:04 -04:00 |
|
Matthew Brown
|
f46ccf0a5d
|
Strip text from end of @psalm-type
|
2019-06-16 12:39:07 -04:00 |
|
Matthew Brown
|
06e913e37b
|
Fix #1791 - complain about missing class constants
|
2019-06-15 12:19:26 -04:00 |
|
Matthew Brown
|
b0678bdc74
|
Improve treatment of key-of
Ref #1698
|
2019-06-07 21:27:50 -04:00 |
|
Matthew Brown
|
0287adfd44
|
Fix const replacements when moving classes
|
2019-06-06 07:05:30 -04:00 |
|
Brown
|
3e15fa8bfe
|
Fix bad namespacing
|
2019-06-05 11:15:52 -04:00 |
|
Brown
|
f309c755f8
|
Add ability to move classes
|
2019-06-05 08:50:24 -04:00 |
|
Brown
|
c7f35c263c
|
Fix #1737 properly
|
2019-06-04 14:08:49 -04:00 |
|
Brown
|
67c9851b95
|
Fix Psalm bug, and add test to capture it
|
2019-06-04 13:43:11 -04:00 |
|
Brown
|
778b95d335
|
Add support for moving class constants
|
2019-06-04 11:14:49 -04:00 |
|
Matthew Brown
|
a9809ab28a
|
Add property moving & renaming
|
2019-06-04 00:32:19 -04:00 |
|
Matthew Brown
|
2439a9f6a0
|
Allow instance method renaming, too
|
2019-06-02 12:02:39 -04:00 |
|
Matthew Brown
|
7e4de611bf
|
Migrate class references in static calls
|
2019-06-01 10:07:45 -04:00 |
|
Matthew Brown
|
a252fb84da
|
Fix namespaced method moving
|
2019-06-01 01:33:21 -04:00 |
|
Matthew Brown
|
cc89b9254d
|
Add initial ideas for moving static methods
Ref #1595
|
2019-06-01 00:56:54 -04:00 |
|
Matthew Brown
|
f5e4b9b45f
|
Fix #1713 - don’t crash when a property is unset
|
2019-05-31 19:49:24 -04:00 |
|
Matthew Brown
|
f961da53b7
|
Fix typos
|
2019-05-30 08:53:20 -04:00 |
|
Matthew Brown
|
0555bd9ff6
|
Prevent InternalMethod at implicit __get
|
2019-05-30 08:50:50 -04:00 |
|
Brown
|
cf02e9c22c
|
Fix access on matched T[K]
|
2019-05-27 18:36:34 -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
|
574545e149
|
Add initial support for key-of<T>
Ref #762
|
2019-05-23 23:53:48 -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 |
|
Brown
|
6ce5fefa4b
|
Fix #1664 - allow templated __get params
|
2019-05-23 12:59:09 -04:00 |
|
Brown
|
9a93525d33
|
Emit undefined docblock class error where appropriate on property fetcthes
|
2019-05-16 15:07:07 -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
|
ce5d307f83
|
psalm-internal - present fetching internal property from other namespace
|
2019-05-14 18:54:16 -04:00 |
|
Brown
|
9b75683796
|
Search better, and avoid fatal error
|
2019-05-09 19:34:38 -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
|
ff14f671b1
|
Add hopefully-more-portable method for evaluating method/property usage
|
2019-04-16 16:07:48 -04:00 |
|
Brown
|
26e2de93c7
|
Prepare to enable paralellised use of --find-dead-code
References #1548
|
2019-04-12 18:28:07 -04:00 |
|
Brown
|
8f1dbc072d
|
Allow empty offset sets on arrayaccess objects
|
2019-04-10 17:25:25 -04:00 |
|
Tyson Andre
|
2e6a2f14ed
|
Fix typos in psalm with codespell's dictionary
|
2019-03-24 23:01:20 -04:00 |
|
Matthew Brown
|
ee56419fd6
|
Improve accuracy and durability of mixed counts
|
2019-03-23 09:50:47 -04:00 |
|
bugreportuser
|
e31cfa503d
|
Allow reconciling superglobal types
|
2019-03-16 12:49:38 -04:00 |
|
Matthew Brown
|
ab832207a4
|
Fix #1453 - traits are not valid classes
|
2019-03-15 22:12:35 -04:00 |
|
Brown
|
85f34f2aca
|
Add defining class and increas string length
|
2019-03-12 12:58:04 -04:00 |
|
bugreportuser
|
0e9fb04f06
|
Define globals in more places
|
2019-03-11 15:53:21 -04:00 |
|
Matthew Brown
|
95b986d2d4
|
Fix #1367 - allow assertions on mixed arrays to define objectlike type
|
2019-03-10 23:38:30 -04:00 |
|
bugreportuser
|
b34dbe26e2
|
Allow setting superglobal types
|
2019-03-06 15:59:41 -05:00 |
|
bugreportuser
|
056e5a5b1e
|
Allow setting globals in config
|
2019-03-06 15:59:41 -05:00 |
|
Brown
|
ae69695f89
|
Prevent tests in PHP 7.1
|
2019-03-05 18:27:25 -05:00 |
|
Matthew Brown
|
b7320e2778
|
Remove unnnecessary param
|
2019-03-03 16:45:35 -05:00 |
|