Brown
7a759915ee
Add arg
2020-04-17 14:40:42 -04:00
Brown
b6fd821172
Fix broken build
2020-04-17 14:39:33 -04:00
Brown
aa3846758e
Fix #3153 - narrow template types in conditional branches
2020-04-17 09:53:58 -04:00
Brown
e53c79b66e
Break out SimpleNegatedAssertionReconciler
2020-04-17 09:28:42 -04:00
Brown
edc164c549
Simplify conditionals a little
2020-04-17 09:10:33 -04:00
Brown
239234e803
Migrate simple assertions to self-enclosed method
2020-04-17 08:59:15 -04:00
Brown
5ef82b53f6
Fix #3137 - support nested templates in class definitions
2020-04-17 01:16:15 -04:00
Brown
1309eece2e
At the very least interpret nested templates as templates
2020-04-17 00:56:11 -04:00
Anthony Rainer
6f36f33630
Added new language server options and functionality. ( #3161 )
...
* Added new language server options and functionality.
Added new extended diagnostic code information to the language server.
-- It must be enabled via a command line switch.
Added telemetry data for language server initialization and operation.
Added verbose log messages for language server.
-- It must be enabled via a command line switch.
* fixed phpcs issues
* fixed failing tests
* changed the language server reported error code to be the help link
Co-authored-by: Anthony Rainer <0@0ze.ro>
2020-04-17 00:47:18 -04:00
Brown
35d376cbe7
Fix #3164 - allow nested templates in conditional classes
2020-04-17 00:46:27 -04:00
Matthew Brown
6f28ee684a
Fix #3156 - only override existing property types with @property suggestions
2020-04-16 00:22:00 -04:00
Jáchym Toušek
7841581122
Update ext-ds.php ( #3146 )
2020-04-15 07:31:17 -04:00
Brown
2e4aaac5bb
Add better inference for date calls
2020-04-14 21:07:44 -04:00
Matthew Brown
e4bfe9e6be
Fix #3142 - array_unique should remove count info
2020-04-14 11:08:45 -04:00
Brown
8533b866ab
Simplify template bounds message
...
Ref #3126
2020-04-12 22:19:49 -04:00
Brown
e17cfd8dba
Fix #3125 - only apply clauses where applicable
2020-04-12 21:50:10 -04:00
Brown
633b210a32
Fix test
2020-04-12 21:47:50 -04:00
Brown
73f8f963fa
Expand out class constants as early as possible
...
Fixes #3128
2020-04-12 20:38:36 -04:00
Brown
15df39f72f
Fix #3127 - allow templated param to be accepted where static is expected
2020-04-12 20:09:49 -04:00
Brown
5988149272
Prevent checking assertions on $this-> types, always accessible
2020-04-12 14:13:42 -04:00
Brown
c733d6d373
Only perform assertions where the property type is known
...
cc @m0003r
2020-04-12 12:56:33 -04:00
Brown
95ec189e0b
Remove Amp stubs
2020-04-12 11:47:10 -04:00
Brown
370ffa28e4
Fix #3117 - invalidate all caches when composer lockfile changes
2020-04-12 11:41:37 -04:00
m0003r
77270dc9b7
Getters automagic ( #3122 )
...
* When method is a plain getter: (1) correct method return type if property type is known (2) auto assert-if-true that corresponding property is not falsy
* do not use getter automagic if getter is overridden somewhere
2020-04-12 08:40:24 -04:00
Brown
ee50542b8f
Allow users to disable caching full files
2020-04-12 08:34:57 -04:00
Brown
9d2957d339
Fix a few more edge-cases
2020-04-12 01:26:11 -04:00
Brown
7dfa37beb2
Improve ergonomics of array assignment
2020-04-11 17:50:24 -04:00
Brown
d530fce4b3
Fall through with PossiblyInvalidIterator issue
2020-04-11 11:17:54 -04:00
Brown
739f2c7faf
Fix array key type
2020-04-11 08:12:28 -04:00
Brown
db7447abd7
Make array coercion-to--mixed rules a little more lenient
2020-04-10 16:21:48 -04:00
Brown
672baea6fc
Fix #3116 - allow class to be compared to a templated class-string
2020-04-10 00:26:11 -04:00
Brown
556d5625b5
Prevent Throwable being intersected with itself
2020-04-10 00:10:31 -04:00
Brown
fea1310d67
Fix #3092 - round always returns a float
2020-04-09 23:31:26 -04:00
Brown
f4a6b24e34
Fix style errors
2020-04-09 23:24:52 -04:00
m0003r
1749c19a29
Fix $assertion_var_id calculation in method calls ( #3115 )
2020-04-09 23:03:53 -04:00
Brown
09663b5938
Fix #3095 - allow intersection of arrays after assertions
2020-04-09 23:02:28 -04:00
Brown
13d9354cde
Fix #3107 - prevent bad @method with dash
2020-04-09 12:16:58 -04:00
Brown
3a4dd70403
Prevent MixedMethodCall from generated array offsetGet calls
2020-04-09 11:45:15 -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
m0003r
4d1be3f0c4
Allow plain assertions (@psalm-assert) about $this ( fixes #3105 ) ( #3108 )
...
* Allow plain assertions (@psalm-assert) about $this (fixes #3105 )
* Fix multiple assertion combining
* Fix multiple assertion combining for $this again
* Add test for multiple assertion combining for $this again
2020-04-09 08:15:07 -04:00
Mikko Pesari
184be78405
Update mysqli property maps ( #3114 )
...
From ca92e03c12/src/Phan/Language/Internal/PropertyMap.php
2020-04-09 08:14:09 -04:00
m0003r
28f740fddb
@psalm-trace is now a specific low-level issue, because plain debug print breaks structured output (after #3080 ) ( #3106 )
2020-04-08 21:03:05 -04:00
Brown
d868710b2b
Fix handling of built arrays
2020-04-08 16:11:11 -04:00
Brown
b2e010b431
Fix #3102 - identify issues with possibly-mixed output
2020-04-08 14:07:09 -04:00
Brown
a117c48bb2
Add back nuance to error messages for conflicting type bounds
2020-04-08 12:37:46 -04:00
lhchavez
be87bb7300
Support intersection types for object-like arrays ( #3064 )
...
This change allows expressing the intersection of multiple object-like
arrays. The resulting type will contain the (merged via intersection)
properties of all the object-like arrays involved in the intersection.
This should allow to express the resulting type of an `array_merge()`
operation, which is tricky to do in the context of a templated type.
2020-04-08 09:35:53 -04:00
Marco Pivetta
0d1e893151
Added ReflectionProperty#getType()
to psalm type stubs for PHP 7.4+ ( #3093 )
2020-04-08 09:04:49 -04:00
Bruce Weirdan
0161f25ef6
Bump callmap version to 7.4 ( #3094 )
...
The content of the callmap corresponds to 7.4, but internally the
version was set to 7.3. This caused 7.4 delta to be ignored, and 7.4
types to be used for 7.3.
2020-04-08 01:04:34 -04:00
Brown
2d4381eb4e
Fix #3096 - forget clauses in context after call
2020-04-08 01:03:37 -04:00