Matthew Brown
19ca1c9311
Suppress enum redundant conditions too
2018-05-20 18:58:34 -04:00
Matthew Brown
3805893c5a
Improve error messages for literal types
2018-05-20 17:43:02 -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
7bc426268a
Only run test in PHP 7.1
2018-05-20 13:20:15 -04:00
Matthew Brown
a3e2b98f7c
Fix #743 - put InvalidArgument messages before PossiblyFalseArgument
2018-05-20 13:14:31 -04:00
Matthew Brown
cdcba6152d
Add ability to infer return type for method calls
2018-05-20 12:47:26 -04:00
Bruce Weirdan
be522c623e
Updated MessageFormatter (ICU) signatures ( #759 )
...
Manual update of MessageFormatter methods signatures, based on PHP.net
docs
2018-05-20 11:33:16 -04:00
Matthew Brown
5bd9ba6207
Make TClassString inherit from TLiteralString
2018-05-20 00:27:53 -04:00
Matthew Brown
34a39b895c
Support checks for array emptiness
2018-05-19 20:31:48 -04:00
Matthew Brown
ea465852e1
Move TypeCombination logic into its own class
2018-05-19 19:44:03 -04:00
Matthew Brown
49be51d7f6
Ignore .ds_store
2018-05-19 18:57:14 -04:00
Matthew Brown
09eb316a9c
Fix #755 - add support for inferring explicit true checks
2018-05-19 00:41:07 -04:00
Matt Brown
f2a70fef85
Fix #745 - give iterator_to_array back its type info
2018-05-18 18:10:10 -04:00
Matt Brown
c6aa396dea
Fix #741 - make sure closures are cloned properly
2018-05-18 17:47:40 -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
Jay Klehr
80b6347a72
Updating openssl callmaps to reflect php documentation
2018-05-18 10:46:38 -04:00
Matthew Brown
ec381308dd
Fix #753 - prevent some strings from becoming literals
2018-05-17 01:46:01 -04:00
Matt Brown
3263b64301
Filter conditions better when encountering parent instanceof
2018-05-16 11:47:39 -04:00
Théo FIDRY
1ecf1c4113
Update Box
2018-05-15 14:30:14 -04:00
Théo FIDRY
59d32566d2
Simplify the PHAR build script
2018-05-15 14:30:14 -04:00
Matt Brown
3119a1f68a
Allow resolution of class constants in const arrays
2018-05-14 17:39:08 -04:00
Matt Brown
a0281e5716
Improve clause eradication after ifs
2018-05-14 16:29:51 -04:00
Matt Brown
02c72f6de5
Fix buggy if checks
2018-05-14 12:25:58 -04:00
Matt Brown
02d65b617b
Allow weak comparison between floats and ints
2018-05-14 12:02:06 -04:00
Matt Brown
58c68c355e
Allow weak equality between scalar types
2018-05-14 10:36:41 -04:00
Matthew Brown
af8705502e
Improve impossible case location reporting
2018-05-13 22:31:45 -04:00
Matthew Brown
557c3ddace
Limit to the case condition
2018-05-13 22:25:08 -04:00
Matthew Brown
05c3d1ab03
Improve reporting of duplicate case statements
2018-05-13 22:02:10 -04:00
Matthew Brown
5c1726cece
Fix return type of ReflectionParameter::getDefaultValue
...
Fixes #739
2018-05-13 19:35:57 -04:00
Matthew Brown
c00fdd0fe3
Add better type inference for next and prev
...
Fixes #738
2018-05-13 19:20:05 -04:00
Matthew Brown
d46997b196
Make sure weak equality clauses don’t generate ParadoxicalCondition
2018-05-13 01:27:45 -04:00
Matthew Brown
9f28be415a
Fix reconciliation of ored types
2018-05-13 00:54:12 -04:00
Matthew Brown
69338abf7c
Allow rough equality assertions to be negated too
2018-05-12 20:08:22 -04:00
Matthew Brown
8e90334428
Allow assignment to numeric string via assertion
2018-05-12 19:56:17 -04:00
Matthew Brown
dbc0e6dfcb
Use arrays instead of strings for assertions
2018-05-12 19:38:43 -04:00
Matthew Brown
7dd86efa13
Add support for checking negative values
2018-05-12 18:46:47 -04:00
Matthew Brown
759516d01f
Fall back to $method_id if no defining method id found
2018-05-12 13:19:19 -04:00
Matthew Brown
313a010355
Add workaround for Closure::__invoke
2018-05-12 13:02:53 -04:00
Matthew Brown
4fe5ac87b6
Fix #712 - rewrite switch statement fallthroughs to understand logic better
2018-05-12 12:55:24 -04:00
Matthew Brown
8de8ce2ef4
Only assign new offset types when it’s safe to do so
2018-05-12 11:19:31 -04:00
Matthew Brown
5589aa89be
Fix #736 - only remove offset type when it doesn’t contain const array type
2018-05-12 11:17:41 -04:00
Matthew Brown
d078ce7a26
Move RedundantCondition to level 3
2018-05-12 01:00:10 -04:00
Matthew Brown
56a1f744a0
Fix #734 - allow DOMDocument::appendChild to mirror its first arg
2018-05-12 00:28:21 -04:00
Matthew Brown
1b8fd75a77
Suppress possibly-invalid key issue
2018-05-11 23:24:50 -04:00
Matthew Brown
071558ec83
Fix #733 - DomNodeList implements ArrayAccess
2018-05-11 23:21:53 -04:00
Matthew Brown
b9b2a909a1
Fix #729 and prevent impossible const array access
2018-05-11 23:14:44 -04:00
Matthew Brown
e1bb0677ee
Solidify changes to V2
2018-05-11 18:45:19 -04:00
Matt Brown
5c0f4a999c
Move a bunch of classes to better places
2018-05-11 18:35:02 -04:00
Matt Brown
ef519ade72
Don’t adjust vars unless they’re passed by ref
2018-05-11 18:09:11 -04:00