Matt Brown
|
597ed0ed12
|
Fix #401 - don’t panic when checking generator against other types
|
2017-12-18 10:58:46 -05:00 |
|
Matthew Brown
|
4b0cee6142
|
Only complain about redundant conditions if there’s one negated clause
|
2017-12-18 00:47:36 -05:00 |
|
Matthew Brown
|
4ff26cdd8f
|
Fix RedundantCondition complaint when examining CNF queries
|
2017-12-18 00:39:00 -05:00 |
|
Matthew Brown
|
d804a92a93
|
Add skipped test with non-CNF algebra
|
2017-12-18 00:06:23 -05:00 |
|
Matthew Brown
|
3b7c84f484
|
Detect instances where loop invariants are invalidated
Fixes #389
|
2017-12-17 10:58:03 -05:00 |
|
Matthew Brown
|
c1ce543e81
|
Make sure to clear previously inferred types when rechecking trait statements
Fixes #399
|
2017-12-17 01:06:12 -05:00 |
|
Matt Brown
|
8ca5fbefea
|
Invalidate clauses when assigning root vars
|
2017-12-15 17:34:21 -05:00 |
|
Matt Brown
|
3b4a7a97bc
|
Don’t treat callmap scalar types as any sort of filtering mechanism
Fixes #393 and fixes #394
|
2017-12-15 16:48:06 -05:00 |
|
Tyson Andre
|
d0fe5e3127
|
Don't convert standalone false/true to bool in combineTypes (#396)
Fixes #392
|
2017-12-15 16:36:42 -05:00 |
|
Mario Blazek
|
8590b2b9b4
|
Use namespaced TestCase from PHPUnit (#395)
|
2017-12-15 06:18:33 -05:00 |
|
Tyson Andre
|
136d48f77c
|
Support @property-read and @property-write as new tags. (#317)
In combination with `@psalm-seal-properties`, this can be used to
have in-depth checking of magic properties.
|
2017-12-14 14:22:27 -05:00 |
|
Matt Brown
|
52c414f1d2
|
Fix return {expr} checks for void functions
|
2017-12-14 12:50:02 -05:00 |
|
Matt Brown
|
b319f54ff6
|
Fix issue with equality of scalar types not from docblock
|
2017-12-14 11:23:20 -05:00 |
|
Matthew Brown
|
dc65c14bc4
|
Fix properties fetches with self
|
2017-12-13 22:29:38 -05:00 |
|
Matthew Brown
|
34c133d5d0
|
Add for post conditions to assignment map analysis
|
2017-12-13 22:04:37 -05:00 |
|
Matthew Brown
|
298ee214e9
|
Only allow variables greater than a number to be non-null
|
2017-12-13 20:48:01 -05:00 |
|
Matthew Brown
|
e63441af1e
|
Make sure $a > 0 removes null from $a
Fixes #186
|
2017-12-13 20:06:19 -05:00 |
|
Matthew Brown
|
e55fe2f158
|
Don’t complain about possibly undefined vars when calling unset
Fixes #139
|
2017-12-13 19:46:58 -05:00 |
|
Matt Brown
|
4b8c242f5d
|
Create fake get_class/gettype statements where necessary
|
2017-12-13 15:56:05 -05:00 |
|
Matt Brown
|
301e393e37
|
Remove resource and callable from falsy checks
|
2017-12-11 11:32:14 -05:00 |
|
Matthew Brown
|
146cb12277
|
Refine function arguments if they match non-docblock equivalents
|
2017-12-10 21:14:30 -05:00 |
|
Matthew Brown
|
46feaaf1c6
|
Don’t run try/catch analysis twice
|
2017-12-10 20:21:21 -05:00 |
|
Matthew Brown
|
f8207fe490
|
Improve handling of try/catch blocks, suppressing RedundantCondition where necessary
Fixes #355
|
2017-12-10 17:36:33 -05:00 |
|
Matthew Brown
|
31ce716647
|
Widen empty array checks
|
2017-12-10 16:17:27 -05:00 |
|
Matthew Brown
|
c95af0bb57
|
Fix issue with assigning empty type
|
2017-12-10 14:56:51 -05:00 |
|
Matthew Brown
|
a345ec49a1
|
Fix is_bool checks on true vars
|
2017-12-09 16:05:31 -05:00 |
|
Matthew Brown
|
42dcd136ca
|
Improve treatment of true and fix #369
|
2017-12-09 15:51:38 -05:00 |
|
Matthew Brown
|
13f290038a
|
Improve RedundantCondition checks and add true type
Fixes #383
|
2017-12-09 14:53:39 -05:00 |
|
Matt Brown
|
eca7351472
|
Add return-level issues as well as function-level ones
Fixes #379
|
2017-12-07 15:50:25 -05:00 |
|
Matthew Brown
|
2a7b48ce5f
|
Add support for infinite loops
Fixes #381
|
2017-12-06 23:46:41 -05:00 |
|
Matt Brown
|
6c84fecce9
|
Always update the parent context from the loop context
Fixes #377
|
2017-12-06 19:20:24 -05:00 |
|
Matthew Brown
|
0eedad4f6a
|
Add UndefinedGlobalVariable issue and asssociated Possibly... one
|
2017-12-06 00:56:00 -05:00 |
|
Matthew Brown
|
a87a1f0dc9
|
Make sure undeclared array offset vars have type mixed
Fixes #360
|
2017-12-06 00:35:41 -05:00 |
|
Matthew Brown
|
59b50bdcdd
|
Add proper types for magic constants
Fixes #362
|
2017-12-06 00:05:01 -05:00 |
|
Matthew Brown
|
52fc81e4ab
|
Remove need for a __toString return type
Fixes #364
|
2017-12-05 23:47:50 -05:00 |
|
Matt Brown
|
d10898b853
|
Remove code that only caused pain
|
2017-12-05 16:54:24 -05:00 |
|
Matt Brown
|
e2b1b24dbf
|
Fix empty checks, make them more like isset checks
Fixes #372
|
2017-12-05 12:14:10 -05:00 |
|
Matt Brown
|
98085b2267
|
Fix #371 - improve handling of do statements broken in loop refactor
|
2017-12-05 11:05:10 -05:00 |
|
Matthew Brown
|
a8a1489a8f
|
Fix closure naming convention so it doesn’t confuse method id checks
|
2017-12-05 01:47:49 -05:00 |
|
Matthew Brown
|
02dcb2be95
|
Get or LHS clauses after evaluating statements
|
2017-12-03 18:22:25 -05:00 |
|
Matthew Brown
|
6843dfb7fc
|
Remove from_docblock status if we make a successful method call
|
2017-12-03 17:21:20 -05:00 |
|
Matthew Brown
|
7d003c5bc1
|
Fix erroneous treatment of or clauses in if statements
|
2017-12-03 16:25:52 -05:00 |
|
Matthew Brown
|
181d1bb129
|
Don’t complain about redundant conditions for possibly undefined vars
|
2017-12-03 15:00:59 -05:00 |
|
Matthew Brown
|
cb4691fb44
|
Always set templated types as being from docblocks
|
2017-12-03 13:22:06 -05:00 |
|
Matthew Brown
|
cff7f35d00
|
Change __toString type conversions to more precise getId checks
|
2017-12-03 12:44:08 -05:00 |
|
Matthew Brown
|
a47675250a
|
Set that a type is from docblock when substituting in docblock atomic type
|
2017-12-03 01:24:47 -05:00 |
|
Matthew Brown
|
be3212eb42
|
Remove conflicting clauses from switch assertions
|
2017-12-03 00:58:24 -05:00 |
|
Matthew Brown
|
9a83990053
|
Clear clauses made redundant by pre-loop assignments
|
2017-12-02 20:02:29 -05:00 |
|
Matthew Brown
|
d20b8d3034
|
Improve loop analysis (#365)
|
2017-12-02 18:28:18 -05:00 |
|
Matthew Brown
|
3fca70c77b
|
Always reemove clauses if from_docblock status has changed
|
2017-12-02 17:57:58 -05:00 |
|