Matthew Brown
|
b634e1a1b7
|
Add more refined treatment of InvalidIterator
|
2018-03-20 22:59:22 -04:00 |
|
Matthew Brown
|
5384f193d1
|
Allow class and method issues to be suppressed by their identifiers
Ref #603
|
2018-03-20 22:36:03 -04:00 |
|
Matthew Brown
|
837f5d7096
|
Fix #594 - support intersection types (and catch errors)
|
2018-03-20 20:56:33 -04:00 |
|
Matthew Brown
|
3f90bceabf
|
Use objects for type parsing
|
2018-03-20 20:26:58 -04:00 |
|
Matt Brown
|
24490aac0e
|
Fix #609 - fix callable coercion in reconciliation step
|
2018-03-20 13:24:16 -04:00 |
|
Matthew Brown
|
d17058e7d5
|
Fix #608 - only check callable type if string/array is not also there
|
2018-03-20 08:58:05 -04:00 |
|
Matthew Brown
|
8dcb878af4
|
Fix #606 - fatal error when evaluating array_key_exists
|
2018-03-19 19:14:55 -04:00 |
|
Matthew Brown
|
8ce46aabd2
|
Allow intersection types in comments
|
2018-03-18 20:46:45 -04:00 |
|
Matthew Brown
|
8b102d891c
|
Allow intersection types in callable args
|
2018-03-18 20:29:41 -04:00 |
|
Matthew Brown
|
5068981902
|
Show info suppression instructions in output
|
2018-03-18 18:27:10 -04:00 |
|
Matthew Brown
|
303e3bbf0f
|
Fix #590 - add error count to stdout
|
2018-03-18 18:04:50 -04:00 |
|
Matthew Brown
|
cc9ffb36d9
|
Actually suppress child issues
|
2018-03-18 17:26:28 -04:00 |
|
Matthew Brown
|
0defe84e01
|
Allow use of $argv and $argc in function use statements
|
2018-03-18 17:11:14 -04:00 |
|
Matthew Brown
|
80cf80dbda
|
Reduce number of InvalidOperand issues further
|
2018-03-18 16:58:54 -04:00 |
|
Matthew Brown
|
e0bdfeb625
|
Fix erroneous message for invalid right operands
|
2018-03-18 16:46:26 -04:00 |
|
Matthew Brown
|
d7a585160f
|
Add more granular error messages for invalid operands
|
2018-03-18 16:39:34 -04:00 |
|
Matthew Brown
|
33be97b1f8
|
Check for to-string casts in strict operands mode
|
2018-03-18 14:42:23 -04:00 |
|
Matthew Brown
|
f5ee373244
|
Fix build
|
2018-03-18 14:23:11 -04:00 |
|
Matthew Brown
|
4b014eaee1
|
Fix #600 - don’t implicitly convert object name to string
|
2018-03-18 14:16:47 -04:00 |
|
Matthew Brown
|
6b793db5c6
|
Allow some intersection types
Fixes #600 Ref #594
|
2018-03-18 13:57:28 -04:00 |
|
Matthew Brown
|
025b7049fd
|
Allow $argv/$argc to be accessed from namespace
|
2018-03-18 10:38:08 -04:00 |
|
Matthew Brown
|
28522c4f94
|
Fix #588 - allow anonymous classes to call $this functions
|
2018-03-18 01:07:14 -04:00 |
|
Matthew Brown
|
5575ead4b2
|
Make get_called_class and get_class return class-string pseudotype
Fixes #584
|
2018-03-17 22:11:16 -04:00 |
|
Matthew Brown
|
2e0aded816
|
Fix issue with empty checks and array_key_exists for property keys
|
2018-03-17 19:28:01 -04:00 |
|
Matthew Brown
|
b0b3c9287e
|
Fix array_key_exists calls on possibly undefined objectlike
|
2018-03-17 19:03:46 -04:00 |
|
Matthew Brown
|
e61815bb72
|
Fix #458 - fully support optional array keys
|
2018-03-17 18:05:50 -04:00 |
|
Matthew Brown
|
4175d1a887
|
Add PossiblyUndefinedVariable warning when using possibly undefined array key
|
2018-03-17 17:35:36 -04:00 |
|
Matthew Brown
|
61af2a924c
|
Fix #575 - generated possibly-undefined keys when scanning objectlike return types
Ref #458
|
2018-03-17 16:53:11 -04:00 |
|
Matthew Brown
|
91955f67d0
|
Fix return
|
2018-03-17 15:28:41 -04:00 |
|
Matthew Brown
|
3578c49bf2
|
Add test for #587
|
2018-03-17 15:02:25 -04:00 |
|
Matthew Brown
|
a51e67018e
|
Fix #587 - check RHS of assignments for variadic receptors
|
2018-03-17 15:01:13 -04:00 |
|
Matthew Brown
|
95b5f205c4
|
Fix #587 - scan all functions for func_get_args
|
2018-03-17 09:22:28 -04:00 |
|
Matthew Brown
|
eb3750d8f3
|
Remove unnecessary @var annotations
|
2018-03-17 00:19:55 -04:00 |
|
Matthew Brown
|
10d18481a2
|
Add syntax support for optional array types
Ref #458
|
2018-03-16 23:37:10 -04:00 |
|
Matt Brown
|
f806e16c10
|
Fix #516 - never show issues when finding references
|
2018-03-16 11:15:07 -04:00 |
|
Matt Brown
|
d6e0708e88
|
Fix #577 - allow int in second param of strpos
|
2018-03-15 17:32:03 -04:00 |
|
Matt Brown
|
e5e0c56abc
|
Don’t remove clauses on mixed, just substitute for wedges
|
2018-03-15 16:40:22 -04:00 |
|
Matt Brown
|
651b375c62
|
Fix #579 - improve checks for meta-type negation
|
2018-03-15 14:25:04 -04:00 |
|
Matt Brown
|
a253463ba8
|
Use strings for numeric string key offsets
|
2018-03-15 10:16:11 -04:00 |
|
Matthew Brown
|
d0fc48cfaf
|
Remove unnecessary whitespace
|
2018-03-15 00:37:08 -04:00 |
|
Matt Brown
|
822d0a116e
|
Reflect all numeric types passed to abs
Fixes #576
|
2018-03-14 18:05:36 -04:00 |
|
Matt Brown
|
92ada48433
|
Allow the iterable pseudo-type to be treated as array|Traversable
Fixes #574
|
2018-03-14 17:50:55 -04:00 |
|
Matt Brown
|
d9ab5e62d6
|
Prevent unnecessary warnings when checking trait-required methods
|
2018-03-14 10:51:13 -04:00 |
|
Matt Brown
|
0bd229a86f
|
Add better checks for trait-related fatal errors
|
2018-03-13 18:12:05 -04:00 |
|
Bruce Weirdan
|
1dfd103aa2
|
ReflectionExtension type refinements
Added more detailed return types for ReflectionExtension methods, fixed
`isPersistent` method name
|
2018-03-13 13:53:40 -04:00 |
|
Matt Brown
|
0637e02a6d
|
Fix build bug
|
2018-03-13 13:50:53 -04:00 |
|
Matt Brown
|
52b6a5cbde
|
Fix #571 - fix buggy handling of packed vars
|
2018-03-13 13:50:41 -04:00 |
|
Matt Brown
|
ef35cfc6fe
|
Fix #566 - check for abstract methods inheriting from non-abstract ones
|
2018-03-13 12:52:00 -04:00 |
|
Matthew Brown
|
5cd8b3cccd
|
Don’t ignore @function calls
Fixes #570
|
2018-03-12 23:48:10 -04:00 |
|
Matthew Brown
|
3059a54768
|
Fix #569 - fix trait method mapping bug
|
2018-03-12 23:37:21 -04:00 |
|
Matthew Brown
|
73fadab0b5
|
Make Phar more robust to object namespace changes
|
2018-03-12 00:01:52 -04:00 |
|
Bruce Weirdan
|
a1f481d8a2
|
commented out code cleanup
|
2018-03-08 19:14:06 -05:00 |
|
Bruce Weirdan
|
12488ea8ed
|
dropped commented out code, added file_exists() checks for stubs
|
2018-03-08 19:14:06 -05:00 |
|
Bruce Weirdan
|
32884774e4
|
build psalm.phar using humbug/box
|
2018-03-08 19:14:06 -05:00 |
|
Matt Brown
|
b54fb06552
|
Handle variable paths in a less naive fashion
Fixes #564
|
2018-03-08 15:57:46 -05:00 |
|
Matt Brown
|
19ee843d6c
|
Emit InvalidOperand if both sides are not numeric
|
2018-03-08 14:30:40 -05:00 |
|
Matt Brown
|
56bdb924f5
|
Fix #563 - improve error message and ignore falsable issues for strtotime
|
2018-03-08 14:04:00 -05:00 |
|
Matt Brown
|
4873228e52
|
Fix #561 - add all the do-defined vars before checking loop
|
2018-03-08 11:17:27 -05:00 |
|
Matthew Brown
|
67312be2a9
|
Fix #562 - allow if/else blocks to initialise vars
|
2018-03-08 09:30:31 -05:00 |
|
Matt Brown
|
cd521e7ba5
|
Also flesh out object like array types
|
2018-03-07 13:54:46 -05:00 |
|
Matt Brown
|
79c373c121
|
Add more LessSpecificReturnTypeTests
|
2018-03-07 13:11:36 -05:00 |
|
Matt Brown
|
692edd44c9
|
Use properly namespaced generic object
|
2018-03-07 12:00:33 -05:00 |
|
Matt Brown
|
e5ccdc7fa0
|
Make sure php string from TClassString is accurate
|
2018-03-07 11:35:48 -05:00 |
|
Matt Brown
|
4bf652863b
|
Also check for non-false returns on LessSpecificReturnType
|
2018-03-07 11:16:56 -05:00 |
|
Matt Brown
|
d185253396
|
Don’t throw exception if classloader hasn’t been set
|
2018-03-06 17:30:54 -05:00 |
|
Matt Brown
|
4248cacbaf
|
Flesh out template type before replacing
|
2018-03-06 14:23:41 -05:00 |
|
Matt Brown
|
6d767de043
|
Ignore nullable class strings where appropriate
|
2018-03-06 14:11:32 -05:00 |
|
Matt Brown
|
fac5554e13
|
Fix errors around static class constants in template vars
|
2018-03-06 13:59:59 -05:00 |
|
Matt Brown
|
b664c85642
|
Add new issue conditional on config flag
|
2018-03-06 12:19:50 -05:00 |
|
Matt Brown
|
357ad1aa82
|
Add config flags to allow stricter class invocation checks
|
2018-03-06 11:20:59 -05:00 |
|
Matthew Brown
|
4074b3fff0
|
Fix ctype_xdigit
|
2018-03-05 23:20:55 -05:00 |
|
Matthew Brown
|
123f70fc52
|
All the ctype functions con take a string or an int
|
2018-03-05 23:19:12 -05:00 |
|
Matt Brown
|
57bbdc8034
|
Replace classlike name with more accurate context self
|
2018-03-05 18:05:12 -05:00 |
|
Matt Brown
|
7c5986de01
|
Add return type checks for missing classes
|
2018-03-05 17:46:13 -05:00 |
|
Matt Brown
|
aff689deea
|
Add support for __CLASS__ in template types
|
2018-03-05 17:36:08 -05:00 |
|
Matt Brown
|
57c2adb923
|
Fix #558 - add extra tests around functionality
|
2018-03-05 17:10:52 -05:00 |
|
Matt Brown
|
850998ed1a
|
Add class-string type for enforcing use of ::class constants
|
2018-03-05 16:06:06 -05:00 |
|
Matt Brown
|
d8825701f5
|
Fix #556 - closure params with defaults can still accept extra
|
2018-03-05 10:29:19 -05:00 |
|
Matthew Brown
|
a0be2e390a
|
Fix case of mapping function before analysis
|
2018-03-05 09:05:38 -05:00 |
|
Matthew Brown
|
67cad2063d
|
Fix #555 - fix function name mapping class
|
2018-03-05 09:01:24 -05:00 |
|
Matthew Brown
|
806b032b13
|
Downgrade UndefinedMethod to PossiblyUndefinedMethod issue when one type has __call defined
|
2018-03-04 13:23:40 -05:00 |
|
Matthew Brown
|
5f03d08cb2
|
Remove unused variable
|
2018-03-04 12:54:00 -05:00 |
|
Matthew Brown
|
a0ce8791d3
|
Detect fatal issues where property access is overridden
Fixes #547
|
2018-03-04 12:24:50 -05:00 |
|
Matthew Brown
|
9d48585b0e
|
Fix #552 - fix path that stubs are loaded from
|
2018-03-03 19:05:15 -05:00 |
|
Matthew Brown
|
3b48f43fdc
|
Throw exception if function doesn’t exist
|
2018-03-03 16:52:48 -05:00 |
|
Matthew Brown
|
ecef628e21
|
Prevent iterating over undefined class
|
2018-03-03 16:52:04 -05:00 |
|
Matthew Brown
|
6458aa2e91
|
Remove unused methods
|
2018-03-03 15:29:13 -05:00 |
|
Matthew Brown
|
b90a58533b
|
Fix tests and return types
|
2018-03-03 15:25:35 -05:00 |
|
Matthew Brown
|
ade9e03c85
|
Use composer autoloader for class resolution where possible
|
2018-03-03 15:19:05 -05:00 |
|
Matthew Brown
|
9fe4a97851
|
Fix issue with do
|
2018-03-03 13:21:52 -05:00 |
|
Matthew Brown
|
e419a8fe01
|
Exit early when there’s an issue in block-level elements
Fixes #550
|
2018-03-03 13:20:41 -05:00 |
|
Matthew Brown
|
9fd009a61d
|
Add more debug output for composer classmaps
|
2018-03-03 12:15:22 -05:00 |
|
Matt Brown
|
276c1a785d
|
Allow underscores to be ignored by UnusedParam checks
|
2018-03-02 11:32:34 -05:00 |
|
Matthew Brown
|
d94abc42e8
|
Fix array location
|
2018-03-02 08:38:16 -05:00 |
|
Matthew Brown
|
ee6a9b98fb
|
Allow arrays to be called (ugh)
|
2018-03-02 00:49:53 -05:00 |
|
Matthew Brown
|
154341577d
|
Give expected/actual argument counts
|
2018-03-02 00:07:19 -05:00 |
|
Matthew Brown
|
799e81bc96
|
Improve callable issue message
|
2018-03-02 00:03:07 -05:00 |
|
Matthew Brown
|
6fbd8753d5
|
Fix $function_id when checking for method existence
|
2018-03-01 23:52:11 -05:00 |
|
Matthew Brown
|
cc19f50c04
|
Prevent missing classes from confounding callable arg checks
|
2018-03-01 23:43:52 -05:00 |
|
Matthew Brown
|
6660aa8a00
|
Fix #548 - check array_map/array_filter args for param matches
|
2018-03-01 23:33:21 -05:00 |
|