ralila
2a956498bf
Import instead of using fqn functions
2021-12-03 21:07:25 +01:00
ralila
711be643c6
Import instead of using fqn exceptions
2021-12-03 20:29:06 +01:00
ralila
245920e53c
Import instead of using fqn
2021-12-03 20:11:20 +01:00
orklah
466137a4c4
Merge pull request #7025 from orklah/6256
...
flag DeprecatedProperty on static fetch
2021-11-29 23:46:25 +01:00
orklah
328dcb093b
fix variable name
2021-11-29 23:41:47 +01:00
orklah
9de9c12851
flag DeprecatedProperty on static fetch
2021-11-29 23:32:27 +01:00
Matthew Brown
175ba83332
Migrate most IssueBuffer::accepts calls to IssueBuffer::maybeAdd ( #7020 )
2021-11-29 14:54:17 -05:00
Bruce Weirdan
97445b52f3
Correctly process constant references on enum-valued variables
2021-11-27 04:32:32 +02:00
Bruce Weirdan
f215ed28d0
Drop special handling of constant references on enums
...
Internally enum cases are constants, and they should be resolved as
such.
Fixes vimeo/psalm#6994
2021-11-26 06:00:01 +02:00
sasezaki
5a01c8d601
Added phpcs SelfMemberReference rule, and applied
2021-11-07 15:47:39 +09:00
orklah
18677bb108
better understands value and name properties for enum
2021-11-06 21:49:42 +01:00
orklah
fffef80ec1
makes $_SESSION possibly undefined
2021-11-04 22:38:31 +01:00
orklah
2cc5c555c2
fix literal string access on a non empty array
2021-10-22 18:17:08 +02:00
orklah
ae193ca4da
replace elvis operator by coalesce operator when applicable
2021-10-13 20:16:06 +02:00
orklah
dbc6f503b1
use of strtolower only once
2021-10-13 20:16:06 +02:00
orklah
f8628ef68c
fix errors
2021-10-02 10:01:05 +02:00
orklah
18b0c63de2
shorter operations
2021-09-26 22:44:33 +02:00
orklah
be8406294c
unnecessary return
2021-09-26 22:37:16 +02:00
orklah
5b684309fd
unnecessary ternary
2021-09-26 22:37:16 +02:00
orklah
3e6bf6f35f
remove unused nullable on param types
2021-09-25 16:05:47 +02:00
orklah
a92fee8ae3
better combining
2021-09-25 11:21:06 +02:00
orklah
97e91e6bf0
code trimming
2021-09-25 02:34:21 +02:00
S.M. Ataur Rahman
c13ed7cc28
type of "$http_response_header" is "list<string>" now
2021-09-09 01:36:07 +06:00
Bruce Weirdan
b4f024b1fe
Basic enum checks
...
* Duplicate cases
* Duplicate case values
* Invalid case values: value on a pure enum case, missing value on a
backed enum case, backing type / case type mismatch
* Literal expression evaluation for case values
Fixes vimeo/psalm#6426
Fixes vimeo/psalm#6427
2021-09-07 12:35:38 +03:00
orklah
dbf3512b70
introduce $definite_class flag and use it to avoid using final keyword for simple inference
2021-08-19 23:19:59 +02:00
orklah
2b37bdf253
get rid of the final check that was there only for static:: before
2021-08-17 23:40:03 +02:00
orklah
ee53c57952
add back alter blocks but remove renaming the $stmt->class part when it's a variable
2021-08-17 23:11:28 +02:00
orklah
1bf7447685
small refactor, add LiteralClassString, remove alter code blocks
2021-08-17 18:51:59 +02:00
orklah
7308c86bb2
fix build
2021-08-16 21:56:37 +02:00
orklah
9264ea5cbb
Allow type inference on dynamic ClassConstFetch
2021-08-16 21:20:20 +02:00
Vincent Langlet
b28316c27c
Declare some constant as non empty
2021-08-09 21:39:49 +02: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
7418e6e167
grammar
2021-07-18 16:52:00 +03: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
af5cdb4dd4
Check deprecated properties on $this->prop reads
...
Fixes vimeo/psalm#6118
2021-07-17 01:20:35 +03:00
Matt Brown
19cc4cb4ee
Simplify lots of usage checks
2021-06-25 10:14:49 -04:00
Matt Brown
67d68a5dc0
Use more accurate variable name
2021-06-25 09:54:39 -04:00
orklah
3c9476bdf6
Prevent infinite loop in case a TClassConstant is expanded to itself ( #5951 )
2021-06-18 08:51:19 -04:00
orklah
79478a60b1
Allow class constant as offset key ( #5943 )
...
* allow class-constant as an array offset when the type match
* remove object with __toString as a possible offset as it's not valid
2021-06-17 18:15:57 -04:00
Matthew Brown
6d09418a23
Detect unused return values ( #5917 )
...
* Detect unused return values
* Allow static-returning instance methods (presumed to be fluent)
* Make $is_used the default for Codebase::methodExists
2021-06-10 14:18:15 -04:00
Bruce Weirdan
6abce3525a
Enforce use
sort ( #5900 )
2021-06-07 22:55:21 -04:00
Matt Brown
f3fc112bae
Fix #4523 - fix short-circuiting for properties and method calls
2021-06-01 16:06:12 -04:00
orklah
350df114f3
Transform bad offsets ( #5817 )
...
* Transform bad offset access
* fix build
2021-05-23 14:43:30 -04:00
Matt Brown
938afc5aea
Allow union of 0|positive-int to bypass PossiblyUndefinedIntArrayOffset error
2021-05-23 13:59:40 -04:00
orklah
0b96f40198
quote offset value ( #5760 )
2021-05-14 17:19:23 -04:00
Matthew Brown
832a190dd4
Support enums ( #5699 )
...
* Add initial enum preparation
* Support cases method
* Ignore bad use error
cc @weirdan
* Fix type
2021-05-03 17:54:09 -04:00
Matt Brown
12844621b4
Fix #5693 - revert fix for #2048
...
The original fix was just a bit too narrow, and led to this bug
2021-05-01 21:13:42 -04:00
Matt Brown
0f5b117534
Migrate ClassLikeName options to object
2021-04-30 15:01:33 -04:00
Matt Brown
7b7354efa3
Fix #5518 - add type for property with variable name
2021-04-25 14:49:43 -04:00