Matthew Brown
|
a4323359d3
|
Fix ternary/which/for conditionals
|
2017-02-12 18:47:02 -05:00 |
|
Matthew Brown
|
81e24de76f
|
Fix invalid NullPropertyFetch warning
|
2017-02-12 18:06:18 -05:00 |
|
Matthew Brown
|
2635744f4e
|
Simplify array inferred type
|
2017-02-12 16:58:04 -05:00 |
|
Matthew Brown
|
8e7ab59e2b
|
Add return types for core vars
|
2017-02-12 12:22:39 -05:00 |
|
Matthew Brown
|
7876c7ffb9
|
Allow mixed to override null in byref assignment
|
2017-02-12 11:34:07 -05:00 |
|
Matthew Brown
|
bb9221ba01
|
Analyze die/exit expressions
|
2017-02-11 19:42:12 -05:00 |
|
Matthew Brown
|
f32fabd798
|
Remove dead code
|
2017-02-11 19:30:06 -05:00 |
|
Matthew Brown
|
35e4b380cc
|
Add collection of PossiblyNull* issues
|
2017-02-11 17:55:08 -05:00 |
|
Matthew Brown
|
dbddedb20b
|
Don’t create objectlike if we some properties are untyped
|
2017-02-10 23:35:34 -05:00 |
|
Matt Brown
|
32d85e20da
|
Remove unused vars
|
2017-02-10 19:10:13 -05:00 |
|
Matt Brown
|
6b2bb7d917
|
Store first code location for all variables in a statement list
|
2017-02-07 18:09:12 -05:00 |
|
Matthew Brown
|
01beb97413
|
Fix #87 - array types from docblocks can be reasoned about safely
|
2017-02-03 22:07:14 -05:00 |
|
Matthew Brown
|
0fbf8b5619
|
Remove more dead code
|
2017-02-02 00:45:23 -05:00 |
|
Matthew Brown
|
d3abc0011d
|
Fix #80 - add dead code checks via command line
|
2017-01-31 23:24:33 -05:00 |
|
Matthew Brown
|
ff46487353
|
Be more discerning about unaryminus/plus inferred type
|
2017-01-25 21:50:34 -07:00 |
|
Matthew Brown
|
c14a19370f
|
Improve UnaryPlus/Minus still more
|
2017-01-25 20:23:06 -07:00 |
|
Matthew Brown
|
f03807e7b7
|
Fix unaryplus/minus type inference
|
2017-01-25 20:02:19 -07:00 |
|
Matthew Brown
|
0da9c10d36
|
Don’t complain when adding array and object-like array
|
2017-01-23 15:40:55 -07:00 |
|
Matt Brown
|
a67800cac7
|
Ignore cloning of mixed variables
|
2017-01-19 15:00:05 -05:00 |
|
Matthew Brown
|
9220b958eb
|
Fix phpcs errors
|
2017-01-16 19:06:39 -05:00 |
|
Matthew Brown
|
b3726c9de5
|
Use getcwd() for the project’s base, not the config file parent directory
|
2017-01-16 18:33:04 -05:00 |
|
Matthew Brown
|
e3a9cb98c3
|
Add extra issue for invalid clone and fix issue reporting;
|
2017-01-16 12:59:09 -05:00 |
|
Matthew Brown
|
5315fd15ad
|
Fix namespaced functions in regular use statements
|
2017-01-16 00:49:12 -05:00 |
|
Matthew Brown
|
ce89ac4986
|
Fix #50 - asserting about docblock types no longer causes error
|
2017-01-15 17:52:01 -05:00 |
|
Matthew Brown
|
faccc73dc1
|
Fix #52 by analysing non-main parts of issets
|
2017-01-15 13:58:20 -05:00 |
|
Matthew Brown
|
03141e41c2
|
Move string-stored types into named classes
|
2017-01-15 10:22:05 -05:00 |
|
Matt Brown
|
35c06261b9
|
Fix #38 - emit issue for non-array on right too
|
2017-01-13 13:09:52 -05:00 |
|
Matthew Brown
|
5f54a9571c
|
Fix deep project checks
|
2017-01-12 01:03:48 -05:00 |
|
Matthew Brown
|
17329015dc
|
Discriminate between checking, visiting and analyzing in method names
|
2017-01-07 15:09:47 -05:00 |
|
Matthew Brown
|
694da2cabd
|
Simplify a lot of APIs
|
2017-01-07 14:35:07 -05:00 |
|
Matthew Brown
|
7609ca02c0
|
Fix #32 by evaluating all class references in files lazily
|
2017-01-04 23:42:58 -05:00 |
|
Matthew Brown
|
0b3b3f01f3
|
Fix support for traits returning self
|
2016-12-31 11:49:04 -05:00 |
|
Matthew Brown
|
b068bd7858
|
Fix many bugs
|
2016-12-30 20:05:32 -05:00 |
|
Matthew Brown
|
21816723c7
|
Make config schema more relaxed about ordering and fix trait bugs
|
2016-12-30 01:51:29 -05:00 |
|
Matthew Brown
|
641ffc09c9
|
Add NullOperand issue for easy ignoring
|
2016-12-29 00:32:12 -05:00 |
|
Matthew Brown
|
18e7c65430
|
Emit more InvalidOperand issues
|
2016-12-29 00:14:06 -05:00 |
|
Matthew Brown
|
992e7ae256
|
Fix #1 - add in support for !==false-negating assertions in ifs
|
2016-12-28 16:39:05 -05:00 |
|
Matthew Brown
|
797875ba9a
|
Fix #10 - allow negated assignments
|
2016-12-28 16:29:50 -05:00 |
|
Matthew Brown
|
6972c45c14
|
Remove vars from parent clauses when they are reconciled with vars
|
2016-12-28 14:20:16 -05:00 |
|
Matthew Brown
|
05834a0db3
|
Fix #13 by revamping how we treat type assertions in if statements and ternary expressions
|
2016-12-28 13:12:06 -05:00 |
|
Matthew Brown
|
513fcea101
|
Only assign type when not null
|
2016-12-25 01:12:26 +00:00 |
|
Matthew Brown
|
c51d8f5220
|
Implement MixedOperand and InvalidOperand issues
|
2016-12-24 18:29:11 +00:00 |
|
Matthew Brown
|
c55870e26c
|
Allow generic TypeChecker::isContainedBy checks
|
2016-12-24 18:28:43 +00:00 |
|
Matthew Brown
|
9746c8972f
|
Fix MixedAssignment errors
|
2016-12-17 00:48:31 -05:00 |
|
Matthew Brown
|
592ee98efc
|
Fix bugs discovered by adding more tests
|
2016-12-11 23:40:46 -05:00 |
|
Matthew Brown
|
144625f625
|
Add numeric check back, with caveats
|
2016-12-11 20:36:27 -05:00 |
|
Matthew Brown
|
1e8f986d8c
|
Narrow down error lines for reconcileKeyedTypes
|
2016-12-11 13:59:36 -05:00 |
|
Matthew Brown
|
73b1ab1411
|
Support int offsets in dealing with type inference
|
2016-12-10 18:24:28 -05:00 |
|
Matthew Brown
|
327e3150a2
|
Fix erroneous self-check
|
2016-12-10 15:08:38 -05:00 |
|
Matthew Brown
|
c3df70e634
|
Allow int offsets to be treated as keys
|
2016-12-10 15:01:59 -05:00 |
|
Matt Brown
|
ce3b24bf5f
|
Fix #8 - defer always to call map if function not user-defined
|
2016-12-09 12:07:47 -05:00 |
|
Matt Brown
|
c9557d47ce
|
Fix exponentiation and modulo type inference
|
2016-12-08 16:37:14 -05:00 |
|
Matt Brown
|
117645ac73
|
Account for off-by-one issue in PhpParser
|
2016-12-08 15:57:18 -05:00 |
|
Matt Brown
|
55a060b53a
|
Add support for closure checks
|
2016-12-07 14:13:39 -05:00 |
|
Matthew Brown
|
dcb9e1af14
|
Be more lenient when computing result of addition/subtraction
|
2016-12-04 18:41:33 -05:00 |
|
Matthew Brown
|
03d8a4ab0b
|
Add support for array destructuring with keys
|
2016-12-04 14:14:00 -05:00 |
|
Matthew Brown
|
a1acbfec07
|
Show code snippets when reporting errors
This also introduces a new method of identifying specific code locations when creating issues
|
2016-12-03 19:11:30 -05:00 |
|
Matthew Brown
|
4f95c67e1c
|
Emit issues for null/mixed array access
|
2016-11-21 19:07:56 -05:00 |
|
Matthew Brown
|
d542b22322
|
Add belt & braces file checking
|
2016-11-18 16:13:59 -05:00 |
|
Matthew Brown
|
f2ce83c8e5
|
Fix minor boop
|
2016-11-13 15:55:06 -05:00 |
|
Matthew Brown
|
fa2209719b
|
Fix nullref
|
2016-11-13 15:46:35 -05:00 |
|
Matthew Brown
|
409a7e4b9e
|
Fix assignment checks
|
2016-11-13 15:39:16 -05:00 |
|
Matthew Brown
|
264e77addd
|
Change a few more words
|
2016-11-07 19:16:51 -05:00 |
|
Matthew Brown
|
36fc49965b
|
Correct speling
|
2016-11-07 17:31:02 -05:00 |
|
Matthew Brown
|
622a0794c3
|
Swap in Fully-Qualified for Absolute terms
|
2016-11-07 17:29:51 -05:00 |
|
Matthew Brown
|
3b038db454
|
Avoid missing property
|
2016-11-07 15:29:47 -05:00 |
|
Matthew Brown
|
721e0d01e2
|
Get rid of var_dumps
|
2016-11-05 20:53:39 -04:00 |
|
Matthew Brown
|
b3f3a20928
|
Correctly evaluate $this and self in property/return types
|
2016-11-05 18:31:09 -04:00 |
|
Matthew Brown
|
7c44353116
|
Add inferredType to InstanceOf_
|
2016-11-05 17:57:14 -04:00 |
|
Matthew Brown
|
c5591adf10
|
Add support for global in functions and mixed inferred return errors
|
2016-11-05 17:54:34 -04:00 |
|
Matthew Brown
|
7df4d74a7b
|
Fix Psalm errors
|
2016-11-04 21:14:04 -04:00 |
|
Jon Ursenbach
|
27c2db1d1d
|
PSR-2
|
2016-11-02 17:50:54 -04:00 |
|
Matthew Brown
|
88eb43e9ca
|
Break out ExpressionChecker
|
2016-11-01 14:14:41 -04:00 |
|
Matthew Brown
|
712752d587
|
Split out asssignment methods
|
2016-11-01 11:37:58 -04:00 |
|
Matthew Brown
|
34af24a2b4
|
Add all the properties
|
2016-11-01 00:39:41 -04:00 |
|
Matthew Brown
|
c2f63c392e
|
Emit issue if property type is missing
|
2016-10-31 15:17:54 -04:00 |
|
Matthew Brown
|
8fefaecd9c
|
Skip when encountering null list var
|
2016-10-30 19:59:26 -04:00 |
|
Matthew Brown
|
4d5b0abb74
|
Add explicit value tracking
|
2016-10-30 19:52:35 -04:00 |
|
Matthew Brown
|
b220ee51cc
|
Correctly assign list values
|
2016-10-30 19:38:08 -04:00 |
|
Matthew Brown
|
53cef386a2
|
Do not error on mixed input
|
2016-10-30 12:53:56 -04:00 |
|
Matthew Brown
|
6cd63cc0f3
|
Fix nullref
|
2016-10-30 12:51:41 -04:00 |
|
Matthew Brown
|
604c875d0c
|
Fix more errors caught by Psalm
|
2016-10-30 12:46:18 -04:00 |
|
Matthew Brown
|
722a7fba5c
|
Don't squeal when autoloading classes
|
2016-10-30 01:13:33 -04:00 |
|
Matthew Brown
|
98437c52db
|
Check closure params to see if they align with array_map/array_filter args
|
2016-10-29 22:17:46 -04:00 |
|
Matthew Brown
|
9f94add470
|
Update plugin interface to add $suppressed_issues
|
2016-10-28 16:49:42 -04:00 |
|
Matthew Brown
|
b31ac4a862
|
Removed object-like type descriptor in favour of array{} syntax
|
2016-10-28 13:24:06 -04:00 |
|
Matthew Brown
|
0b0a5ff0e8
|
Better check for bad static invocation
|
2016-10-28 10:22:45 -04:00 |
|
Matthew Brown
|
95f5a4603a
|
Add property for poorly-reflected builtin classes
|
2016-10-27 16:05:27 -04:00 |
|
Matthew Brown
|
357cd8ad41
|
Add support for Closure::__invoke
|
2016-10-24 15:55:05 -04:00 |
|
Matthew Brown
|
ce95275878
|
Fix more Psalm bugs found by Psalm
|
2016-10-23 12:24:53 -04:00 |
|
Matthew Brown
|
d8b10a6c97
|
Fix errors caught by Psalm
|
2016-10-23 01:57:11 -04:00 |
|
Matthew Brown
|
fbdfc78546
|
Fix references to moved fucntionality
|
2016-10-22 18:25:14 -04:00 |
|
Matthew Brown
|
f3f1ba1caa
|
Break out block checkers
|
2016-10-22 17:35:59 -04:00 |
|
Matthew Brown
|
dda4c52e03
|
Fix ref
|
2016-10-22 13:29:32 -04:00 |
|
Matthew Brown
|
e4ba8b1abc
|
Make StatementsChecker much smaller
|
2016-10-22 13:28:40 -04:00 |
|