Matthew Brown
|
79d547d0a0
|
Add support for second dirname arg
Fixes #900
|
2018-07-21 20:22:42 -04:00 |
|
Matthew Brown
|
c97329da06
|
Fix #903 - make sure parent::foo is executed in context of method’s class
and not immediate parent
|
2018-07-21 20:01:58 -04:00 |
|
Matthew Brown
|
2af7ea05da
|
Fix #897 - understand static class comparisons in is_a
|
2018-07-17 22:50:30 -04:00 |
|
Matthew Brown
|
0fa7cbeb02
|
Fix #895 - check __call magic method args
|
2018-07-16 22:48:53 -04:00 |
|
Matt Brown
|
92aa3f8117
|
Fix dumb regression
|
2018-07-16 16:07:18 -04:00 |
|
Matt Brown
|
b80440f1e3
|
Fix #893 - improve error message for missing intersection type method
|
2018-07-16 11:52:38 -04:00 |
|
Matthew Brown
|
e836f69ca2
|
Fix #502 - check for bad generator return in more places
|
2018-07-15 17:47:58 -04:00 |
|
Matthew Brown
|
91f7cdf134
|
Fix #890 - improve reporting site for some method issues
|
2018-07-13 18:47:21 -04:00 |
|
Matthew Brown
|
4172952e8b
|
Fix #306 - add support for typing generators
|
2018-07-13 17:34:44 -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
|
677e6edcb1
|
Fix nullref
|
2018-07-13 09:58:35 -04:00 |
|
Matthew Brown
|
3a235ad757
|
Fix #887 - resolve get_class($c) === self::class to current class name
|
2018-07-13 09:52:15 -04:00 |
|
Matthew Brown
|
d41a9a8dcc
|
Fix #806 - allow specification of functions and static methods that exit
|
2018-07-12 23:26:08 -04:00 |
|
Matt Brown
|
7713c7a8d6
|
Use continue 2 in place of continue
|
2018-07-12 18:04:05 -04:00 |
|
Matt Brown
|
c2bc8bde55
|
Fix #866 - prevent false positive inside do
|
2018-07-12 12:08:15 -04:00 |
|
Matt Brown
|
8b3fa21b41
|
Fix #884 - don’t error on static calls that aren’t user defined
|
2018-07-11 12:05:50 -04:00 |
|
Matt Brown
|
42e1090647
|
Add support for static method call assertions
|
2018-07-11 11:32:12 -04:00 |
|
Matt Brown
|
661803a020
|
Fix #883 - add @psalm-assert-if-true support to methods
|
2018-07-11 11:22:07 -04:00 |
|
Matt Brown
|
0ef71a49cb
|
Fix #882 - allow STDOUT and STDERR as constants
|
2018-07-10 17:40:34 -04:00 |
|
Matt Brown
|
bbf48bbdfe
|
Fix #873 - allow unpacking of all iterables
|
2018-07-09 09:59:51 -04:00 |
|
Matthew Brown
|
3b12ce4a31
|
Fix #874 - add support for is_iterable
|
2018-07-09 08:31:43 -04:00 |
|
Matt Brown
|
e62b711c36
|
Fix docblock
|
2018-07-06 14:14:24 -04:00 |
|
Matt Brown
|
a887d09ca9
|
Fix #867 - make some system constant types more broad
|
2018-07-06 13:35:36 -04:00 |
|
Matthew Brown
|
ced0aef34d
|
Clean out assertions before re-examining loop
|
2018-07-06 00:36:11 -04:00 |
|
Matthew Brown
|
8a4d7e12bd
|
Fix issues found by scanning PHPCS
|
2018-07-05 23:02:09 -04:00 |
|
Matthew Brown
|
c4fd6aa18d
|
Allow break/continue inside do
|
2018-07-05 21:03:44 -04:00 |
|
Matt Brown
|
af14d6982f
|
Fix #863 - MixedTypeCoercion is more appropriate in many cases
|
2018-07-05 10:11:04 -04:00 |
|
Matthew Brown
|
7d747be5d5
|
Fix checks for possibly null right part of binary op
|
2018-07-03 19:52:40 -04:00 |
|
Matt Brown
|
b8636eb326
|
Improve memoisation of chained calls
|
2018-07-03 12:45:29 -04:00 |
|
Matt Brown
|
534876085d
|
Fix #857 - improve handling of hard-to-reconcile while conditionals
|
2018-07-03 12:27:14 -04:00 |
|
Matthew Brown
|
5623aa1c19
|
Don’t memoise assertions - it messes with trait analysis
|
2018-07-03 00:51:57 -04:00 |
|
Matthew Brown
|
5860fcf59d
|
We can reason about ORed conditions in while loops now
|
2018-07-02 23:46:51 -04:00 |
|
Matt Brown
|
6287f52dd5
|
Fix loop analysis for byref vars, likely performance hit
|
2018-07-02 16:44:32 -04:00 |
|
Matthew Brown
|
16e270f0ee
|
Improve loading of stub file and autoload file information
Ref #849
|
2018-06-30 15:29:37 -04:00 |
|
Matthew Brown
|
bca3b1797c
|
Fix #852 - improve handling of variables updated in do conditional
|
2018-06-30 12:56:42 -04:00 |
|
Matthew Brown
|
5ed062257b
|
Allow dead code detection to capture last do checks
|
2018-06-30 11:08:51 -04:00 |
|
Matthew Brown
|
b5c89084fc
|
Fix #851 - prevent null being removed in simplifyUnionType
|
2018-06-30 10:38:37 -04:00 |
|
Matt Brown
|
2fc816a6e1
|
Fix repeated use of spread operator
|
2018-06-28 17:05:50 -04:00 |
|
Matt Brown
|
72b110af3f
|
Analyse RHS of instanceof expressions if expression
|
2018-06-27 10:07:40 -04:00 |
|
Matthew Brown
|
685ae67435
|
Fix #839 - check args for __call methods
|
2018-06-26 23:11:16 -04:00 |
|
Matthew Brown
|
5867ef45ff
|
Check method args even if the methods themselves cannot be checked
|
2018-06-25 19:38:15 -04:00 |
|
Matt Brown
|
ffda44c3ba
|
Fix #838 - check assertions, even outside conditionals
|
2018-06-25 18:02:05 -04:00 |
|
Matthew Brown
|
e3ae1bf26f
|
Fix #15 - check for uncaught throws if config flag is set
|
2018-06-22 01:13:49 -04:00 |
|
Matt Brown
|
740279352e
|
Fix #830 - unpack template param args appropriately
|
2018-06-20 10:40:50 -04:00 |
|
Matt Brown
|
e10b2c0fd4
|
Fix #805 - allow dead code detection from methods just called internally
|
2018-06-19 16:14:51 -04:00 |
|
Matt Brown
|
11240eb193
|
Fix #826 allow better template replacements
|
2018-06-19 13:19:41 -04:00 |
|
Matt Brown
|
2be0f68d87
|
Add better checks on increment/decrement operators
|
2018-06-18 13:16:51 -04:00 |
|
Matt Brown
|
75e2be8aec
|
Fix #825 - ignore falsable issues on builtin *methods*
|
2018-06-18 10:07:05 -04:00 |
|
Matthew Brown
|
d4107f9e5e
|
Fix issue erasing nullability of boolean
|
2018-06-17 13:47:31 -04:00 |
|
Matthew Brown
|
2c245b0a08
|
Fix #823 - trigger redundant condition on impossible assertions
|
2018-06-17 13:20:37 -04:00 |
|
Matthew Brown
|
5ddd74e7d2
|
Catch unused foreach key when it’s already in scope
|
2018-06-17 00:52:32 -04:00 |
|
Matthew Brown
|
805bfa6f2d
|
Improve handling of switch statement assignments
|
2018-06-17 00:12:26 -04:00 |
|
Matthew Brown
|
89affb6c2c
|
Fix #822 - improve dead code detection on assignop expressions
|
2018-06-16 23:40:25 -04:00 |
|
Matthew Brown
|
fa51c39902
|
Improve dead code analysis of switch statements
|
2018-06-16 21:54:44 -04:00 |
|
Matthew Brown
|
f38da967dd
|
Fix a few issues with dead code detection
|
2018-06-16 21:14:19 -04:00 |
|
Matthew Brown
|
3670f066bb
|
Improve dead code detection
|
2018-06-16 20:01:41 -04:00 |
|
Matt Brown
|
3afd6053fd
|
Fix #819 - only add is_a assertion if static::class known
|
2018-06-15 10:51:30 -04:00 |
|
Matthew Brown
|
82715a03ea
|
Improve test coverage of PropertyAssignmentChecker
|
2018-06-10 10:02:46 -04:00 |
|
Matthew Brown
|
04cc920101
|
Fix #378 - improve handling of InvalidScope
|
2018-06-09 11:50:17 -04:00 |
|
Matthew Brown
|
eae563e9e4
|
Fix space after function
|
2018-06-09 10:51:02 -04:00 |
|
Matthew Brown
|
7a02d300d6
|
Fix closure return type
|
2018-06-09 10:23:04 -04:00 |
|
Matthew Brown
|
6d4d0cf825
|
Fix #794 - use template types to restrict input
|
2018-06-09 10:14:18 -04:00 |
|
Matthew Brown
|
3a3c10d044
|
Improve handling of ? before type
|
2018-06-08 23:54:07 -04:00 |
|
Matthew Brown
|
a2b1838e23
|
Fix #803 - trait methods are evaluated correctly now
|
2018-06-08 20:06:05 -04:00 |
|
Matt Brown
|
29a971d40e
|
Fix #793 - make sure in_array informs literal types
|
2018-06-08 13:53:42 -04:00 |
|
Matt Brown
|
091fa53c72
|
Fix #798 - update magic property handling so it corresponds to PHP behaviour
|
2018-06-08 11:08:57 -04:00 |
|
Matt Brown
|
6873e60847
|
Optimise flow of if evaluation
|
2018-06-07 15:04:22 -04:00 |
|
Matt Brown
|
5819ba2b67
|
Fix #801 - bust assertions on assignment in || op
|
2018-06-07 15:04:22 -04:00 |
|
Matthew Brown
|
ea4dc9f2b8
|
Improve simplexml function inference
|
2018-06-05 23:42:02 -04:00 |
|
Matthew Brown
|
a20bdaef45
|
Fix issue evaluating negated assertion
|
2018-06-03 20:24:23 -04:00 |
|
Matthew Brown
|
b5cb2b34a2
|
Fix #380 - don’t complain about legitimate (if archaic) self calls
|
2018-06-03 19:11:07 -04:00 |
|
Matt Brown
|
9bbe437f22
|
Fix issue with initially undefined variable in isset
|
2018-06-01 10:52:26 -04:00 |
|
Matthew Brown
|
ccc0c3f7d8
|
Fix negation of @psalm-assert-if-true/false
|
2018-05-31 22:46:22 -04:00 |
|
Matthew Brown
|
4ab15067de
|
Speed up unnecessary else checks
|
2018-05-31 22:20:38 -04:00 |
|
Matthew Brown
|
ee9fef050a
|
Add support for function checking plugins
|
2018-05-31 22:00:11 -04:00 |
|
Matthew Brown
|
dda9b4e48c
|
Fix #783 - allow ternarys to declare vars
|
2018-05-31 22:00:11 -04:00 |
|
Matt Brown
|
c31d963918
|
Allow constants in array offsets to be reasoned about
|
2018-05-31 16:49:01 -04:00 |
|
Matt Brown
|
ef992612d9
|
Fix $_SERVER var reconciliation
|
2018-05-31 15:30:39 -04:00 |
|
Matt Brown
|
2b697a34f8
|
Fix #786 - improve treatment of array isset checks
|
2018-05-31 15:07:03 -04:00 |
|
Matthew Brown
|
258e862c92
|
Only assign global vars to mixed if they don’t already exist
|
2018-05-31 09:02:57 -04:00 |
|
Matthew Brown
|
6b8e019a07
|
Bleed global variables declared in functions into main context
|
2018-05-30 22:09:46 -04:00 |
|
Matthew Brown
|
df89c8d7f2
|
Fix variadic check for included file functions
|
2018-05-30 21:01:50 -04:00 |
|
Matthew Brown
|
33a38113f3
|
Fix isset check
|
2018-05-30 20:54:03 -04:00 |
|
Matt Brown
|
eb10b15cfc
|
Improve reliability of elseif resolution
|
2018-05-30 18:56:44 -04:00 |
|
Matt Brown
|
549e90eca4
|
Treat required files the same as the files that require them, reporting-wise
|
2018-05-30 16:19:18 -04:00 |
|
Matt Brown
|
4fb6bbf5ee
|
Prevent clause size from ballooning
|
2018-05-30 13:57:45 -04:00 |
|
Matt Brown
|
9227e61097
|
Fix #715 - no redundant condition for is_a(self::class,...) checks inside trait
|
2018-05-30 10:13:55 -04:00 |
|
Matthew Brown
|
1a4891c2e0
|
Fix #781 - prevent DuplicateArrayKey warning unnecessarily
|
2018-05-30 07:42:00 -04:00 |
|
Tyson Andre
|
39a1ecfd89
|
Remove unused variables (#777)
|
2018-05-29 10:08:56 +01:00 |
|
Matthew Brown
|
81ae1ca222
|
Fix #747 - allow Generator to replace Traversable in templated params
|
2018-05-28 22:26:43 +01:00 |
|
Matthew Brown
|
aac01f0670
|
Fix #766 and fix #765 - improve handling of ^ and xor
|
2018-05-28 20:31:20 +01:00 |
|
Matthew Brown
|
d98261507f
|
Fix #769 - add @psalm-assert and @psalm-assert-if-true annotation support
|
2018-05-28 20:07:42 +01:00 |
|
Matt Brown
|
086b6d0372
|
Seal the output of switch statments
|
2018-05-24 14:26:29 -04:00 |
|
Matthew Brown
|
c217849737
|
Improve handling of projects that use include/require heavily
|
2018-05-22 23:39:01 -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
|
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
|
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 |
|