Matthew Brown
585cf91ef0
If using assertions for type, count as a soft type check
2017-02-08 22:17:16 -05:00
Matthew Brown
cedb70b0b4
Reduce false positives for unused variables
2017-02-08 01:59:49 -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
0fbf8b5619
Remove more dead code
2017-02-02 00:45:23 -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
d978966db4
Fix #37 - check parent calls for staticness
2017-01-29 22:13:53 -05:00
Matthew Brown
a9203b63f8
Allow phan-like use of assert
2017-01-28 15:17:14 -05:00
Matthew Brown
199686c4db
Add back local vars when descending into method call
2017-01-28 03:55:19 -07:00
Matthew Brown
6bcc763414
Fix #3 by checking inside __constructor calls for initialisations
2017-01-26 23:23:12 -07:00
Matthew Brown
894b25487f
Fix #71 - prevent instantiation of abstract classes
2017-01-20 00:10:10 -05:00
Matt Brown
7116585e85
Be more robust when ignoring UndefinedClass errors
2017-01-19 11:45:25 -05:00
Matthew Brown
e4769fd04a
Don’t give up when faced with variadic type
2017-01-17 00:07:58 -05:00
Matthew Brown
9220b958eb
Fix phpcs errors
2017-01-16 19:06:39 -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
4b283564ca
Allow variadic params to be passed by reference
2017-01-16 12:39:38 -05:00
Matthew Brown
ac92de181f
Allow classes that use __invoke to be called
2017-01-16 00:29:18 -05:00
Matthew Brown
f614944b63
Add predefined functions to avoid throwing errors
2017-01-15 20:11:02 -05:00
Matthew Brown
9b06b672ba
Fix #54 - register function constants when function is invoked
2017-01-15 16:43:49 -05:00
Matthew Brown
8836f05027
Fix #56 - functions in root namespaces should not need slash
2017-01-15 12:34:23 -05:00
Matthew Brown
03141e41c2
Move string-stored types into named classes
2017-01-15 10:22:05 -05:00
Matt Brown
dc585ff22a
Fix #47 - check closure param types properly
2017-01-13 12:40:01 -05:00
Matthew Brown
c20f31855c
Fix namespaced function calls
2017-01-12 09:42:24 -05:00
Matthew Brown
5f54a9571c
Fix deep project checks
2017-01-12 01:03:48 -05:00
Matthew Brown
56be346191
Add back mutation checks
2017-01-11 21:37:53 -05:00
Matthew Brown
380ae61b3c
Don’t emit another error if we’re already ignoring TypeCoercion
2017-01-09 00:58:18 -05:00
Matthew Brown
f318c52876
Improve function rechecking
2017-01-09 00:31:23 -05:00
Matthew Brown
03c5ea3cef
Store all class keys lowercased
2017-01-09 00:14:39 -05:00
Matthew Brown
28cd8caca8
Change analyzeMethods to analyze
2017-01-07 15:57:25 -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
d9bf89f72b
Fix multiple possible method signature bug
2017-01-01 20:10:28 -05:00
Matthew Brown
30a39a0ee6
Do not emit issue when callable is called
2017-01-01 19:24:15 -05:00
Matthew Brown
8f7072c175
Fix change empty arrays to nulls
2017-01-01 17:39:39 -05:00
Matthew Brown
846cc59d5f
Add support for checking closure return types
2016-12-31 10:51:42 -05:00
Matthew Brown
34c238c1a7
Fall through when checking for static/deprecated
2016-12-31 09:25:04 -05:00
Matthew Brown
49f7817a2a
Emit specific issue when calling instance method with self::
2016-12-31 09:20:10 -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
3e78405836
# This is a combination of 4 commits.
...
# The first commit's message is:
Make cofig schema more relaxed about ordering
# This is the 2nd commit message:
Add tests for awkward case
# This is the 3rd commit message:
Fix static calls to class methods within traits
# This is the 4th commit message:
Repopulate fewer arrays
2016-12-30 01:50:33 -05:00
Matthew Brown
18e7c65430
Emit more InvalidOperand issues
2016-12-29 00:14:06 -05:00
Matthew Brown
c55870e26c
Allow generic TypeChecker::isContainedBy checks
2016-12-24 18:28:43 +00:00
Matt Brown
d012510a41
Fix some mixed assignment issues
2016-12-16 19:22:30 -05:00
Matt Brown
6755c8724a
Add tests for M* issues, fixing bugs along the way
2016-12-16 18:56:23 -05:00
Matt Brown
1b8abc8f17
Change NullReference issue to NullArgument when in method call
2016-12-14 12:54:34 -05:00
Matt Brown
154d023a9d
Add more robust config testing
2016-12-14 12:28:38 -05:00
Matthew Brown
592ee98efc
Fix bugs discovered by adding more tests
2016-12-11 23:40:46 -05:00
Matthew Brown
562f71b21f
Add TypeDoesNotContainType issue and fix those issues in Psalm code
2016-12-11 13:48:11 -05:00
Matt Brown
eff98bfe00
Ignore nullrefs when using echo
2016-12-09 18:53:26 -05:00
Matt Brown
30159d8f70
Ignore invalid scalar argument issue in echo
2016-12-09 12:53:22 -05:00
Matt Brown
b3106c68bb
Fix #6 - raise error with erroneous __toString
2016-12-09 12:48:02 -05:00
Matt Brown
260a6d4df5
Make class errors more specific
2016-12-08 17:15:51 -05:00
Matt Brown
55a060b53a
Add support for closure checks
2016-12-07 14:13:39 -05:00
Matthew Brown
ef1049224d
Add selection of return types in code preview
2016-12-06 16:33:47 -05:00
Matthew Brown
60e15c255b
Add support for gettype switch statements too
2016-12-06 13:51:03 -05:00
Matthew Brown
35802ccaa6
Don't totally panic when encountering invalid argument error
2016-12-04 18:42:20 -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
5a9f99c24e
Fix namespacing issues in PHP 5.6
2016-11-20 21:49:06 -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
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