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
Claas Augner
9a78b2fbc8
Mark FunctionLikeStorage::setParams()/addParam() as internal
2021-07-09 00:58:29 +02:00
ElisDN
61b78e117f
Fix negative numbers
2021-07-08 19:17:31 +03:00
Simon Podlipsky
8568798747
Skip argv when --config file.xml is passed
2021-07-08 10:19:58 +02:00
Vincent Langlet
49ed7b045f
Pass statement to MethodReturnTypeProviderEvent
2021-07-08 00:02:36 +02:00
Andrew Nagy
81bd44b714
didChangeWatchedFiles should continue not return
...
didChangeWatchedFiles should continue not return per each watched file in the $changes array
2021-07-06 16:52:46 -07:00
Claas Augner
b91e00b03f
Always keep FunctionLikeStorage->param_lookup in sync
2021-07-06 11:58:58 +02:00
Claas Augner
601a981898
Extract FunctionLikeStorage::setParams()/addParam()
2021-07-06 11:52:42 +02:00
Bruce Weirdan
e8f1acb9b6
Revert "Don't attempt to read baseline before it was generated ( #5961 )"
...
This reverts commit 52d2692497
.
2021-07-06 09:54:00 +03:00
orklah
f8644fb508
Improve resolution of __METHOD__ and __FUNCTION__
2021-07-03 10:01:53 +02:00
Bruce Weirdan
6db79be207
Keep generic part of shape on array_map return type
...
Fixes vimeo/psalm#6038
2021-07-03 06:33:37 +03:00
Bruce Weirdan
4b31058234
Separate memory limit formatting from retrieval
...
This addresses https://github.com/vimeo/psalm/pull/6030#issuecomment-872611832
Previously PHP would allow to set memory limit to be below current
memory usage, and the test changed in this PR abused that. As we
actually don't need to test `ini_get()` value decoding was split into
its own method, and we're testing that decoding instead.
2021-07-02 02:59:43 +03:00
Bruce Weirdan
248a07fd35
Ship FakeFileProvider even with dist dev releases
...
Refs psalm/psalm.dev#60
2021-07-02 00:26:20 +03:00
Matt Brown
667dcc2e49
No false-positives for tainting through array keys
2021-06-29 17:05:39 -04:00
Ruslan Karimov
79b61c3b61
Added support for self & static keywords in array_reduce callables
2021-06-29 22:27:50 +05:00
Bruce Weirdan
0196afc758
Merge pull request #6014 from tm1000/feature/6013-1
2021-06-29 05:39:16 +03:00
Andrew Nagy
468e474f44
Update src/Psalm/Internal/LanguageServer/Server/Workspace.php
...
Co-authored-by: Bruce Weirdan <weirdan@gmail.com>
2021-06-28 19:08:02 -07:00
Bruce Weirdan
5ea98d6324
Merge pull request #6010 from tm1000/feature/6008
2021-06-29 04:40:00 +03:00
Your Name
79fbaa2252
Fixes #6013 , implement workspace/didChangeWatchedFiles
2021-06-28 17:34:43 -07:00
Bruce Weirdan
3080140061
Drop superfluous docblock types
2021-06-29 03:10:19 +03:00
Bruce Weirdan
63286714e6
Merge pull request #6012 from tm1000/bugfix/6011
...
Fixes #6011 , move placement of version call
2021-06-29 03:00:03 +03:00
Your Name
4d91c6ecc5
Fixes # 6011, move placement of version call
2021-06-28 15:09:50 -07:00
Your Name
46c3f1cbf3
fix styling issues
2021-06-28 14:31:48 -07:00
Your Name
4ae5d50f56
Fixes #6008 , Enabled onSave and onOpen textDocument
2021-06-28 14:23:43 -07:00
Bruce Weirdan
9e9413da6d
Merge pull request #6007 from tm1000/bugfix/5997-1
...
Fixes #5997 by intentionally sending Success responses from shutdown method
2021-06-28 23:12:29 +03:00