Matthew Brown
3024ea1ef1
Improve handling of class constants in types
2018-12-22 12:12:35 -05:00
Brown
fb848d62e9
Add checks for if (count($a)) and if (count($a) [operator] [number])
2018-12-19 16:15:19 -05:00
Matthew Brown
ea89a6ba29
Revert "First pass"
...
This reverts commit 9ed047234f
.
2018-12-19 08:45:14 -05:00
Matthew Brown
9ed047234f
First pass
2018-12-19 01:59:14 -05:00
Matthew Brown
ca6149ed17
Improve treatment of templated params within function analysis
2018-12-17 23:29:27 -05:00
Matthew Brown
8b5e8402a1
Add support for @param T:class $foo
2018-12-13 00:09:01 -05:00
Matthew Brown
fd0ab47b80
Fix #1118 - detect possible issues with unions of mixed
2018-12-08 13:18:55 -05:00
Matthew Brown
93662abf8d
Shift iterable arg by one if only one is given
2018-12-02 14:59:08 -05:00
Brown
c378079db8
Make the length of possible string unions unlimited in conditionals
...
Fixes #1103
2018-11-28 15:12:08 -05:00
Brown
e7b63a86a6
Differentiate between types merged in a write context vs types merged in return
2018-11-28 10:41:49 -05:00
Matthew Brown
59b9b5d65b
Move more classes into Internal namespace
2018-11-18 12:41:47 -05:00
Brown
15b412b10e
Add checks for non-empty arrays
2018-11-09 10:56:27 -05:00
Brown
f7a37d05b9
Improve handling of generic params in intersection types
...
Ref #1053
2018-11-02 13:09:04 -04:00
Brown
d6392fbcba
Added an HTML-escaped-string meta-type for functions to return
...
And a sample echo checker
2018-10-29 11:54:25 -04:00
Matthew Brown
44c742c849
Fix #976 - make sure misplaced { doesn’t halt execution
2018-09-06 00:41:07 -04:00
Matthew Brown
3e920b1227
Fix unexpected method with return type
2018-09-05 22:40:52 -04:00
Matthew Brown
e6d1a44a59
Fix #974 - fix handling of brackets
2018-09-05 22:36:32 -04:00
Matt Brown
7dd3273a62
Fix #959 - allow nullable followed by parentheses
2018-08-29 16:03:16 -04:00
Matt Brown
17ea48eda4
Add ability to pretend that a file has declare(strict_types=1)
2018-08-29 15:10:56 -04:00
Matt Brown
1037485a60
Convert InvalidScalarArgument to InvalidArgument when declare(strict_types=1) is set
2018-08-28 12:37:25 -04:00
Matt Brown
699a34fc9d
Fix #952 - improve checks for string array offsets
2018-08-21 11:40:29 -04:00
Matthew Brown
7c10a09ead
Fix #911 - properly substitute alias types
...
Also improve handling of array_splice
2018-08-08 22:33:31 -04:00
Matthew Brown
1e54c61fde
Fix #18 - add support for @psalm-type
2018-07-15 17:23:17 -04:00
Matthew Brown
a8a504c3b9
Fix #889 - allow variables defined in try
to avoid isset issues
2018-07-13 14:06:01 -04:00
Matthew Brown
0d62431cfb
Fix #870 - improve magic method type handling
2018-07-07 00:06:05 -04:00
Matthew Brown
c354a024d8
Fix #856 - perform better class filtering based on parent classes
2018-07-02 21:59:40 -04:00
Matthew Brown
745acaea71
Allow bracketing as part of union type
...
Ref #854
2018-06-30 13:09:05 -04:00
Matt Brown
11240eb193
Fix #826 allow better template replacements
2018-06-19 13:19:41 -04:00
Matt Brown
7fb4c4acad
Allow 0 in type
2018-06-14 15:58:49 -04:00
Matt Brown
d56dd6bed6
Fix #818 - prevent class of 0
2018-06-14 13:49:16 -04:00
Matthew Brown
3a3c10d044
Improve handling of ? before type
2018-06-08 23:54:07 -04:00
Matt Brown
a30d229040
Fix issue with slashes after ? in type
2018-05-21 12:55:44 -04:00
Matt Brown
aebbd473d9
Fix issues reconciling class-string params to actual types
2018-05-21 12:40:39 -04:00
Matthew Brown
228337415b
Fix #761 - add support for class constants in enums
2018-05-21 00:46:56 -04:00
Matthew Brown
38252689b9
Remove typehints
2018-05-20 17:31:04 -04:00
Matthew Brown
6250c2a14c
Fix #16 - add support for enums
2018-05-20 17:19:53 -04:00
Matthew Brown
ea465852e1
Move TypeCombination logic into its own class
2018-05-19 19:44:03 -04:00
Matthew Brown
b0733254bb
Use individual type objects for each string ( #757 )
...
* Experiment with individual types for each string
* Fix bunch of errors
* Fix a few more issues
* Fix a whole bunch of bugs
* Fix most remaining bugs
* Fix isset warnings
* Fix psalm errors in psalm
* Limit big string size
* Fix falsiness of ints
* Fix issue with type widening, allowing value set in nested if to be altered
* Don’t complain if type is mixed
* Add skipped-for-now test
* Add specific test to address issue
2018-05-18 11:02:50 -04:00
Matthew Brown
7dd86efa13
Add support for checking negative values
2018-05-12 18:46:47 -04:00
Matt Brown
5c0f4a999c
Move a bunch of classes to better places
2018-05-11 18:35:02 -04:00
Matthew Brown
21261172a8
Fix #713 - support offsets of known array types
2018-05-05 17:30:18 -04:00
Matthew Brown
1a4ddc7cdd
Support value types ( #707 )
...
* Add first idea
* Add initial count experiments
* Remove false positives
* Fix getId to support changes in conditionals
* Add better tests
* Strip types when not exists
* Fix array offsets
* More fixes
* Add class constant value types
* Clone constants everywhere
* Don’t complain unnecessarily
* Be more lenient with possibly invalid __sets
* Fix mixed issues
* Fix bug concerning orred string equality
* Remove unnecessary casts
2018-05-03 13:56:30 -04:00
Matt Brown
f2ff727649
Fix #706 - don’t namespace &
2018-05-03 13:15:16 -04:00
Matthew Brown
35725267f9
Fix #691 - Allow comparisons to float for integer results
2018-04-24 23:02:20 -04:00
Matthew Brown
e2400920b9
Fix #693 - add @TysonAndre’s fix for atomic type checks
2018-04-24 21:27:31 -04:00
Matt Brown
8d7c365e5f
Fix #679 - improve template param type checks
2018-04-20 10:52:23 -04:00
Matthew Brown
7345a44494
Fix callable parse issue
2018-04-15 18:16:31 -04:00
Matthew Brown
797cab22f8
Fix support for Closure(int):int annotation
2018-04-08 10:02:41 -04:00
Matt Brown
60c6bb4021
Fix #650 - be more judicious about inserting mixed into places
2018-04-06 18:28:22 -04:00
Matt Brown
6d572096d6
Prohibit bad characters from types
2018-04-05 14:11:57 -04:00