Brown
|
cf1a8ac5fc
|
Suppress taints in instance properties
|
2020-07-02 12:08:42 -04:00 |
|
Brown
|
67b2edc328
|
Allow more things to be suppressed with @psalm-suppress TaintedInput
|
2020-07-02 11:53:51 -04:00 |
|
Brown
|
ae7c5b095b
|
Fix #3712 - allow taints to be suppressed with @psalm-suppress
|
2020-07-01 23:23:45 -04:00 |
|
Brown
|
70ab4c18f4
|
Fix #3720 - allow literal unions in keys to map to object-like arrays
|
2020-07-01 18:57:19 -04:00 |
|
Brown
|
fca350c498
|
Prevent a few crashes with really bad code
|
2020-07-01 10:30:10 -04:00 |
|
Brown
|
b84cf74754
|
Fix #3668 - taint property types for magic properties without @property
|
2020-06-25 00:24:37 -04:00 |
|
Brown
|
8f2e28c36b
|
Improve tainting of specializable classes
|
2020-06-19 01:22:51 -04:00 |
|
Brown
|
49f0592794
|
Improve tracking of array taints
|
2020-06-18 18:48:19 -04:00 |
|
Brown
|
f609a01497
|
Move static property fetch analyzer to own class
|
2020-06-18 11:53:24 -04:00 |
|
Brown
|
953be61cf2
|
Allow limiting connected taint paths
|
2020-05-25 23:28:11 -04:00 |
|
Brown
|
63c3678ae5
|
Improve property location resolution
|
2020-05-22 12:33:38 -04:00 |
|
Matthew Brown
|
187b944680
|
Add faster taint analysis
|
2020-05-22 12:33:29 -04:00 |
|
Brown
|
f335560b69
|
Allow setting property on templated type
|
2020-05-19 17:31:05 -04:00 |
|
Brown
|
0b2da18f1e
|
Break up StatementsAnalyzer
|
2020-05-19 12:56:30 -04:00 |
|
Brown
|
5ee1487a01
|
Make ExpressionAnalyzer more beautiful
|
2020-05-18 15:13:27 -04:00 |
|
Brown
|
2af0a17d03
|
Fix #3236 - allow use-checking of more methods starting with __
|
2020-05-12 22:39:26 -04:00 |
|
Brown
|
8f2f2617d4
|
Improve refactor
|
2020-05-10 22:45:01 -04:00 |
|
Brown
|
5f4d162dd5
|
Break out type expander into separate class
|
2020-05-10 22:39:18 -04:00 |
|
Brown
|
73f8f963fa
|
Expand out class constants as early as possible
Fixes #3128
|
2020-04-12 20:38:36 -04:00 |
|
Brown
|
bd92ec6cd3
|
Detect nested issues
|
2020-04-09 10:42:54 -04:00 |
|
Brown
|
bd2104c5ba
|
Merge with mixed in nested arrays
|
2020-04-09 09:27:21 -04:00 |
|
Brown
|
067104e170
|
Fix #3084 - keep track of upper and lower bounds of inferred template types
|
2020-04-07 00:13:56 -04:00 |
|
Brown
|
5876635d6d
|
Always be clonin
|
2020-04-01 00:45:29 -04:00 |
|
Matthew Brown
|
de6aee32d1
|
Fix #3035 - improve templating for property assignments
|
2020-03-28 17:18:21 -04:00 |
|
Brown
|
971ae50bea
|
Do prep work for #3024 - improve handling of absent class references
|
2020-03-26 12:35:27 -04:00 |
|
Matthew Brown
|
f94ab22a5f
|
Be better about strict inference
|
2020-03-25 09:18:49 -04:00 |
|
Matthew Brown
|
2c0cf4030f
|
Detect assigning collections of mutable objects in immutable
Fixes #2946
|
2020-03-15 00:21:20 -04:00 |
|
Matthew Brown
|
acac77b3f0
|
Improve message
|
2020-03-14 01:19:50 -04:00 |
|
Matthew Brown
|
0aca01faea
|
Improve fix to #2805
|
2020-03-14 01:09:12 -04:00 |
|
Matthew Brown
|
c5fa07920c
|
Fix improper property var calculation
Ref #1332
|
2020-03-11 11:03:27 -04:00 |
|
Matthew Brown
|
1abece4f7c
|
Use more accurate types
|
2020-02-23 17:03:27 -05:00 |
|
Matthew Brown
|
b01bc9ab12
|
Fix union-of-mixed array key creation
|
2020-02-22 21:13:14 -05:00 |
|
Matthew Brown
|
4dae5b3190
|
Prevent more mixed array keys
|
2020-02-22 20:52:39 -05:00 |
|
Matthew Brown
|
6ad3d039df
|
Prevent more array<mixed,...> creation
|
2020-02-22 12:12:40 -05:00 |
|
Matthew Brown
|
653353709a
|
Use MethodIdentifier object instead of string
|
2020-02-14 20:54:26 -05:00 |
|
Matthew Brown
|
93fc1b1cc7
|
Fix #2729 - allow mutation of otherwise-readonly properties
|
2020-02-02 15:35:12 -05:00 |
|
Matthew Brown
|
b351df0483
|
Fix typo
|
2020-01-07 01:06:51 -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 |
|
Matthew Brown
|
9fa2db1b6c
|
Move Union::getTypes to Union::getAtomicTypes
|
2020-01-04 12:20:26 -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
|
068afa09d3
|
Add very basic implementation for class-string-map
Fixes #1969
|
2019-12-27 12:49:28 -05:00 |
|
Matthew Brown
|
2f2cd85a6a
|
Identify invalid static property array assignment
|
2019-12-27 10:34:51 -05:00 |
|
Matthew Brown
|
ee35db5a3b
|
Refine assignment somewhat
|
2019-12-22 12:43:57 +00:00 |
|
Matthew Brown
|
141bfd313f
|
Improve handling of assignments in arrays
|
2019-12-22 12:36:16 +00:00 |
|
Matthew Brown
|
cc3df7d6be
|
Remove errant comma
|
2019-12-18 23:50:57 +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
|
090ad90de3
|
Fix build issues
|
2019-12-15 13:28:38 -05:00 |
|
Matthew Brown
|
72f3c306d7
|
Fix #2471 - don’t erroneously template class-strings
|
2019-12-15 13:23:04 -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 |
|
Brown
|
0bcb7863f3
|
Use better system for storing inferred types and assertions
|
2019-11-25 11:44:54 -05:00 |
|
Brown
|
7516b7b0cf
|
Fix #2336 - detect used variable in mixed array offset
|
2019-11-13 13:38:34 -05:00 |
|
Brown
|
895737d8be
|
Fix style
|
2019-11-08 12:49:53 -05:00 |
|
Brown
|
ac6256e645
|
Fix #2312, improve understanding of template replacement
|
2019-11-08 11:56:41 -05:00 |
|
Matthew Brown
|
d7e435c352
|
Add slashes
|
2019-11-05 19:08:16 -05:00 |
|
Matthew Brown
|
050045209f
|
Only allow string offset assignment when offset is integer
|
2019-11-05 19:05:43 -05:00 |
|
Matthew Brown
|
cbaf050bd2
|
Fix #2307 - allow setting of array string offset
|
2019-11-05 19:03:59 -05:00 |
|
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 |
|
Matthew Brown
|
7e2d00d6ed
|
Allow taints to be added to root array types
|
2019-10-12 12:23:40 -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
|
16c33d1565
|
Add support for list type
Fixes #2209
|
2019-10-08 18:44:46 -04:00 |
|
Brown
|
94001aad4a
|
Fix #2208 - handle templated property types appropriately
|
2019-10-04 13:51:36 -04:00 |
|
Brown
|
549aee47f1
|
Fix bug asserting array emptiness
|
2019-10-03 15:27:55 -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
|
095ea1a554
|
Properly clone array when changing value
|
2019-08-27 17:00:00 -04:00 |
|
Matthew Brown
|
c5f62d261d
|
Remove redundant @psalm-suppress in Psalm’s codebsae
|
2019-08-18 16:10:12 -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
|
d0f6f85dba
|
Fix #1899 - detect dead code after array assignment
|
2019-07-04 16:38:31 -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 |
|