Matthew Brown
6ab693ceeb
Add missing class
2017-10-07 11:31:18 -04:00
Matthew Brown
9774131876
Fix #224 - explicit string casts fail when no __toString present
2017-10-07 11:27:54 -04:00
Matthew Brown
483b4c75f3
Fix #223 - array_map with too few args should have issue
2017-10-07 10:33:19 -04:00
Matthew Brown
6b4bd47ddb
Fix #181 and #225 - resolve problems with self in comments/return statements
2017-10-07 10:22:52 -04:00
Matthew Brown
1cc13bdeeb
Prevent TNamedObject from having a leading slash
2017-10-06 23:35:16 -04:00
MacFJA
1c0bfc7e7a
Fix call
2017-10-02 07:38:22 -04:00
MacFJA
e6e7462362
Add a test that validate code change (before modification fail / after modification work)
2017-10-02 07:38:22 -04:00
MacFJA
a38c36c597
Always generate report files, even if no errors and warnings
2017-10-02 07:38:22 -04:00
Steffen Weber
4145119268
Fix case of ZipArchive properties
...
The properties "numFiles" and "statusSys" use camelCase.
https://secure.php.net/manual/en/class.ziparchive.php
2017-09-26 10:38:06 -04:00
Matthew Brown
5bd6228708
Fix #220 - don’t worry about parent property access
2017-09-24 08:17:27 -04:00
Matt Brown
ee655e6f33
Fix #218 - strings passed to format always return string
2017-09-22 10:18:44 -04:00
Bruce Weirdan
ed0e9702ae
Adjusted signatures of DateTime and friends
...
* __wakeup is void -> void, see http://php.net/manual/en/language.oop5.magic.php#object.wakeup
* DateTime::__construct() does not accept null as time
* DateTimeZone::getLocation() has no last $object parameter
* ditto for DateTimeZone::getName()
* ditto for DateTimeZone::getTransitions()
2017-09-22 10:06:24 -04:00
Matt Brown
1012c23ff5
Fix assertion checks
2017-09-21 16:31:19 -04:00
Matt Brown
d949165eb6
Fix #217 - bad param count for DateTimeImmutable::getTimezone
2017-09-21 15:37:05 -04:00
Matt Brown
3bc497b18e
Fix #217 - bad param count for DateTimeImmutable::getTimezone
2017-09-21 15:36:26 -04:00
Matt Brown
6f911c7386
Emit more specific operand issues
2017-09-20 11:22:17 -04:00
Matthew Brown
e42e590442
Add more descriptive exception messages
2017-09-20 08:43:54 -04:00
Matthew Brown
1a9592fc62
Fix #215 where ReflectionMethod implementing class is not a parent class or parent interface
2017-09-19 23:35:37 -04:00
François Kooman
eb79cb7172
fix running Psalm on itself due to its use of json_encode
2017-09-18 16:14:01 -04:00
François Kooman
8e35a72cc3
fix json_encode return values
...
`json_encode` can also return `false`
2017-09-18 16:14:01 -04:00
Matt Brown
d380bf3f19
Fix #209 - fix issue with file load order results change
2017-09-18 16:10:08 -04:00
Matthew Brown
e84586cfaa
Fix return type space issue
2017-09-16 15:08:11 -04:00
Matthew Brown
7c261d7d1f
Add return after every special type
2017-09-16 15:00:50 -04:00
Matthew Brown
391696bc83
Use a blacklist, not a whitelist
2017-09-16 13:28:33 -04:00
Matthew Brown
3a8efec728
Add error for pass by reference
2017-09-16 13:16:21 -04:00
Matthew Brown
fc6b663c8a
Only write files if they’re changed
2017-09-16 12:52:46 -04:00
Matthew Brown
9a3cb742cb
Refactor docblock manipulation and add tests for it
2017-09-16 12:45:20 -04:00
Matthew Brown
995e92a8c3
Remove empty if block
2017-09-14 00:36:38 -04:00
Matthew Brown
2a4a6fc490
Exit early if checking iterable for methods
2017-09-14 00:32:14 -04:00
Matthew Brown
313e1c383c
Fix edge-case issue with abstract class not fully implementing interface
2017-09-13 23:57:11 -04:00
Matthew Brown
92ec985ac0
Allow different versions of lib-array2xml
2017-09-13 22:07:44 -04:00
Matthew Brown
93cff78101
Do not require latest lib2xml
2017-09-13 21:53:41 -04:00
Matt Brown
5b3531b5a5
Fix null coalescing on nullable output
2017-09-13 14:35:42 -04:00
Matt Brown
eee8442af6
Fix #199 - allow classes to suppress PropertyNotSetInConstructor warnings
2017-09-13 11:32:13 -04:00
Matt Brown
439a1ddc97
Exit early if a bad class is detected
2017-09-11 11:58:11 -04:00
Matt Brown
d1807cfb95
Improve checks for switch types
2017-09-11 11:58:11 -04:00
François Kooman
8a28ab4b26
Fix some cURL function return values ( #208 )
...
At least the functions referenced here can also return boolean
`false` according to the PHP manual. Add this information to the
CallMap file.
2017-09-10 21:49:51 -04:00
MacFJA
c4ce8bede9
Add XML as possible output format + add report generation ( #206 )
...
* Add XML as possible output format + add report generation
* Add missing xml root node
* Change XML generator (previous one don't escape '<' and '>')
* Change option (only one option) + unit test
2017-09-08 11:18:48 -04:00
Matthew Brown
e89a2929d5
Infer types from numeric operations
2017-09-06 21:44:26 -04:00
Matthew Brown
9f9e8a1b30
Improve API for inference
2017-09-03 20:52:54 -04:00
Matthew Brown
11aa3558b7
Make sure encapsulated strings can also coerce param types
2017-09-02 19:48:59 -04:00
Matthew Brown
a0c27cee4f
Allow param types to be inferred from presence of concat ops
2017-09-02 19:23:00 -04:00
Matthew Brown
a725009181
Only say we could not infer param type if we’re actively looking
2017-09-02 18:26:19 -04:00
Matthew Brown
6531e3bfb8
Throw exception if impossible state is reached
2017-09-02 18:22:44 -04:00
Matthew Brown
73694ab04e
Suggest types when complaining of untype params
...
Ref #204
2017-09-02 18:15:52 -04:00
Matthew Brown
8aabcbce35
Introduce UntypedParam warnings when functions are missing param types
2017-09-02 11:18:56 -04:00
Matt Brown
1cc63fe718
Ignore leading slash in array_map methods
2017-08-30 13:45:41 -04:00
Matthew Brown
622217b708
Fix #205 - add file references at analysis stage too
2017-08-22 12:38:38 -04:00
Matthew Brown
fb656f3575
Fix #203 and detect invalid countable count calls
2017-08-19 13:30:33 -04:00
Matthew Brown
e4e6c2a6e6
Fix #201 - list/array assignment should invalidate clauses too
2017-08-18 23:14:38 -04:00