1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-14 10:17:33 +01:00
Commit Graph

6829 Commits

Author SHA1 Message Date
Bruce Weirdan
e4ead74879
Use fully-qualified name for virtual class strings
Fixes vimeo/psalm#6211
2021-08-01 02:22:16 +03:00
Bruce Weirdan
2562e37e60
Scan preloaded stubs earlier
This should prevent Psalm from sometimes marking user-defined classes as
built-in.

Fixes vimeo/psalm#5126
Fixes vimeo/psalm#5626
2021-08-01 01:36:37 +03:00
orklah
d22b4b3c23 forgot an occurence of > 2021-07-31 22:24:07 +02:00
orklah
2a9ddab738 replace +/- by >/< 2021-07-31 22:06:36 +02:00
orklah
5f764b9d8f replace > by @ 2021-07-31 21:59:35 +02:00
orklah
059eb5e29d break the > assertion thing to see what start to fall apart 2021-07-31 21:54:15 +02:00
orklah
565336febd fix mistake 2021-07-31 18:52:28 +02:00
orklah
a6431c4055 fix comment 2021-07-31 18:47:17 +02:00
orklah
3230ee8bcb fix mistakes 2021-07-31 17:57:07 +02:00
orklah
f3fb20efc5 threshold for too heavy conditions 2021-07-31 16:54:27 +02:00
orklah
67318b33f7 fix reconciliation when a bound is null 2021-07-31 16:02:58 +02:00
orklah
a8efe58784 fix isset assertion 2021-07-31 15:47:12 +02:00
orklah
c5165710d3 fix comparison 2021-07-31 15:47:12 +02:00
orklah
a6fa63a0cf allow checking if an int is contained inside a range 2021-07-31 15:47:12 +02:00
orklah
128a811174 add internal assertions for superior and inferior 2021-07-31 15:47:12 +02:00
orklah
7e137f5b95
Improve internals of TIntRange (#6208)
* Improve internals of TIntRange

* fix PositiveInt aliasing
2021-07-31 09:19:20 -04:00
orklah
ba9f7d09ac fix CS 2021-07-30 22:22:38 +02:00
orklah
0252a65e0d fix syntax 2021-07-30 21:46:11 +02:00
orklah
1e3e6a85e4 introduce basic integer range 2021-07-30 21:44:51 +02:00
Bruce Weirdan
9414b11c2f
Merge pull request #6204 from orklah/class-string-attributes 2021-07-29 22:35:42 +03:00
Bruce Weirdan
4cb9d8ceec
Merge pull request #6205 from orklah/typos
fix typos
2021-07-29 22:31:03 +03:00
orklah
d0fe1528b6 fix typos 2021-07-29 20:59:52 +02:00
orklah
a1c4ece7bd Create a virtual ClassConstFetch when encountering a TLiteralClassString 2021-07-29 20:23:53 +02:00
Bruce Weirdan
7aa5564047
Merge pull request #6192 from orklah/array_replace_not_nullable
make array_replace and array_replace_recursive not nullable
2021-07-28 00:20:46 +03:00
orklah
d9df3211c5 make array_replace and array_replace_recursive not nullable 2021-07-27 23:02:41 +02:00
Jack Robertson
f0193f20fa Consider print, and conditionally exit / die impure 2021-07-27 13:26:54 +01:00
Bruce Weirdan
ae0c8f57fd
Merge pull request #6187 from orklah/wrong-nullable-type 2021-07-27 00:52:20 +03:00
orklah
06af927f12 fix an error I made a few months ago 2021-07-26 23:09:27 +02:00
orklah
72d60249a9 Inaccurate error with different types in PHPDoc and typehint 2021-07-26 23:03:00 +02:00
Bruce Weirdan
4d99fbcce0
Merge pull request #6185 from orklah/typo
fix wrong wording from #6083
2021-07-26 23:00:42 +03:00
orklah
2259113727 fix wrong wording 2021-07-26 21:09:12 +02:00
Bruce Weirdan
358f83d66b
Merge pull request #6181 from Jack97/date-time-interface-type-reconciliation 2021-07-26 16:28:10 +03:00
Jack Robertson
0e6160c1e0 Update DateTimeInterface type reconciliation 2021-07-26 13:41:52 +01:00
Bruce Weirdan
82dfbbc12e
Merge pull request #6167 from orklah/non-div-with-numeric-and-int 2021-07-25 13:56:48 +03:00
orklah
55245cf558 Arithmetic operation between numeric and int or float gives int|float 2021-07-25 12:29:11 +02:00
Bruce Weirdan
783dc610df
Merge pull request #6172 from Jack97/malformed-parentheses 2021-07-25 13:08:23 +03:00
Jack Robertson
ce6642d1aa Handle malformed parentheses 2021-07-25 10:43:34 +01:00
Bruce Weirdan
aa23aa5387
Merge pull request #6166 from orklah/StringIncrementOnNumericString 2021-07-24 23:27:17 +03:00
orklah
f63f1b5d2a use is_numeric for checking if a Literal is numeric 2021-07-24 21:44:12 +02:00
orklah
9189fa1745 add tests and code for handling LiteralString that are Numeric 2021-07-24 21:21:50 +02:00
orklah
b48a42ffab don't try to handle preinc/postinc 2021-07-24 21:18:11 +02:00
Jack Robertson
1c0de36795 Support array_slice template parameter return type inference 2021-07-24 16:09:29 +01:00
Bruce Weirdan
3caceb7131
Merge pull request #6169 from orklah/numeric-strictBinaryOperands 2021-07-24 15:45:42 +03:00
orklah
1a41ee4dd4 keep wording consistency 2021-07-24 11:18:50 +02:00
orklah
7146c646e3 Trigger InvalidOperand when processing two numeric types in strict operands mode 2021-07-24 11:04:09 +02:00
orklah
4b660aa941 handle every increment/decrement 2021-07-24 10:51:10 +02:00
orklah
8189409bd4 refine documentation 2021-07-23 21:41:31 +02:00
orklah
c8ee73ce30 Allow increment on numeric-string 2021-07-23 21:10:29 +02:00
Bruce Weirdan
198fdf876e
Merge pull request #6142 from orklah/trigger_error 2021-07-23 09:22:55 +03:00
Matthew Brown
43cff22b25 Add support for native PHP readonly 2021-07-21 13:29:07 -04:00
Bruce Weirdan
052c7478cc
Unary plus and minus mark operand as used
Fixes vimeo/psalm#6145
2021-07-21 01:15:51 +03:00
orklah
58dd3f6f94 change wording 2021-07-20 23:53:04 +02:00
orklah
9ff0fceb71 CS changes 2021-07-20 23:41:11 +02:00
orklah
9160a4e8a6 review 2021-07-20 23:37:34 +02:00
orklah
acfdb82856 Basic implementation 2021-07-20 23:34:38 +02:00
Bruce Weirdan
b149097086
Replace array cast with get_object_vars() which Psalm understands 2021-07-20 23:26:15 +03:00
Nathan Dench
39555a2df8 add type signature in XmlReport 2021-07-20 21:54:44 +10:00
Nathan Dench
ca2c125218 fix: Handle DataFlowNodeData in XmlReport 2021-07-20 21:39:09 +10:00
Bruce Weirdan
7bcefb783a
Simplify InstancePropertyAssignmentAnalyzer::analyzeAtomicAssignment()
... to fix build issues.
2021-07-20 00:08:49 +03:00
Bruce Weirdan
0317f1dbec
Merge pull request #6130 from weirdan/forbid-dynamic-access-to-static-props 2021-07-19 16:11:29 +03:00
Bruce Weirdan
d992331125
Expand magic properties
Fixes vimeo/psalm#4344
Fixes vimeo/psalm#5663
Fixes vimeo/psalm#5639
Fixes vimeo/psalm#5955
Fixes vimeo/psalm#3272
2021-07-18 23:43:33 +03:00
Bruce Weirdan
b589525eb1
Merge pull request #6131 from orklah/bindtextdomain
makes bindtextdomain impure
2021-07-18 16:53:59 +03:00
Bruce Weirdan
7418e6e167
grammar 2021-07-18 16:52:00 +03:00
orklah
f1269d2425 makesbindtextdomain impure 2021-07-18 14:24:43 +02:00
Bruce Weirdan
a180dc6099
Flag staticness mismatch
This handles two new cases:
1. Accessing static property with `->` (produces notices and warnings: https://3v4l.org/TiGan)
2. Accessing non-static property with `::` (causes fatal error: https://3v4l.org/IdYSh)

Fixes vimeo/psalm#6117
2021-07-18 02:51:33 +03:00
Bruce Weirdan
53ae7764e9
Merge pull request #6129 from orklah/unused-global 2021-07-18 02:33:50 +03:00
orklah
fcbd443bc8 initialize array 2021-07-17 22:04:22 +02:00
orklah
79d0647d19 fix issue when setting a value to a global is considered unused 2021-07-17 22:00:54 +02:00
Bruce Weirdan
2127da387b
Merge pull request #3903 from greg0ire/redundant-not-identical-with-false
Add negated identity with false case
2021-07-17 04:07:40 +03:00
Grégoire Paris
26f8e5b333
Add negated identity with false case
This is the opposite of === true and works the same.
2021-07-17 03:20:23 +03:00
Bruce Weirdan
4c197afc09
Merge pull request #5512 from ngmy/shepherd-envvar
Add the environment variable for using Shepherd
2021-07-17 02:50:15 +03:00
Yuta Nagamiya
bcd5fc4b6a
Add the environment variable for using Shepherd 2021-07-17 02:26:13 +03:00
Joshua Behrens
0c6031f7f2
Use same working directory for preparing cache directory as it used in running analysis 2021-07-17 01:55:41 +03:00
Bruce Weirdan
c9f52c449b
Merge pull request #6127 from weirdan/deprecated-properties
Check deprecated properties on $this->prop reads
2021-07-17 01:43:08 +03:00
Matthew Brown
88c4e2468e
Support interface-string<Foo> as temporary alias of class-string<Foo> (#6106) 2021-07-16 18:38:39 -04:00
Bruce Weirdan
a6a261b537
Merge pull request #6123 from caugner/codeclimate-relative-paths
fix(CodeClimateReport): use relative path
2021-07-17 01:29:26 +03:00
Bruce Weirdan
af5cdb4dd4
Check deprecated properties on $this->prop reads
Fixes vimeo/psalm#6118
2021-07-17 01:20:35 +03:00
Claas Augner
d0df69afb5 Fix CodeClimateReport to use relative paths
Both GitLab and the Code Climate Engine Specification require the code
climate report to contain the *relative* path to the source code file.
2021-07-16 22:39:47 +02:00
Bruce Weirdan
4a516005a3
Allow 0 for all bitmask types
Fixes vimeo/psalm#6119
2021-07-16 23:20:33 +03:00
orklah
0bd8b03f7a Fix usage of gettype in a switch with closed resource 2021-07-14 12:49:46 +02:00
Bruce Weirdan
601c8cac5b
Merge pull request #6086 from orklah/cleanup 2021-07-14 09:08:18 +03:00
orklah
c3a4e513f9 add more detailed phpdoc for $conditional and remove unused code 2021-07-14 00:02:36 +02:00
orklah
bcd22335b6 add some detailed phpdoc for $conditional 2021-07-13 22:35:57 +02:00
orklah
874b8ed7ae fix doc 2021-07-13 22:29:27 +02:00
orklah
647b9b78dc cleanup and refactor AssertionFinder 2021-07-13 20:54:47 +02:00
Ruslan Karimov
8a08489dcc Merge branch 'master' into fix-5957
# Conflicts:
#	tests/UnusedVariableTest.php
2021-07-13 10:15:35 +05:00
Ruslan Karimov
cfaca07c6d added dataflow to stringy bitwise op, bitwise not op (fix 5957) 2021-07-13 10:05:21 +05:00
Bruce Weirdan
6729f4db01
Merge pull request #6083 from orklah/falsable-argument 2021-07-13 02:13:39 +03:00
orklah
52033f4b69 fix condition when scalar is allowed 2021-07-13 00:34:22 +02:00
orklah
1fc8982ca9 fix condition when bool is allowed 2021-07-13 00:19:13 +02:00
orklah
688367de38 Always emit InvalidArgument when the parameter is always false and not accepted 2021-07-13 00:06:36 +02:00
Matthew Brown
f2bc6913db
Fix #6061 — delay analysis of array value except when unpacking (#6081) 2021-07-12 17:05:33 -04:00
Bruce Weirdan
e93b37a225
Merge pull request #6060 from VincentLanglet/statement 2021-07-11 22:12:10 +03:00
Matthew Brown
acc7ee261c
Fix #6066 - introduce more robust system for capturing template constraints (#6072)
* Fix #6066 - add better system for capturing template constraints

* Fix comment
2021-07-11 12:03:21 -04:00
Vincent Langlet
3339ce1379 Use stmt instead of args 2021-07-11 11:22:13 +02:00
Bruce Weirdan
83bf9b8ed9
Merge pull request #5608 from paxal/patch/preg_replace_callback
Allow to use string key for preg_replace_callback callable argument
2021-07-11 04:55:03 +03:00
Bruce Weirdan
d1f894a5a0
Merge pull request #6068 from caugner/make-ClassLikeNodeScanner-resilient-against-missing-class-storage
Make ClassLikeNodeScanner resilient against missing class storage
2021-07-11 03:18:31 +03:00
Matthew Brown
d883d73991 Fix template bound terminology
I had this flipped by mistake
2021-07-10 14:08:09 -04:00
Claas Augner
c6ccf61a5c Make ClassLikeNodeScanner resilient against missing class storage 2021-07-09 16:56:45 +02:00
Bruce Weirdan
f94f3b8691
Merge pull request #6054 from caugner/6050-FunctionLikeAnalyzer-extract-setParams-addParam 2021-07-09 08:21:36 +03:00