Matthew Brown
|
c41b0a4679
|
Tighten getParamsFromCallMap return type
|
2016-12-23 20:10:20 +00:00 |
|
Matthew Brown
|
1e96cea2c5
|
Check for nulls in parameter calls
|
2016-12-23 20:06:20 +00:00 |
|
Matthew Brown
|
e79dded17b
|
Fix #19 - InvalidDocblock errors have proper casing now
|
2016-12-19 22:02:00 +00:00 |
|
Matthew Brown
|
9746c8972f
|
Fix MixedAssignment errors
|
2016-12-17 00:48:31 -05:00 |
|
Matthew Brown
|
972e3b5c6e
|
Fix failure to warn when class does not implement all interface methods
|
2016-12-16 22:15:31 -05: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
|
16e89a8c1c
|
Fix #26 - Allow refinement via type intersection
Not just via explict subsets
|
2016-12-16 17:59:27 -05:00 |
|
Matthew Brown
|
dcec735d11
|
Fix generation of MixedArrayAccess issue
|
2016-12-15 01:28:36 -05:00 |
|
Matt Brown
|
587e067567
|
Fix start time ref
|
2016-12-14 19:43:20 -05:00 |
|
Matt Brown
|
2cfbefee08
|
Avoid doubling-up values
|
2016-12-14 19:26:26 -05:00 |
|
Matt Brown
|
1d804cde66
|
Expand scope of property checks
|
2016-12-14 19:19:25 -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 |
|
Matt Brown
|
2d02a04c6a
|
Use callmap return types where possible
|
2016-12-12 18:49:40 -05:00 |
|
Matt Brown
|
8d693d7db2
|
Fix issues around incorrectly registering inherited private methods
|
2016-12-12 14:29:58 -05:00 |
|
Matt Brown
|
7d3753ddd8
|
Fix errors on inherited trait protected/private methods
|
2016-12-12 13:57:45 -05:00 |
|
Matt Brown
|
c7a758ceb1
|
Fix trait method call checks
|
2016-12-12 13:50:46 -05:00 |
|
Matthew Brown
|
592ee98efc
|
Fix bugs discovered by adding more tests
|
2016-12-11 23:40:46 -05:00 |
|
Matthew Brown
|
a84ae58c32
|
Emit InaccessibleProperty issue where appropriate
|
2016-12-11 22:18:12 -05:00 |
|
Matthew Brown
|
ad838bf1a4
|
Fix error checking private access from subclass
|
2016-12-11 22:17:00 -05:00 |
|
Matthew Brown
|
144625f625
|
Add numeric check back, with caveats
|
2016-12-11 20:36:27 -05:00 |
|
Matthew Brown
|
6c34ab2d52
|
Remove is_numeric check which was erroneously asserting non-string
|
2016-12-11 20:25:14 -05:00 |
|
Matthew Brown
|
1e8f986d8c
|
Narrow down error lines for reconcileKeyedTypes
|
2016-12-11 13:59:36 -05:00 |
|
Matthew Brown
|
562f71b21f
|
Add TypeDoesNotContainType issue and fix those issues in Psalm code
|
2016-12-11 13:48:11 -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 |
|
Matthew Brown
|
12b5097fba
|
Fix function casing when checking regular functions
|
2016-12-10 13:20:41 -05:00 |
|
Matthew Brown
|
0b06b3b09b
|
Fix #9 - updated docblocks are lowercased
|
2016-12-10 13:07:12 -05:00 |
|
Matt Brown
|
eff98bfe00
|
Ignore nullrefs when using echo
|
2016-12-09 18:53:26 -05:00 |
|
Matt Brown
|
14277201d4
|
Improve understanding of objectlike types in array_* functions
|
2016-12-09 18:53:10 -05:00 |
|
Matt Brown
|
899250530e
|
Cast key to int
|
2016-12-09 13:27:59 -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
|
ce3b24bf5f
|
Fix #8 - defer always to call map if function not user-defined
|
2016-12-09 12:07:47 -05:00 |
|
Matt Brown
|
e6ff24b8d2
|
Fix assignment in elseif
|
2016-12-09 12:06:14 -05:00 |
|
Matt Brown
|
28621485b0
|
Add support for parent-defined consts
|
2016-12-08 17:19:06 -05:00 |
|
Matt Brown
|
260a6d4df5
|
Make class errors more specific
|
2016-12-08 17:15:51 -05:00 |
|
Matt Brown
|
c9557d47ce
|
Fix exponentiation and modulo type inference
|
2016-12-08 16:37:14 -05:00 |
|
Matt Brown
|
d8f0a40d99
|
Improve param class hilighting
|
2016-12-08 16:23:07 -05:00 |
|
Matt Brown
|
117645ac73
|
Account for off-by-one issue in PhpParser
|
2016-12-08 15:57:18 -05:00 |
|
Matthew Brown
|
a5195b2571
|
Add JSON output format
|
2016-12-07 22:38:57 -05:00 |
|
Matt Brown
|
6356f28a1f
|
Fix #5 by simplifying oldstyle constructor support
|
2016-12-07 18:07:54 -05:00 |
|
Matt Brown
|
55a060b53a
|
Add support for closure checks
|
2016-12-07 14:13:39 -05:00 |
|
Matthew Brown
|
7aac9985de
|
Remove unnecessary suppression
|
2016-12-07 01:14:47 -05:00 |
|
Matthew Brown
|
cb9fe6e231
|
Add typehint to property/call maps
|
2016-12-07 01:12:42 -05:00 |
|
Matthew Brown
|
88be61ddbe
|
Fix files
|
2016-12-07 00:16:15 -05:00 |
|
Matthew Brown
|
def7120b8b
|
Further tweak travis
|
2016-12-07 00:07:33 -05:00 |
|
Matthew Brown
|
519c17cb9c
|
Remove PHP 5.4 support
|
2016-12-07 00:04:06 -05:00 |
|
Matt Brown
|
48e19fc7e5
|
Add support for closure docblocks
|
2016-12-06 19:41:52 -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
|
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
|
638fdad3ad
|
Add support for PHP 7.1 iterable pseudo-type
|
2016-12-04 21:04:25 -05:00 |
|
Matthew Brown
|
37166a27b9
|
Set inferredType without needing string key offsets
|
2016-12-04 19:33:14 -05:00 |
|
Matthew Brown
|
23334700f6
|
Add config option to determine whether or not to use a property default value for its type
|
2016-12-04 18:43:07 -05:00 |
|
Matthew Brown
|
35802ccaa6
|
Don't totally panic when encountering invalid argument error
|
2016-12-04 18:42:20 -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
|
b912dd2777
|
Add support for array destructuring
|
2016-12-04 13:35:38 -05:00 |
|
Matthew Brown
|
52ba52ce91
|
Fix false negative for return type check
|
2016-12-04 10:57:58 -05:00 |
|
Matthew Brown
|
7cb6891a0b
|
Add support for class constant visibility
|
2016-12-04 01:44:33 -05:00 |
|
Matthew Brown
|
983c6fd6c4
|
Allow nullable method return types
|
2016-12-04 00:08:25 -05:00 |
|
Matthew Brown
|
ffee37a23a
|
Support nullable return types
|
2016-12-03 23:03:18 -05:00 |
|
Matthew Brown
|
0675e3364a
|
Fix PHPParser 3.0.1 compatibility issues
|
2016-12-03 22:41:45 -05:00 |
|
Matthew Brown
|
ae16353f94
|
Suppress a couple more issues
|
2016-12-03 20:44:04 -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
|
1d603b11d0
|
Fix NULL signature issue
|
2016-11-30 15:03:52 -05:00 |
|
Matthew Brown
|
134bc950fb
|
Add specific NullArrayAccess error
|
2016-11-22 11:11:47 -05:00 |
|
Matthew Brown
|
4f95c67e1c
|
Emit issues for null/mixed array access
|
2016-11-21 19:07:56 -05:00 |
|
Matthew Brown
|
cf0c0cdda2
|
Do not quit, just fall through
|
2016-11-21 18:38:56 -05:00 |
|
Matthew Brown
|
7b3ab79aab
|
Treat empty as mixed
|
2016-11-21 17:49:07 -05:00 |
|
Matthew Brown
|
05a004c8bc
|
Add check for array access on invalid type
|
2016-11-21 16:44:35 -05:00 |
|
Matthew Brown
|
e9ea66f21b
|
Fix issues in examples
|
2016-11-21 15:51:38 -05:00 |
|
Matthew Brown
|
0cb3b828b8
|
Add support for oldstyle constructors
|
2016-11-21 14:36:06 -05:00 |
|
Matthew Brown
|
72071fb5ec
|
Add missing docblock params
|
2016-11-21 13:37:27 -05:00 |
|
Matthew Brown
|
a179eb89eb
|
Add check for missing function params in docblocks
|
2016-11-21 13:37:02 -05:00 |
|
Matthew Brown
|
55005cdf23
|
Removing repetition
|
2016-11-21 00:11:30 -05:00 |
|
Matthew Brown
|
8acc0f388b
|
Remove need for typehint
|
2016-11-21 00:03:46 -05:00 |
|
Matthew Brown
|
e43fd6af53
|
Fix invalid phpdoc return type
|
2016-11-20 23:57:37 -05:00 |
|
Matthew Brown
|
55a3ffa773
|
Add missing return types
|
2016-11-20 23:45:10 -05:00 |
|
Matthew Brown
|
9d3dcc7401
|
Do not panic when bad types are passed
|
2016-11-20 23:31:10 -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
|
64029b2c74
|
Make sure we only checking namespaces with names
|
2016-11-20 17:26:30 -05:00 |
|
Matthew Brown
|
4a66dad2ac
|
Improve interface inheritance
|
2016-11-20 11:51:19 -05:00 |
|
Matthew Brown
|
31aa1c3ce5
|
Fix PHPDoc-style type parsing
|
2016-11-20 02:52:34 -05:00 |
|
Matthew Brown
|
d542b22322
|
Add belt & braces file checking
|
2016-11-18 16:13:59 -05:00 |
|
Matthew Brown
|
262e6895be
|
Fix lowercase check
|
2016-11-14 14:31:31 -05:00 |
|
Matthew Brown
|
360213df9e
|
Add support for PHPDoc-style type updates
|
2016-11-13 20:32:09 -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
|
31f2f95140
|
Ignore empty types when converting to string
|
2016-11-13 14:36:10 -05:00 |
|
Matthew Brown
|
4bdc338b54
|
Make getTypeAssertion less type-sensitive
|
2016-11-13 13:15:40 -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
|
87bb4a2f52
|
Fix various issues with docblock updates
|
2016-11-13 01:43:51 -05:00 |
|
Matthew Brown
|
5cf95b42f2
|
--update-docblocks now works
|
2016-11-12 23:59:31 -05:00 |
|
Matthew Brown
|
8dfca6cce2
|
Add dummy --update-docblocks option
|
2016-11-12 18:51:48 -05:00 |
|
Matthew Brown
|
05ae7905d9
|
Refactor IfChecker to break apart massive method
|
2016-11-11 17:13:30 -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
|
12a12e15c2
|
Emit issue if return type is missing
|
2016-11-07 17:07:59 -05:00 |
|
Matthew Brown
|
3b038db454
|
Avoid missing property
|
2016-11-07 15:29:47 -05:00 |
|
Matthew Brown
|
8cf4134b69
|
Remove exception if cannot touch this
|
2016-11-07 10:11:14 -05:00 |
|
Matthew Brown
|
8d0a8ab055
|
Rely on call map more
|
2016-11-06 23:30:14 -05:00 |
|
Matthew Brown
|
e9b4eb69e5
|
Improve diff mechanism to hit prevent unnecessary file_get_contents
|
2016-11-06 00:59:29 -04: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
|
492269ddd4
|
Ignore inability to infer when requiring
|
2016-11-05 18:46:17 -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
|
2323d28238
|
Improve cache clearing
|
2016-11-04 22:04:55 -04:00 |
|
Matthew Brown
|
7df4d74a7b
|
Fix Psalm errors
|
2016-11-04 21:14:04 -04:00 |
|
Matthew Brown
|
299bc45319
|
Fix trait inheritance diff
|
2016-11-04 20:49:04 -04:00 |
|
Matthew Brown
|
60c8c5f099
|
Fix return type
|
2016-11-04 20:48:01 -04:00 |
|
Jon Ursenbach
|
917ee41461
|
Fixing some code styling issues.
|
2016-11-04 20:10:59 -04:00 |
|
Jon Ursenbach
|
653f509e80
|
Merge branch 'master' into psr2-fixes
|
2016-11-04 20:07:21 -04:00 |
|
Matthew Brown
|
ea4daa7b7e
|
Move cache dir into better config
|
2016-11-04 17:47:11 -04:00 |
|
Jon Ursenbach
|
8a6e8e9940
|
Fixing remaining PSR-2 violations.
|
2016-11-03 20:51:56 -04:00 |
|
Jon Ursenbach
|
27c2db1d1d
|
PSR-2
|
2016-11-02 17:50:54 -04:00 |
|
Matthew Brown
|
d27e06cc86
|
Fix interface inheritance
|
2016-11-02 12:14:21 -04:00 |
|
Matthew Brown
|
70f8947336
|
Break apart long functions
|
2016-11-02 09:24:36 -04:00 |
|
Matthew Brown
|
5cc5bd4ed4
|
Fix tests to all have property types
|
2016-11-01 14:32:19 -04:00 |
|
Matthew Brown
|
b78e83c4c0
|
Break out method
|
2016-11-01 14:20:01 -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
|
a6850a8f3c
|
Prevent a nullref
|
2016-11-01 01:02:54 -04:00 |
|
Matthew Brown
|
34af24a2b4
|
Add all the properties
|
2016-11-01 00:39:41 -04:00 |
|
Matthew Brown
|
1c09ea7380
|
Fix Psalm errors in Psalm
|
2016-10-31 15:42:20 -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
|
518f0f70a8
|
Break out possibly-reusable bit
|
2016-10-30 19:13:09 -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
|
ad228e4d7e
|
Hardcode properties that Psalm needs
|
2016-10-30 11:14:36 -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
|
95be3c4a05
|
Interpret variadic params as arrays
|
2016-10-29 20:50:24 -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
|
c91cb30bd6
|
Rethrow exception
|
2016-10-28 11:05:51 -04:00 |
|
Matthew Brown
|
12918d8cc9
|
Fix ref
|
2016-10-28 10:58:49 -04:00 |
|
Matthew Brown
|
b627bdf9c6
|
Catch bad docblock issue
|
2016-10-28 10:54:20 -04:00 |
|
Matthew Brown
|
0b0a5ff0e8
|
Better check for bad static invocation
|
2016-10-28 10:22:45 -04:00 |
|
Matthew Brown
|
cc0c62fd23
|
Allow spaces in docblock types
|
2016-10-28 00:11:16 -04:00 |
|
Matthew Brown
|
95f5a4603a
|
Add property for poorly-reflected builtin classes
|
2016-10-27 16:05:27 -04:00 |
|
Matthew Brown
|
78e183ea0c
|
Filter null & false if no arg passed to array_filter
|
2016-10-26 17:51:34 -04:00 |
|
Matthew Brown
|
c48ce9ec33
|
Deal with optional callmap args better
|
2016-10-26 11:51:59 -04:00 |
|
Matthew Brown
|
4d224d56db
|
Handle user-defined code in root namespace (e.g. OAuth) better
|
2016-10-25 11:40:09 -04:00 |
|
Matthew Brown
|
694d159829
|
Fix interface extends return types
|
2016-10-25 11:20:06 -04:00 |
|
Matthew Brown
|
4b65f92cb9
|
Fix #29 - allow interface extension
|
2016-10-24 18:49:07 -04:00 |
|
Matthew Brown
|
357cd8ad41
|
Add support for Closure::__invoke
|
2016-10-24 15:55:05 -04:00 |
|
Matthew Brown
|
74ec219421
|
Add more checks for inferredType
|
2016-10-24 12:13:12 -04:00 |
|
Matthew Brown
|
2ddb08c778
|
Add more protective checks
|
2016-10-24 11:06:04 -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
|
2bea64ca52
|
Split out SwitchChecker
|
2016-10-22 13:37:06 -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 |
|
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
|
0100ca2b8c
|
Add better cache clear
|
2016-10-20 18:12:13 -04:00 |
|
Matthew Brown
|
d71d439e25
|
Closure basically implements callable
|
2016-10-20 18:05:28 -04:00 |
|
Matthew Brown
|
07636468a2
|
Improve Generator typing
|
2016-10-20 15:26:02 -04:00 |
|
Matthew Brown
|
4c51e02107
|
Fix function checking
|
2016-10-20 14:36:15 -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
|
068dc41173
|
Fix #24 - do not emit TooManyArguments issue erroneously for function calls
|
2016-10-18 16:43:50 -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
|
375c522304
|
Fix #25 - only emit one MethodSignagureMismatch per line
|
2016-10-18 16:00:03 -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
|
991806a2c4
|
Ignore files outside project dirs for diffs
|
2016-10-18 10:17:25 -04:00 |
|
Matthew Brown
|
e6cc026d20
|
Add check for continue when not in loop context
|
2016-10-17 16:42:23 -04:00 |
|
Matthew Brown
|
2b0af34d2c
|
Be more lenient with null vs void return type
|
2016-10-15 18:55:17 -04:00 |
|
Matthew Brown
|
fd6954f056
|
Add override for ArrayObject and fix error message
|
2016-10-15 18:45:31 -04:00 |
|
Matthew Brown
|
b2a5081163
|
Add checks for method signature mismatch
|
2016-10-15 18:01:04 -04:00 |
|
Matthew Brown
|
331475640b
|
Obviate array_filter
|
2016-10-15 13:14:43 -04:00 |
|
Matthew Brown
|
31257634f4
|
Improve messages
|
2016-10-15 13:10:48 -04:00 |
|
Matthew Brown
|
18a55e2854
|
Also inspect arrays from strings
|
2016-10-15 13:10:05 -04:00 |
|
Matthew Brown
|
81e15362a0
|
Fix psalm errors in psalm
|
2016-10-15 10:36:19 -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
|
4c4b6e9902
|
Add docblocks where relevant
|
2016-10-12 01:38:29 -04:00 |
|
Matthew Brown
|
14606bddbb
|
Set types on static property evaluation
|
2016-10-12 01:38:16 -04:00 |
|
Matthew Brown
|
e152a8f6f1
|
Type array_pop/array_shift returns better
|
2016-10-12 01:37:32 -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
|
472e4df3cc
|
Allow mixed to match function args
|
2016-10-10 22:49:43 -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
|
566fa8e838
|
Do not check deleted files
|
2016-10-08 20:49:14 -04:00 |
|
Matthew Brown
|
eecd35f10b
|
Also scan deleted files
|
2016-10-07 13:26:29 -04:00 |
|
Matthew Brown
|
d8d26a3f40
|
Add more robust in-psalm check
|
2016-10-07 00:58:08 -04:00 |
|
Matthew Brown
|
ed2c157762
|
Accept space-separated arguments
|
2016-10-05 17:08:20 -04:00 |
|
Matthew Brown
|
3f742ee954
|
Generate big graph of all files that could possibly be affected
|
2016-10-05 13:24:46 -04:00 |
|
Matthew Brown
|
2261ecf596
|
Add ability to look up a file's dependencies
|
2016-10-04 19:23:38 -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
|
b8ba6ffbf6
|
Add return type checking of object-like types
|
2016-10-03 16:40:02 -04:00 |
|
Matthew Brown
|
efb7cd8218
|
Give parsers ability to manipulate object-like types
|
2016-10-03 16:39:42 -04:00 |
|
Matthew Brown
|
7565ee3fac
|
Update docblock checker to see object-like types
|
2016-10-03 16:37:31 -04:00 |
|
Matthew Brown
|
936630892e
|
Fix reconciling of elseifs
|
2016-10-03 11:39:32 -04:00 |
|
Matthew Brown
|
49baa62224
|
Fix doblocks and invalid refs
|
2016-10-03 11:38:59 -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
|
37aae5d731
|
Allow type assertions on array keys
|
2016-09-21 19:14:29 -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
|
55fc146c57
|
Fix possible reference error if interface name is bad
|
2016-09-15 16:30:18 -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
|
d94a6fdaa0
|
Account for commas in stuff
|
2016-09-12 19:29:24 -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
|
e663c1da19
|
Add support for object negation
|
2016-09-12 00:01:47 -04:00 |
|
Matthew Brown
|
564c4e2bf3
|
If we see an object type assertion, filter out non-object types
|
2016-09-11 19:12:56 -04:00 |
|
Matthew Brown
|
554791e6ac
|
Fix aliased class casing and misc errors
|
2016-09-09 23:17:56 -04:00 |
|
Matthew Brown
|
9ab0ee45a5
|
Add a bunch of docblocks
|
2016-09-09 20:07:36 -04:00 |
|
Matthew Brown
|
288ac91c4a
|
Add protections
|
2016-09-09 18:54:24 -04:00 |
|
Matthew Brown
|
f455851f89
|
Fix bugs in array key checks
|
2016-09-09 18:36:35 -04:00 |
|
Matthew Brown
|
8c5adf477a
|
Add support for key/value array typing
|
2016-09-09 16:21:49 -04:00 |
|
Matthew Brown
|
97a8e447d7
|
Check uses before checking functions
|
2016-09-02 16:16:11 -04:00 |
|
Matthew Brown
|
750d172917
|
Prevent nested functions from throwing errors
And fix fixLocalType when passed var
|
2016-09-02 13:47:11 -04:00 |
|
Matthew Brown
|
f86c396115
|
Ignore resources
|
2016-09-01 20:27:16 -04:00 |
|
Matthew Brown
|
0f5f4c3029
|
Check functionlike param types
|
2016-09-01 18:02:09 -04:00 |
|
Matthew Brown
|
99649f2f09
|
Fix reference errors
|
2016-09-01 00:07:29 -04:00 |
|
Matthew Brown
|
b40e057090
|
Add checks for !== true
|
2016-09-01 00:07:20 -04:00 |
|
Matthew Brown
|
47f66bf4dd
|
Add support for exposing errors in external files
|
2016-08-31 23:12:35 -04:00 |
|
Matthew Brown
|
4ccf9cf06f
|
Do not just return last successful type found
|
2016-08-31 17:08:04 -04:00 |
|
Matthew Brown
|
330199c9a3
|
Add support for callable checks
|
2016-08-31 15:10:11 -04:00 |
|
Matthew Brown
|
bad1271744
|
Add more coverage for scalar types
|
2016-08-31 13:25:29 -04:00 |
|
Matthew Brown
|
f28485ddad
|
Never set a null $var_name
|
2016-08-30 15:47:44 -04:00 |
|
Matthew Brown
|
7d11b4b9b0
|
Add support for numeric types
|
2016-08-30 00:39:17 -04:00 |
|
Matthew Brown
|
d689996fde
|
Support all is_* checks
|
2016-08-30 00:25:15 -04:00 |
|
Matthew Brown
|
8212284675
|
Map function return types for builtins
|
2016-08-30 00:05:13 -04:00 |
|
Matthew Brown
|
4a88a376df
|
Improve handling of switch and change method name
|
2016-08-30 00:04:10 -04:00 |
|
Matthew Brown
|
7e018d3c35
|
Revamp include file reporting
|
2016-08-24 19:00:44 -04:00 |
|
Matthew Brown
|
1327b9e604
|
Add better file location recognition for imports
|
2016-08-24 18:13:22 -04:00 |
|
Matthew Brown
|
e5a6f0d42f
|
Add support for Closure->callable types
|
2016-08-24 17:06:41 -04:00 |
|
Matthew Brown
|
4d388d197c
|
Fix analysis of switch statements
|
2016-08-24 17:06:20 -04:00 |
|
Matthew Brown
|
0e68179bb4
|
Pass in the right context
|
2016-08-24 00:22:38 -04:00 |
|
Matthew Brown
|
212edcd16b
|
Only warn about undefined this vars once
|
2016-08-23 23:51:01 -04:00 |
|
Matthew Brown
|
9dc0a088ea
|
Support while loop property updates
|
2016-08-23 23:41:06 -04:00 |
|
Matthew Brown
|
0e1a969e55
|
Add a bunch of boilerplate to solve redefining loop vars
|
2016-08-23 22:09:06 -04:00 |
|
Matthew Brown
|
25ed89940d
|
Re-calculate else context types
|
2016-08-23 20:56:18 -04:00 |
|
Matthew Brown
|
92aa7217af
|
Pass in loop context, not specific vars
|
2016-08-23 18:09:34 -04:00 |
|
Matthew Brown
|
6637bb653c
|
Fix type assignment after empty check
|
2016-08-22 23:02:03 -04:00 |
|
Matthew Brown
|
e0b9c876fb
|
Improve logic for updating context
|
2016-08-22 20:06:28 -04:00 |
|
Matthew Brown
|
bac747d563
|
Add slight refinement
|
2016-08-22 19:45:34 -04:00 |
|
Matthew Brown
|
2cba7a83bf
|
Do not investigate null types
|
2016-08-22 19:29:06 -04:00 |
|
Matthew Brown
|
a4a1fd9557
|
Explicitly return array of strings for explode
|
2016-08-22 18:09:52 -04:00 |
|
Matthew Brown
|
093c5447ae
|
Avoid unnecessary interface casing errors
|
2016-08-22 16:41:45 -04:00 |
|
Matthew Brown
|
5d610b222a
|
Fix off-by-one error
|
2016-08-22 15:43:08 -04:00 |
|
Matthew Brown
|
3b5909804d
|
Fix ref errors
|
2016-08-22 15:42:05 -04:00 |
|
Matthew Brown
|
6edc120704
|
Add checking of function arguments
|
2016-08-22 15:00:12 -04:00 |
|
Matthew Brown
|
b1c525bef0
|
Also inspect array_merge
|
2016-08-18 17:36:54 -04:00 |
|
Matthew Brown
|
39b4cb54b3
|
Add array_filter type reflection
|
2016-08-18 16:51:10 -04:00 |
|
Matthew Brown
|
474f1b0ff2
|
Add array_map function typing
|
2016-08-18 16:19:37 -04:00 |
|
Matthew Brown
|
c56c148f70
|
Fix type fleshing-out
|
2016-08-15 20:00:02 -04:00 |
|
Matthew Brown
|
35b54bfd48
|
Do not evaluate falsey
|
2016-08-15 16:22:32 -04:00 |
|
Matthew Brown
|
f7003bc53e
|
Rename ClassMethodChecker to MethodChecker
|
2016-08-15 15:14:28 -04:00 |
|
Matthew Brown
|
f270d67db6
|
Fix trait mapping
|
2016-08-15 14:20:06 -04:00 |
|
Matthew Brown
|
adbac24f8e
|
Catch attempts to call methods on object type
|
2016-08-15 13:59:23 -04:00 |
|
Matthew Brown
|
116cb3064d
|
Remove trailing backslash when checking method
|
2016-08-15 13:59:02 -04:00 |
|
Matthew Brown
|
666f570fb2
|
Allow case errors correctly
|
2016-08-15 13:51:43 -04:00 |
|
Matthew Brown
|
374c045ff6
|
Allow case-invariant function names
|
2016-08-15 13:37:21 -04:00 |
|
Matthew Brown
|
14ff5b00ac
|
Allow non-this properties to be passed by reference
|
2016-08-15 12:22:43 -04:00 |
|
Matthew Brown
|
98b120b70c
|
Avoid treating abstract classes as declaring classes
|
2016-08-15 12:22:23 -04:00 |
|
Matthew Brown
|
84b4e09873
|
Simplify clearCache calls
|
2016-08-15 11:01:50 -04:00 |
|
Matthew Brown
|
faae9062ba
|
Fix view checks
|
2016-08-15 02:12:27 -04:00 |
|
Matthew Brown
|
899f74b12e
|
Allow functions to deal with shifting aliased classes
|
2016-08-15 01:21:50 -04:00 |
|
Matthew Brown
|
ccad9978f5
|
Put back function hoisting
|
2016-08-15 00:58:30 -04:00 |
|
Matthew Brown
|
cd36893b9f
|
Fix trait reuse
|
2016-08-15 00:52:25 -04:00 |
|
Matthew Brown
|
d23242e4e7
|
Fix what methods get assigned
|
2016-08-15 00:31:34 -04:00 |
|
Matthew Brown
|
3f24af3031
|
Big refactor to limit reflection
|
2016-08-14 23:24:16 -04:00 |
|
Matthew Brown
|
d559196c96
|
Fix reference errors
|
2016-08-14 13:13:53 -04:00 |
|
Matthew Brown
|
affa6c306b
|
Fix class case sensitivity
|
2016-08-14 13:00:41 -04:00 |
|
Matthew Brown
|
94a3930ddb
|
Doubles are really floats
|
2016-08-14 12:07:19 -04:00 |
|
Matthew Brown
|
8ba4f5141c
|
Simplify class registration
|
2016-08-14 12:06:53 -04:00 |
|
Matthew Brown
|
fe90018660
|
Add support for checking user-defined constants
|
2016-08-14 00:38:29 -04:00 |
|
Matthew Brown
|
719f6d1d62
|
Fix include call checks
|
2016-08-13 23:26:45 -04:00 |
|
Matthew Brown
|
399892031f
|
Fix #16 - dd more info to context and type constants
|
2016-08-13 21:14:32 -04:00 |
|
Matthew Brown
|
defc4cebc1
|
Add support for checking inherited constants
|
2016-08-13 19:44:24 -04:00 |
|
Matthew Brown
|
fd63f3e056
|
Abandon use of undersocres and fix interface parsing
|
2016-08-13 18:54:49 -04:00 |
|
Matthew Brown
|
7d1a106fd5
|
Big file reorg with ClassLikeChecker as new ClassChecker
|
2016-08-13 14:20:46 -04:00 |
|