Matthew Brown
c32179f1a1
Improve type adjustment in switch statements
2016-07-25 18:30:49 -04:00
Matthew Brown
1ebe333bb2
Fix self-checking errors
2016-07-25 15:05:58 -04:00
Matthew Brown
967d3c8503
Add checks to prevent special types being tested as classes
2016-07-25 00:31:29 -04:00
Matthew Brown
bd90dd7ee9
Add better checks for subclassed type comparison
2016-07-24 23:40:23 -04:00
Matthew Brown
0e77403625
Fix generic switch checks
2016-07-24 18:02:03 -04:00
Matthew Brown
94b7e0b01f
Always return after UndefinedClass and UndefinedMethod issues
2016-07-24 17:10:16 -04:00
Matthew Brown
94702bd914
Unify check method call format
2016-07-23 10:58:53 -04:00
Matthew Brown
079175532b
Add deprecated method checks and issue suppression
2016-07-22 13:29:46 -04:00
Matthew Brown
840adbc4ce
Fix fleshing out of variable type
2016-07-18 19:04:51 -04:00
Matthew Brown
0a7f39715c
Add support for enumerating empty collections
2016-07-18 18:17:47 -04:00
Matthew Brown
c7dc5dd9f9
Add support for numeric type
2016-07-13 11:18:07 -04:00
Matthew Brown
00a6a54cf5
Allow empty arrays to change type after block
2016-07-12 01:28:41 -04:00
Matthew Brown
8e32c2eed6
Move methods around and improve scalar type handling
2016-07-12 00:50:16 -04:00
Matthew Brown
5ab4d0aa84
Allow support for generic object type
2016-07-11 20:11:00 -04:00
Matthew Brown
f2a53fa463
Add InvalidScalarArgument issue to warn about bad casts
2016-07-11 19:58:37 -04:00
Matthew Brown
348e06ffb9
Fix treatment of param types
2016-07-10 16:09:09 -04:00
Matthew Brown
70a92e006d
Check for mixed method calls
2016-07-07 19:38:33 -04:00
Matthew Brown
a8501be75f
Allow method chaining
2016-06-30 00:27:47 -04:00
Matthew Brown
d59739d9c7
use safer check for ending statments
2016-06-29 18:30:27 -04:00
Matthew Brown
e0c16308a8
Improve switch checking (again) and fix null arg types
2016-06-29 18:10:41 -04:00
Matthew Brown
2e4e52f0f3
Reduce nesting
2016-06-29 10:57:15 -04:00
Matthew Brown
4bd0e7c90f
Use the clever methods when evaluating expression
2016-06-28 15:36:35 -04:00
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