Matthew Brown
|
cd5f727d2e
|
Collect explicit references to classes/methods
|
2017-02-26 23:09:18 -05:00 |
|
Matt Brown
|
c85b6b376b
|
Merge do vars in scope
|
2017-02-21 17:48:12 -05:00 |
|
Matthew Brown
|
30c5977825
|
Fix issue with do statement breaking
|
2017-02-18 17:49:34 -05:00 |
|
Matthew Brown
|
e61ea17db5
|
Move FileChecker functionality into separate, better-contained classes
|
2017-02-18 13:41:27 -05:00 |
|
Matthew Brown
|
e0e92785f8
|
Complain about unevaluated code in more concrete fashion
|
2017-02-12 16:49:32 -05:00 |
|
Matthew Brown
|
d2e92131f5
|
Always set global vars, even when it might be an error
|
2017-02-12 13:27:02 -05:00 |
|
Matthew Brown
|
59fa0977f9
|
Do not panic when encountering errant global var
|
2017-02-12 12:23:05 -05:00 |
|
Matthew Brown
|
8ff6634e7b
|
Add issue for possibly unused variables in public/private methods
also changed a lot of access
|
2017-02-11 18:56:38 -05:00 |
|
Matthew Brown
|
cdcacc395d
|
Rename DeadCode to UnusedVariable, UnusedMethod and UnusedClass
|
2017-02-08 00:28:26 -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
|
ec65f31aaa
|
Improve dead code analysis and fix errors found
|
2017-02-02 00:20:58 -05:00 |
|
Matthew Brown
|
d3abc0011d
|
Fix #80 - add dead code checks via command line
|
2017-01-31 23:24:33 -05:00 |
|
Matthew Brown
|
1ece3071f9
|
Add reference counting for methods and remove dead code
|
2017-01-29 23:44:05 -05:00 |
|
Matthew Brown
|
a45c47776b
|
Fix #79 - check anonymous class statements
|
2017-01-29 13:20:12 -05:00 |
|
Matthew Brown
|
4fa0055092
|
Remove unnecessary var_dump
|
2017-01-25 17:09:31 -07:00 |
|
Matthew Brown
|
15e8c1b904
|
Fix simplifyUnionType so classes with __toString aren’t confused with string
|
2017-01-25 17:01:01 -07:00 |
|
Matthew Brown
|
27a018095b
|
Fix invalid InvalidParamDefault error when comparing to false
|
2017-01-19 01:12:19 -05:00 |
|
Matthew Brown
|
77c9d1ecbd
|
If extending FileChecker, inline included stmts
|
2017-01-18 23:35:23 -05:00 |
|
Matt Brown
|
875717bb96
|
Fix #63 by adding directory separators
|
2017-01-17 22:10:21 -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
|
4fd46fe2c8
|
Fix #59 - make functions aware of just-defined constants
|
2017-01-15 15:58:40 -05:00 |
|
Matthew Brown
|
03141e41c2
|
Move string-stored types into named classes
|
2017-01-15 10:22:05 -05:00 |
|
Matt Brown
|
c104736ead
|
Fix #42 - detect false and null defaults
|
2017-01-13 12:26:10 -05:00 |
|
Matthew Brown
|
56be346191
|
Add back mutation checks
|
2017-01-11 21:37:53 -05:00 |
|
Matthew Brown
|
03c5ea3cef
|
Store all class keys lowercased
|
2017-01-09 00:14:39 -05:00 |
|
Matthew Brown
|
46dbe83cbd
|
Allow functions to be included too
|
2017-01-07 19:33:33 -05:00 |
|
Matthew Brown
|
03db293ed9
|
Add include tests and modify treatment
|
2017-01-07 19:07:58 -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
|
6ee69e547f
|
Do more to separate out processing steps
|
2017-01-06 01:07:11 -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
|
93c1366bd8
|
Tighten up what array assignments can happen
|
2017-01-02 01:07:44 -05:00 |
|
Matthew Brown
|
f515327f16
|
Fix file_name/file_path mixup
|
2016-12-30 19:06:45 -05:00 |
|
Matthew Brown
|
c65a0bf181
|
Move function static arrays into FileStorage
|
2016-12-30 18:08:07 -05:00 |
|
Matthew Brown
|
c5622f1ed1
|
Fix nullref
|
2016-12-28 19:58:32 -05:00 |
|
Matthew Brown
|
2bf515be5f
|
Check return types of functions in namespaces
|
2016-12-28 19:57:18 -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
|
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 |
|
Matt Brown
|
c7a758ceb1
|
Fix trait method call checks
|
2016-12-12 13:50:46 -05:00 |
|
Matthew Brown
|
0b06b3b09b
|
Fix #9 - updated docblocks are lowercased
|
2016-12-10 13:07:12 -05:00 |
|
Matt Brown
|
899250530e
|
Cast key to int
|
2016-12-09 13:27:59 -05:00 |
|
Matt Brown
|
b3106c68bb
|
Fix #6 - raise error with erroneous __toString
|
2016-12-09 12:48:02 -05:00 |
|
Matt Brown
|
af1a932655
|
Make code location more accurate
|
2016-12-06 18:27:22 -05:00 |
|
Matthew Brown
|
c0a3211f66
|
Support disabling file includes via the config
|
2016-12-06 16:41:42 -05:00 |
|
Matthew Brown
|
7cb6891a0b
|
Add support for class constant visibility
|
2016-12-04 01:44:33 -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
|
05a004c8bc
|
Add check for array access on invalid type
|
2016-11-21 16:44:35 -05:00 |
|
Matthew Brown
|
72071fb5ec
|
Add missing docblock params
|
2016-11-21 13:37:27 -05:00 |
|
Matthew Brown
|
6822f46a2c
|
Add suppprt for PHP 7.0 grouped uses
|
2016-11-20 22:40:19 -05:00 |
|
Matthew Brown
|
4b3f63c843
|
Fix missing properties
|
2016-11-20 22:02:26 -05:00 |
|
Matthew Brown
|
5a9f99c24e
|
Fix namespacing issues in PHP 5.6
|
2016-11-20 21:49:06 -05:00 |
|
Matthew Brown
|
31aa1c3ce5
|
Fix PHPDoc-style type parsing
|
2016-11-20 02:52:34 -05:00 |
|
Matthew Brown
|
3b1dfd0942
|
Fix issue combining generic and object-like
|
2016-11-13 11:54:40 -05:00 |
|
Matthew Brown
|
38daca5edd
|
Fix Psalm errors in Psalm
|
2016-11-13 11:24:46 -05:00 |
|
Matthew Brown
|
5cf95b42f2
|
--update-docblocks now works
|
2016-11-12 23:59:31 -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
|
721e0d01e2
|
Get rid of var_dumps
|
2016-11-05 20:53:39 -04:00 |
|
Matthew Brown
|
7d6ac4719f
|
Fix offset assignment creation
|
2016-11-05 20:17:22 -04:00 |
|
Matthew Brown
|
b3f3a20928
|
Correctly evaluate $this and self in property/return types
|
2016-11-05 18:31:09 -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
|
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
|
604c875d0c
|
Fix more errors caught by Psalm
|
2016-10-30 12:46:18 -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
|
cc0c62fd23
|
Allow spaces in docblock types
|
2016-10-28 00:11:16 -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
|
f3f1ba1caa
|
Break out block checkers
|
2016-10-22 17:35:59 -04:00 |
|
Matthew Brown
|
2bea64ca52
|
Split out SwitchChecker
|
2016-10-22 13:37:06 -04:00 |
|
Matthew Brown
|
e4ba8b1abc
|
Make StatementsChecker much smaller
|
2016-10-22 13:28:40 -04:00 |
|
Matthew Brown
|
6174048354
|
Flesh out function params when evaluating args
|
2016-10-21 14:38:03 -04:00 |
|
Matthew Brown
|
6d8e722a77
|
Add support for anonymous classes
|
2016-10-20 20:54:17 -04:00 |
|
Matthew Brown
|
6283553d19
|
Properly clear cache
|
2016-10-20 18:16:17 -04:00 |
|
Matthew Brown
|
d71d439e25
|
Closure basically implements callable
|
2016-10-20 18:05:28 -04:00 |
|
Matthew Brown
|
8c23d0829a
|
Add typed support for spaceship operator
|
2016-10-20 14:28:16 -04:00 |
|
Matthew Brown
|
a4644a0e4a
|
Add support for Generator types
|
2016-10-20 14:28:16 -04:00 |
|
Matthew Brown
|
518e8bcbaf
|
Support PHP5.5 features (except yield, for now)
|
2016-10-20 00:13:35 -04:00 |
|
Matthew Brown
|
5e45a70ea8
|
Fix erroneous continue
|
2016-10-19 16:50:49 -04:00 |
|
Matthew Brown
|
451d97e0ed
|
Add support for variadic and packed variables
|
2016-10-19 00:31:32 -04:00 |
|
Matthew Brown
|
58bb10b948
|
Improve maths type resolution
|
2016-10-19 00:00:49 -04:00 |
|
Matthew Brown
|
98b4029ebd
|
Support PHP7 return types
|
2016-10-18 21:54:08 -04:00 |
|
Matthew Brown
|
900f86507d
|
Avoid TooManyArguments issues on mock classes
|
2016-10-18 18:27:16 -04:00 |
|
Matthew Brown
|
a1acaa231a
|
Allow @psalm-variadic to denote functions that use func_call_args
|
2016-10-18 17:55:07 -04:00 |
|
Matthew Brown
|
f916a6f9a3
|
Remove unused methods
|
2016-10-18 16:28:51 -04:00 |
|
Matthew Brown
|
935b9dfe07
|
Be more sensitive to function_exists checks, do not apply to whole function
|
2016-10-18 16:14:52 -04:00 |
|
Matthew Brown
|
b7ffd66211
|
Do not check methods after is_callable
|
2016-10-18 14:22:54 -04:00 |
|
Matthew Brown
|
d247cead09
|
Exit properly when encountering classes we cannot deal with
|
2016-10-18 11:25:15 -04:00 |
|
Matthew Brown
|
e6cc026d20
|
Add check for continue when not in loop context
|
2016-10-17 16:42:23 -04:00 |
|
Matthew Brown
|
31257634f4
|
Improve messages
|
2016-10-15 13:10:48 -04:00 |
|
Matthew Brown
|
ca3dfe6e39
|
Fix Psalm errors in Psalm
|
2016-10-15 00:12:57 -04:00 |
|
Matthew Brown
|
6201957f76
|
Add a ton of docblocks
|
2016-10-14 00:53:43 -04:00 |
|
Matthew Brown
|
3a92e29f59
|
Fix View checks
|
2016-10-13 21:30:27 -04:00 |
|
Matthew Brown
|
2406e0b190
|
Fix additional ref
|
2016-10-13 19:13:57 -04:00 |
|
Matthew Brown
|
9adc30ecd9
|
Fix use var
|
2016-10-13 19:08:28 -04:00 |
|
Matthew Brown
|
a444fd95c2
|
Fix miscellaneous var ids
|
2016-10-13 19:01:12 -04:00 |
|
Matthew Brown
|
ab2b3cea9e
|
Fix registerVariable call
|
2016-10-13 18:40:07 -04:00 |
|
Matthew Brown
|
cd69b0e5d6
|
Allow static property gets/sets
|
2016-10-13 18:27:23 -04:00 |
|
Matthew Brown
|
8da29add82
|
Delay expression checks until the end
|
2016-10-13 01:32:52 -04:00 |
|
Matthew Brown
|
14606bddbb
|
Set types on static property evaluation
|
2016-10-12 01:38:16 -04:00 |
|
Matthew Brown
|
c4648673bf
|
Rename @suppress to @psalm-suppress
|
2016-10-11 14:17:55 -04:00 |
|
Matthew Brown
|
f87e2ae4fc
|
Set type of mixed for magic get
|
2016-10-11 13:45:19 -04:00 |
|
Matthew Brown
|
6f1d042039
|
Emit issue on empty type
|
2016-10-11 10:47:31 -04:00 |
|
Matthew Brown
|
99fe265722
|
Add DOMDocument and DOMNode to list of classes to ignore properties on
|
2016-10-10 23:52:05 -04:00 |
|
Matthew Brown
|
64b4adfb22
|
Make UndefinedProperty issues more specific
|
2016-10-10 19:29:38 -04:00 |
|
Matthew Brown
|
a30c82e5d7
|
Fix bugs in refactor
|
2016-10-10 01:35:12 -04:00 |
|
Matthew Brown
|
5292467db0
|
Add @todo issues and fix errors in StatementsChecker
|
2016-10-09 17:54:58 -04:00 |
|
Matthew Brown
|
ae75296469
|
Use psalm-return in place of return if available
|
2016-10-03 21:36:42 -04:00 |
|
Matthew Brown
|
f3ee908232
|
Improve error message
|
2016-10-03 16:47:14 -04:00 |
|
Matthew Brown
|
c060a75b24
|
Throw error if we are accessing object-like array with int offset
|
2016-10-03 16:40:46 -04:00 |
|
Matthew Brown
|
936630892e
|
Fix reconciling of elseifs
|
2016-10-03 11:39:32 -04:00 |
|
Matthew Brown
|
89bc501e17
|
Make sure to set object-like property type if available
|
2016-10-03 10:41:21 -04:00 |
|
Matthew Brown
|
1d10d8e8a2
|
Add hasType check
|
2016-10-03 01:01:24 -04:00 |
|
Matthew Brown
|
41278260b8
|
Fix nested array adjust
|
2016-10-03 00:43:24 -04:00 |
|
Matthew Brown
|
575ee55d1b
|
Now make string dictionaries object-like
|
2016-10-02 22:00:42 -04:00 |
|
Matthew Brown
|
79d7a87539
|
Ignore classes checked in class_exists
|
2016-10-02 13:05:49 -04:00 |
|
Matthew Brown
|
a6f1eaeee2
|
Add support for -1 and +1 in property declarations
|
2016-10-02 10:30:44 -04:00 |
|
Matthew Brown
|
ff17dcf1ee
|
Fix while loop unset issue
|
2016-10-02 10:26:13 -04:00 |
|
Matthew Brown
|
91ea6844ba
|
Prevent error on string array assignment
|
2016-10-02 10:13:35 -04:00 |
|
Matthew Brown
|
a141ffe3cf
|
Add support for iteration over object-like arrays
|
2016-10-02 09:50:24 -04:00 |
|
Matthew Brown
|
dd57a85f54
|
Make sure we do not neglect main-scope method calls
|
2016-10-01 22:47:32 -04:00 |
|
Matthew Brown
|
ceeaa5467c
|
Make sure we set return type to mixed
|
2016-10-01 21:02:13 -04:00 |
|
Matthew Brown
|
f00eb66690
|
Do not assign array values on object
|
2016-09-22 13:43:53 -04:00 |
|
Matthew Brown
|
42c8923981
|
Fix isset assertions
|
2016-09-22 12:26:24 -04:00 |
|
Matthew Brown
|
2e371aca00
|
Create ObjectLike entities
|
2016-09-22 00:49:48 -04:00 |
|
Matthew Brown
|
abae0a9cae
|
Fix erroneous array assignment
|
2016-09-21 19:14:44 -04:00 |
|
Matthew Brown
|
5d768d4fbe
|
Ignore object-like issue
|
2016-09-21 18:26:26 -04:00 |
|
Matthew Brown
|
520ca5b559
|
Add more support for evaluating object-like type and fix empty check in foreach
|
2016-09-21 16:42:39 -04:00 |
|
Matthew Brown
|
93a5e6775d
|
Add object-like type to represent cheating arrays
|
2016-09-20 21:45:49 -04:00 |
|
Matthew Brown
|
e9a30ca556
|
Remove descendent types when assigning
|
2016-09-17 11:57:44 -04:00 |
|
Matthew Brown
|
24fd84617f
|
Fix include check and nest function arg check
|
2016-09-15 16:31:36 -04:00 |
|
Matthew Brown
|
58835c0ad5
|
Add getArrayVarId for making assertions about array keys
|
2016-09-13 18:58:49 -04:00 |
|
Matthew Brown
|
352f5e64b3
|
Do not overboil
|
2016-09-13 18:23:09 -04:00 |
|
Matthew Brown
|
70d01c8138
|
Fix nullref
|
2016-09-13 18:10:41 -04:00 |
|
Matthew Brown
|
c1ca6c27d5
|
If we do not know, do not assume
|
2016-09-13 17:35:30 -04:00 |
|
Matthew Brown
|
884648b56c
|
Improve type combination when evaluating array types
|
2016-09-12 23:24:26 -04:00 |
|
Matthew Brown
|
324b5ecdae
|
Remove bad $this
|
2016-09-12 19:44:33 -04:00 |
|
Matthew Brown
|
9d38d8c197
|
Simplify reported array type to avoid errors
|
2016-09-12 19:30:57 -04:00 |
|
Matthew Brown
|
7298b41c45
|
Do not throw access errors when array might be empty
|
2016-09-12 12:23:51 -04:00 |
|
Matthew Brown
|
6a9bcea901
|
Improve typing of properties
|
2016-09-12 11:32:44 -04:00 |
|
Matthew Brown
|
677614f23e
|
Fix offset issues
|
2016-09-12 00:34:38 -04:00 |
|
Matthew Brown
|
0563f508ca
|
Fix automatic array creation checks
|
2016-09-12 00:02:26 -04:00 |
|
Matthew Brown
|
554791e6ac
|
Fix aliased class casing and misc errors
|
2016-09-09 23:17:56 -04:00 |
|