Adrien LUCAS
|
0f5886746f
|
Taint specialized calls even when not using a variable (#4940)
|
2021-01-06 14:14:52 -05:00 |
|
orklah
|
f9fccb2b2d
|
implement DTO for plugins (#4881)
* implement DTO for plugins
* introduce EventHandler + reintroduce legacy API for plugins
|
2021-01-06 09:05:53 -05:00 |
|
Matthew Brown
|
3fd47f9e10
|
Add comments to AtomicMethodCallAnalyzer and suppress ComplexMethod
|
2021-01-05 19:03:50 -05:00 |
|
2e3s
|
d8d6811ed4
|
Memoize private inferred mutation-free methods (#4832)
|
2020-12-12 10:26:14 -05:00 |
|
Matt Brown
|
524084a64c
|
Tighten up rules arouund when mutation-free methods get memoised
|
2020-12-08 16:39:06 -05:00 |
|
2e3s
|
e46c68b1e5
|
Overwrite memoized return type after sum-type candidate is calculated (#4805)
* Overwrite memoized return type after sum-type candidate is calculated
* Fix mismatched types
* Fix code style
|
2020-12-08 09:35:11 -05:00 |
|
Matt Brown
|
46b202731c
|
Fix check
|
2020-11-29 18:28:32 -05:00 |
|
Matt Brown
|
58b306b6e3
|
Ensure class template types are mapped to static methods where necessary
Ref #4733
|
2020-11-29 17:40:52 -05:00 |
|
Matt Brown
|
ea314cc1c0
|
Simplify calling of replacer methods
|
2020-11-29 16:27:00 -05:00 |
|
Matt Brown
|
4d22723525
|
Break out replacement of templated types with their inferred result
|
2020-11-29 16:16:16 -05:00 |
|
Matt Brown
|
6db8132b4c
|
Simplify call analysers a bit
Ref #4714
|
2020-11-27 16:31:10 -05:00 |
|
Matt Brown
|
5f065d3d74
|
Turn template bound tuples into object
Ref #4714
|
2020-11-27 11:43:30 -05:00 |
|
Matt Brown
|
95de6cf177
|
Allow immutable classes to be specialised through calls
|
2020-11-19 01:38:20 -05:00 |
|
Matt Brown
|
236292ff05
|
Fix #4600 - set attributes in a bunch of places
|
2020-11-18 12:44:59 -05:00 |
|
Matt Brown
|
3f7f959726
|
Fix #4599 - propagate taints to parent callers where necessary
|
2020-11-18 09:59:54 -05:00 |
|
Matt Brown
|
42802e11d1
|
Allow PHP major version to determine substr return type
|
2020-11-16 16:31:33 -05:00 |
|
Matt Brown
|
0be4f2fedf
|
Fix/ignore reflection bugs
|
2020-11-08 14:27:37 -05:00 |
|
Matt Brown
|
20e37d8cb6
|
Add a comment to show workings
|
2020-11-08 13:08:45 -05:00 |
|
Matt Brown
|
24c9702aa5
|
Remove unused imports
|
2020-11-08 12:31:21 -05:00 |
|
Matt Brown
|
6da0905478
|
Separate out good from the bad
|
2020-11-08 12:29:23 -05:00 |
|
Matt Brown
|
91d9dc3759
|
Fix overeager inference
|
2020-11-03 16:44:24 -05:00 |
|
Matt Brown
|
4aef96bbac
|
Use lists everywhere for args
|
2020-10-28 12:45:26 -04:00 |
|
orklah
|
ceaaa39ec3
|
improve phpdoc (#4352)
|
2020-10-17 12:36:44 -04:00 |
|
Matt Brown
|
da257a0fa5
|
Break apart InstancePropertyFetchAnalyzer and others
|
2020-10-15 09:21:44 -04:00 |
|
Matt Brown
|
724b25b918
|
Change control_flow_graph to data_flow_graph
|
2020-10-13 17:28:12 -04:00 |
|
Matt Brown
|
516141a380
|
Rename ControlFlowGraph to more appropriate DataFlowGraph
|
2020-10-13 16:49:03 -04:00 |
|
Matt Brown
|
009b33b17d
|
Support @no-named-args when calling in PHP 8
|
2020-10-02 20:58:51 -04:00 |
|
Matt Brown
|
14efde286f
|
4.x - refactor unused variable detection
This turns unused variable detection into an explicit control-flow problem, where before we had a more simplistic mark-and-sweep algorithm
|
2020-09-30 12:28:13 -04:00 |
|
Brown
|
19f88a2e31
|
Add improvements from unused variable checks
|
2020-09-28 00:45:02 -04:00 |
|
Brown
|
da65a4327f
|
Move taint graph functionality into its own object
|
2020-09-25 00:37:40 -04:00 |
|
Brown
|
56cddd16bf
|
Rename TaintGraph to ControlFlowGraph because it’s about to do more
|
2020-09-20 23:59:52 -04:00 |
|
Brown
|
0f6a271858
|
Improve file-based suppression of taints
|
2020-09-20 19:37:25 -04:00 |
|
Brown
|
2968b3b065
|
Add to StatementsAnalyzer taint object instead of Context
|
2020-09-20 18:42:21 -04:00 |
|
Brown
|
abb9502921
|
Rename Taint object to TaintGraph
|
2020-09-20 18:27:02 -04:00 |
|
Brown
|
f78fbbe4c9
|
Fix #4146 - allow null checks on Iterator::current output
|
2020-09-07 11:40:36 -04:00 |
|
orklah
|
8c7423505a
|
add native param types (#4137)
* add native param types
* redundant phpdoc
* add more param types and adds "?" to nullable types
* remove redundant phpdoc
* add more param types and remove redundant phpdoc
* add more param types and remove redundant phpdoc
|
2020-09-06 19:36:47 -04:00 |
|
orklah
|
f66d57f19d
|
add native return types (#4116)
* add native return types
* remove redundant phpdoc
|
2020-09-04 16:26:33 -04:00 |
|
orklah
|
73f6fcde48
|
Short list syntax (#4102)
* Short list syntax
* revert unrelated CS
|
2020-09-02 00:17:41 -04:00 |
|
Brown
|
f105f6aca9
|
Fix Psalm errors
|
2020-09-01 13:21:24 -04:00 |
|
Brown
|
b5279cd7d4
|
Fix erroneous Closure::__invoke return type
|
2020-09-01 12:33:25 -04:00 |
|
Brown
|
9935f647ab
|
Fix some magic method calls when a return type provider exists
|
2020-08-31 18:56:45 -04:00 |
|
Brown
|
efe143a396
|
Fix #4077 - always track closure purity
|
2020-08-28 12:42:55 -04:00 |
|
Brown
|
4e10a0ed6f
|
Fix #4036 - add immutable annotations automatically too
|
2020-08-24 19:29:00 -04:00 |
|
Brown
|
67f9adb33c
|
Allow adding pure annotations to functions
Ref #4036
|
2020-08-23 10:28:26 -04:00 |
|
Daniel Melchior
|
17ed440f2e
|
fix #4013: prevent exception when two mixins declare methods with same name (#4018)
fixes #4013
|
2020-08-18 08:38:30 -04:00 |
|
the-toster
|
3a1c861c43
|
minor: typo in message (#3960)
|
2020-08-08 08:08:57 -04:00 |
|
Daniel Melchior
|
fa73c7c9d9
|
Fix #3757 - allow multiple mixins (#3772)
|
2020-08-05 15:49:19 -04:00 |
|
Brown
|
abe91adbe7
|
Fix #3801 - convert static to Foo&static when @method is given
|
2020-07-30 09:42:23 -04:00 |
|
Brown
|
e398535f9f
|
Fix #3872 - detect namespace violations in non-methods
|
2020-07-26 10:42:04 -04:00 |
|
Brown
|
3687d34a5a
|
Detect bad class constants more explicitly
|
2020-07-24 15:38:56 -04:00 |
|