Matthew Brown
35e08f5cd2
Fix if/ternary negation
2016-06-28 15:28:05 -04:00
Matthew Brown
71eea36b9c
Improve switch type analysis
2016-06-28 13:56:44 -04:00
Matthew Brown
638c2999e3
Reove PHP 5.6 features
2016-06-27 15:10:13 -04:00
Matthew Brown
fdc4b0703f
Only set to mixed if not yet set
2016-06-27 14:30:33 -04:00
Matthew Brown
16fda10e67
Only show variable errors where applicable
2016-06-27 13:22:16 -04:00
Matthew Brown
2d9f39e3f4
Change IssueHandler to IssueBuffer
2016-06-26 15:18:40 -04:00
Matthew Brown
a1fb6294dc
Add checking of object properties
2016-06-23 18:45:46 -04:00
Matthew Brown
9f20175b14
Change ExceptionHandler to IssueHandler and add error levels
2016-06-20 19:30:38 -04:00
Matthew Brown
6f9cb1d99c
Use mixed type if we detect expression error
2016-06-20 18:10:55 -04:00
Matthew Brown
0ecbfdbd64
Improve handling of binary ops
2016-06-20 16:54:02 -04:00
Matthew Brown
2dc64aafe3
Add foreach possibly-in-scope vars back
2016-06-20 16:30:31 -04:00
Matthew Brown
a6eed85ba5
Add better scope analysis
2016-06-20 16:18:31 -04:00
Matthew Brown
08ce4dbbf9
Fix for/foreach context handling
2016-06-20 12:38:31 -04:00
Matthew Brown
9019530721
Simplify view checks for now
2016-06-20 01:29:30 -04:00
Matthew Brown
edd9a92d51
Dogfooding: fix codeinspector issues
2016-06-20 01:05:44 -04:00
Matthew Brown
444c39097f
Create Context, new if checks & file extension support
...
Add Context object to hold in-scope vars, rework if checks accordingly with copious use of clone, and finally add support for handling different filetypes
2016-06-20 00:38:13 -04:00
Matthew Brown
5f2d9a66ee
Add plugin architecture
2016-06-18 14:45:55 -04:00
Matthew Brown
684455acf0
Make sure _fleshOutReturnTypes actually does stuff
2016-06-17 18:03:29 -04:00
Matthew Brown
af3577aeee
Fix support for $var ?: $other_var ternary form
2016-06-17 17:12:07 -04:00
Matthew Brown
4c0b50dab0
Protect against array assignment to strings
2016-06-17 16:58:15 -04:00
Matthew Brown
84fecaa2a5
Fix closure bug
2016-06-17 16:16:54 -04:00
Matthew Brown
5c1b7bb0bc
Fix a few type inference bugs
2016-06-17 16:05:28 -04:00
Matthew Brown
433de5c799
Make use dictionary-keyed vars in union types
2016-06-17 13:21:57 -04:00
Matthew Brown
32e18aa29e
Redo a bunch of if statement checking logic
2016-06-16 18:52:12 -04:00
Matthew Brown
53abce127a
Exit early if method does not exist, fix ternary checks
2016-06-16 12:05:37 -04:00
Matthew Brown
fb56e3b757
Change returnType to inferredType
2016-06-16 12:04:55 -04:00
Matthew Brown
276889fc9a
Fix negation bugs and add ternary type setting
2016-06-16 11:57:12 -04:00
Matthew Brown
12e23d8086
Re-enable property checks
2016-06-16 02:30:02 -04:00
Matthew Brown
218edb5bf4
Add numerous fixes
2016-06-16 01:19:52 -04:00
Matthew Brown
2cf5691fb0
Fix case bug
2016-06-15 20:22:57 -04:00
Matthew Brown
0c617f9519
Fix many many bugs
2016-06-15 20:16:40 -04:00
Matthew Brown
a17e1fb163
Create new system of storing types
2016-06-14 19:22:29 -04:00
Matthew Brown
2449e9aaac
Fix ref
2016-06-13 19:58:25 -04:00
Matthew Brown
933c60b06a
Add array assignment checks and remove Error suffix
2016-06-13 19:57:32 -04:00
Matthew Brown
82bca7a8b4
Do not negate types unnecessarily
2016-06-13 01:48:29 -04:00
Matthew Brown
5507798077
Add support for is_a checks
2016-06-10 18:18:37 -04:00
Matthew Brown
cefb0f3021
Smarter type comparisons and cleaner error output
2016-06-10 17:20:04 -04:00
Matthew Brown
46005ddd29
Read more from config and fix switch snafu
2016-06-10 14:47:44 -04:00
Matthew Brown
4edd11cd44
Down with exceptions, up with issues
2016-06-09 18:08:25 -04:00
Matthew Brown
50a884a755
Add outline of config loader
2016-06-06 01:07:50 -04:00
Matthew Brown
38b43f2d46
Remove var dumps and class properties exceptions
2016-06-05 20:31:10 -04:00
Matthew Brown
7bcaa08db8
Remove check_nulls protection
2016-06-05 20:28:02 -04:00
Matthew Brown
d8854fd4ef
Transition to more flexible error handling
2016-06-05 20:25:16 -04:00
Matthew Brown
281751d85c
Check parent calls
2016-06-02 19:21:48 -04:00
Matthew Brown
2ae893120e
Ignore trailing slashes in user-supplied classes
2016-06-02 17:56:27 -04:00
Matthew Brown
9428941598
Do not break on coercion and mocks
2016-06-02 17:50:19 -04:00
Matthew Brown
d8404037be
Be smarter about looping through params
2016-06-02 17:47:28 -04:00
Matthew Brown
57f289bb5f
Ignore nulls where appropriate, and do not check closure method calls under certain circumstances
2016-06-02 17:44:50 -04:00
Matthew Brown
3bea4368e0
Add checking of function argument types
2016-05-24 12:11:17 -04:00
Matthew Brown
97cab3c14e
Undo stupid
2016-05-24 10:21:22 -04:00