Matt Brown
|
750d18d20a
|
Fix #266 - do better analysis of array_rand
And also have better fallback when accessing string key on object-like array
|
2017-11-07 17:38:54 -05:00 |
|
Matt Brown
|
e0371aed62
|
Introduce file manipulation concept to plugins
|
2017-11-07 14:46:53 -05:00 |
|
Matt Brown
|
490e78e136
|
Add isset check for safety
|
2017-11-06 15:42:39 -05:00 |
|
Matt Brown
|
97de8f7684
|
Allow Psalm to check static call LHS vars
|
2017-11-06 15:37:49 -05:00 |
|
Matt Brown
|
4b573bde1f
|
Fix get_class($e) !== checks
|
2017-11-06 12:04:38 -05:00 |
|
Matt Brown
|
81493a639e
|
Add more robust property assignment when property not defined
|
2017-11-03 12:27:01 -04:00 |
|
Matt Brown
|
b163c296ff
|
Fix templated return types in traits
|
2017-11-02 15:07:39 -04:00 |
|
Matthew Brown
|
aeb9882281
|
Add back support for TObject property fetch
|
2017-10-29 17:44:13 -04:00 |
|
Matthew Brown
|
afc8cb4068
|
Check for property fetch mocks
|
2017-10-29 17:33:26 -04:00 |
|
Matthew Brown
|
51280c1670
|
Allow byref args of socket_select to pass through unchanged
|
2017-10-28 16:26:45 -04:00 |
|
Matthew Brown
|
24980cd7d7
|
Constrain user-defined functions and methods
|
2017-10-28 16:05:35 -04:00 |
|
Matthew Brown
|
45df0292b1
|
Never constrain by-ref array variables
|
2017-10-28 15:33:29 -04:00 |
|
Matthew Brown
|
bee14d184f
|
Add better check for property
|
2017-10-28 15:17:32 -04:00 |
|
Matthew Brown
|
30acb9e3b7
|
Improve array function byref understanding by hard-coding rules
|
2017-10-28 13:56:29 -04:00 |
|
Matt Brown
|
897c70f8f5
|
Add back support for switch-getclass ::class constants
|
2017-10-26 15:07:36 -04:00 |
|
Matt Brown
|
c850ef644d
|
Add PossiblyFalseReference and PossiblyFalseArgument issues
Useful for catching error cases
|
2017-10-23 11:47:00 -04:00 |
|
Matthew Brown
|
a85cd1db8a
|
Add support for get_class and get_type negation checks
|
2017-10-22 20:17:04 -04:00 |
|
Matthew Brown
|
4d32c72ef8
|
Fix #250 and fix #255 - handle switch statements like PHP does
|
2017-10-22 19:53:53 -04:00 |
|
Matthew Brown
|
c7d55bf6de
|
Improve aseertion finding by digging deeper into trivial comparisons
|
2017-10-22 19:11:28 -04:00 |
|
Matthew Brown
|
f9032924e6
|
Allow == true comparisons to be evaluated to !falsy
|
2017-10-22 12:09:22 -04:00 |
|
Matthew Brown
|
f6e01b5925
|
Change empty type assertions to "falsy"
As empty has a special meaning
|
2017-10-22 11:57:41 -04:00 |
|
Matthew Brown
|
1b7a5c2944
|
Fix #236 - incorrect operand issue text
|
2017-10-12 08:51:57 -04:00 |
|
Matthew Brown
|
deb489e82d
|
Fix #232 - discard clauses when evaluating catch block
|
2017-10-10 23:09:19 -04:00 |
|
Matthew Brown
|
862d22e83c
|
Fix #230 - invalidate root vars on $arr[]= assignment
|
2017-10-10 23:01:52 -04:00 |
|
Matthew Brown
|
beea51d7bf
|
Fix property check
|
2017-10-07 15:05:05 -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
|
5bd6228708
|
Fix #220 - don’t worry about parent property access
|
2017-09-24 08:17:27 -04:00 |
|
Matt Brown
|
6f911c7386
|
Emit more specific operand issues
|
2017-09-20 11:22:17 -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
|
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 |
|
Matt Brown
|
5b3531b5a5
|
Fix null coalescing on nullable output
|
2017-09-13 14:35:42 -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 |
|
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
|
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
|
e4e6c2a6e6
|
Fix #201 - list/array assignment should invalidate clauses too
|
2017-08-18 23:14:38 -04:00 |
|
Matt Brown
|
3075f16308
|
Ignore static, self and parent in callable class names
|
2017-08-18 17:02:15 -04:00 |
|
Matt Brown
|
c626b7d68a
|
Fix #200 - allow mapping of more callable strings, and callable arrays
|
2017-08-14 19:30:11 -04:00 |
|
Matt Brown
|
d6e2e786db
|
Ignore self calls as well
|
2017-08-11 19:09:15 -04:00 |
|