Matthew Brown
|
1a8cdc5da9
|
Allow two or more instanceof interface checks side by side
|
2017-04-15 21:25:53 -04:00 |
|
Matthew Brown
|
007442fdd0
|
Fix possibly-private error
|
2017-04-15 21:10:49 -04:00 |
|
Matthew Brown
|
f67e92023b
|
Add support for intersection types
Fixes #140
|
2017-04-15 20:36:40 -04:00 |
|
Matthew Brown
|
eebaf5795d
|
Fix regression dealing with union types from docblocks
|
2017-04-15 12:44:38 -04:00 |
|
Matthew Brown
|
a8bee2f843
|
Suggest missing property types for traits as well
|
2017-04-15 00:04:03 -04:00 |
|
Matthew Brown
|
0c4824b2cc
|
Take property defaults into account when suggesting missing type
|
2017-04-14 23:46:55 -04:00 |
|
Matthew Brown
|
8d46c65815
|
Only make non-null if inside constructor
|
2017-04-14 23:26:58 -04:00 |
|
Matthew Brown
|
60be6f07a0
|
Delay checks for MissingPropertyType so we can give more useful messages
|
2017-04-14 23:09:34 -04:00 |
|
Matthew Brown
|
ce6ca58291
|
Fix #114 - add optional Hack-like checks calls
|
2017-04-14 21:32:14 -04:00 |
|
Vladimir Komissarov
|
818e3be00c
|
Fix undefined global constant in closure
|
2017-04-14 17:03:09 +07:00 |
|
Matt Brown
|
7bcf7f13b1
|
Fix #137 - add for init in main scope
|
2017-04-11 17:43:46 -04:00 |
|
SignpostMarv
|
82c3a664a8
|
skip tests that extend SoapClient if SoapClient does not exist
|
2017-04-11 21:02:18 +01:00 |
|
Matt Brown
|
ed356bfbd0
|
Don’t mistake same-named functions for old-style constructors
Fixes #131
|
2017-04-10 11:03:19 -04:00 |
|
Matthew Brown
|
32efdfd0f7
|
Fix #129 - emit PossiblyNullFuntionCall when encountering such a thing
|
2017-04-08 11:38:06 -04:00 |
|
Matthew Brown
|
2d454d6e10
|
Fix #130 - check class exists before checking for __invoke
|
2017-04-08 11:15:17 -04:00 |
|
Matthew Brown
|
c663062816
|
Add PossiblyUndefinedArgument issue to cope with #126
|
2017-04-08 09:28:02 -04:00 |
|
Matthew Brown
|
7d17a07cd2
|
Fix #125 - allow abstract classes to reference methods only defined in interfaces
|
2017-04-07 19:16:25 -04:00 |
|
Matt Brown
|
f011197090
|
Fix #124 - don’t check array_filter closures when >2 args passed
|
2017-04-07 18:30:15 -04:00 |
|
Matthew Brown
|
40427839ea
|
Get all variables possibly assigned in conditional
|
2017-04-06 22:56:37 -04:00 |
|
Matthew Brown
|
20b0460a33
|
Fix #123 - ternary byref vars now adjusted
|
2017-04-06 21:53:29 -04:00 |
|
Matt Brown
|
c09b0e459a
|
Make is_numeric a proper type refinement
|
2017-04-06 18:06:24 -04:00 |
|
Matt Brown
|
e7aec27eae
|
Prevent emitting issues when comparing mixed values
|
2017-04-06 17:40:15 -04:00 |
|
Matt Brown
|
da19b55db1
|
Add special TypeDoesNotContainNull issue as distinct from TypeDoesNotContainType
|
2017-04-06 15:36:22 -04:00 |
|
Matt Brown
|
14bb967c7d
|
Warn when doing === comparisons on incompatible types
|
2017-04-06 14:53:45 -04:00 |
|
Matthew Brown
|
a63602ce45
|
change to trigger travis
|
2017-04-03 13:35:04 -04:00 |
|
Matthew Brown
|
89bf409537
|
Cast phpversion to string
|
2017-04-03 13:09:02 -04:00 |
|
Matthew Brown
|
431de10c5c
|
Prevent array_filter test running on HHVM
|
2017-04-03 12:53:10 -04:00 |
|
Matt Brown
|
fe43c4e37f
|
Fix #122 - allow multiple types of filtering
|
2017-04-03 12:36:49 -04:00 |
|
Matthew Brown
|
ce5b35169b
|
Treat empty & !empty as special straddling types
|
2017-04-02 19:06:18 -04:00 |
|
Matthew Brown
|
a8220ba4f1
|
Fix bug where empty string could confuse
|
2017-04-02 18:28:06 -04:00 |
|
Matthew Brown
|
075cc5f50d
|
Add by-reference clause removal
|
2017-04-02 17:37:56 -04:00 |
|
Matthew Brown
|
dcedd65215
|
Add check for paradoxical statements
|
2017-04-02 15:26:10 -04:00 |
|
Matthew Brown
|
83edf8c4db
|
Complete the circle – fix remaining type algebra issue
|
2017-04-01 19:04:49 -04:00 |
|
Matt Brown
|
a4be86865d
|
Skip Throwable in PHP < 7
|
2017-03-30 12:12:46 -04:00 |
|
Matt Brown
|
d06a199d25
|
Fix #121 - simplify all parameter types
|
2017-03-30 11:44:38 -04:00 |
|
Matthew Brown
|
a89018d9ae
|
Only warn about issues in files that we’re trying to scan
|
2017-03-24 18:34:46 -04:00 |
|
Matthew Brown
|
7ed188fa52
|
Add support for conditional stubbed functions
|
2017-03-19 15:41:24 -04:00 |
|
Matthew Brown
|
cbd7a4520c
|
Add support for namespaced function definitions
|
2017-03-19 15:37:07 -04:00 |
|
Matthew Brown
|
f096468536
|
Don’t forget where a type came from when combining
|
2017-03-19 14:39:05 -04:00 |
|
Matthew Brown
|
3452c7853f
|
Add support for capturing clauses from elseifs
|
2017-03-18 14:04:26 -04:00 |
|
Matthew Brown
|
469cee1b80
|
Add a bunch of elseif tests to fix
|
2017-03-18 13:37:13 -04:00 |
|
Matthew Brown
|
c33e66813a
|
Move type algebra functionality to separate checker
|
2017-03-18 13:37:00 -04:00 |
|
Matthew Brown
|
e687887ba3
|
Emit an InvalidReturnType when it should contain null, and introduct LessSpecificReturnType
|
2017-03-18 12:18:17 -04:00 |
|
Matthew Brown
|
9edae64ee2
|
Add a few more edge-casey tests
|
2017-03-18 01:34:29 -04:00 |
|
Matt Brown
|
30e8e1880d
|
Add another easy calculation of clauses
|
2017-03-16 14:45:45 -04:00 |
|
Matt Brown
|
cecfe25df7
|
Update outer clauses in mic drop situation
|
2017-03-16 11:46:07 -04:00 |
|
Matt Brown
|
04363237c5
|
Fix #116 - be more lenient with static vars
|
2017-03-15 15:21:00 -04:00 |
|
Matt Brown
|
7fad81edac
|
Fix issue with unset var in loop
|
2017-03-15 11:38:23 -04:00 |
|
Matthew Brown
|
c0a646bbc5
|
Add test for tail-set var
|
2017-03-14 20:16:41 -04:00 |
|
Matthew Brown
|
6cfe540c98
|
Fix issue evaluating elseif empty assertions
|
2017-03-14 15:48:52 -04:00 |
|
Matthew Brown
|
9dd94d099f
|
Fix issue with possibly-redefined switch vars
|
2017-03-14 02:00:38 -04:00 |
|
Matthew Brown
|
50b629e88e
|
Update context types after switch statement without default case
|
2017-03-13 21:17:21 -04:00 |
|
Matt Brown
|
b3bb8b72cc
|
Add additional tests
|
2017-03-13 18:07:36 -04:00 |
|
Matt Brown
|
20791bfae6
|
Add third loop test
|
2017-03-13 11:53:16 -04:00 |
|
Matt Brown
|
7a652ee4bf
|
Add tests for things we do not want to emit errors
|
2017-03-13 11:22:42 -04:00 |
|
Matthew Brown
|
a7da88bad3
|
Improve solution to allow for more user errors
|
2017-03-11 12:32:27 -05:00 |
|
Matthew Brown
|
39b9afcdac
|
Fix issue running isset after empty array check
|
2017-03-11 12:05:23 -05:00 |
|
Matthew Brown
|
048d7f0142
|
Fix #110 - failure to eliminate false from array|false on isset
|
2017-03-05 23:47:53 -05:00 |
|
Matt Brown
|
f9f38f283e
|
Emit issue when property type is not defined
|
2017-03-02 12:19:18 -05:00 |
|
Matt Brown
|
864d242f13
|
Improve labelling of referencing expressions
|
2017-03-01 11:56:36 -05:00 |
|
Matt Brown
|
7baf942eaa
|
Prevent false positives after extract call
|
2017-02-27 10:52:43 -05:00 |
|
Matthew Brown
|
cd5f727d2e
|
Collect explicit references to classes/methods
|
2017-02-26 23:09:18 -05:00 |
|
Matt Brown
|
182f715b62
|
Add dead code detection for possibly unused public methods
|
2017-02-23 19:52:23 -05:00 |
|
Matt Brown
|
0049e4deb4
|
Fix #105 and also the issues found in its wake
|
2017-02-23 19:36:51 -05:00 |
|
Matthew Brown
|
fa3b292fd4
|
Fix #101 - restrict the values of pass-by-ref variables
|
2017-02-23 00:25:28 -05:00 |
|
Matthew Brown
|
47de866601
|
Fix issue using abstract methods from traits
|
2017-02-22 01:25:51 -05:00 |
|
Matt Brown
|
2c7ffb6f4c
|
Add support for negating some while assertions
|
2017-02-21 16:52:27 -05:00 |
|
Matt Brown
|
99dd3ba5de
|
Move loop scope tests into separate file
|
2017-02-21 16:33:20 -05:00 |
|
Matt Brown
|
c6a625c16e
|
Fix #102 - be more lenient about whether a type can be reconciled
|
2017-02-21 16:15:39 -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
|
9137727993
|
Fix #99 - treat null coalesce more respectfully
|
2017-02-17 20:50:47 -05:00 |
|
Matthew Brown
|
9579460c59
|
Fix #97 - is_callable shouldn’t prevent evaluation of calls to existing functions
|
2017-02-16 20:51:53 -05:00 |
|
Matthew Brown
|
32dd5d5512
|
Be better about dealing with byref args when not checking functions
|
2017-02-15 01:47:03 -05:00 |
|
Matt Brown
|
83a978ea80
|
Fix array_filter on string-keyed arrays
|
2017-02-13 19:16:25 -05:00 |
|
Matthew Brown
|
c41c873d33
|
Add exception messages to TypeTest.php
|
2017-02-13 01:13:22 -05:00 |
|
Matthew Brown
|
0277ca49ba
|
Add config creation utility
|
2017-02-12 23:59:43 -05:00 |
|
Matthew Brown
|
a87ea78efc
|
Fix variable-scoped byref issue
|
2017-02-12 19:07:25 -05:00 |
|
Matthew Brown
|
81e24de76f
|
Fix invalid NullPropertyFetch warning
|
2017-02-12 18:06:18 -05:00 |
|
Matthew Brown
|
9061d36566
|
Don’t emit InvalidArrayAccess if ignoring null arrays
|
2017-02-12 17:13:03 -05:00 |
|
Matthew Brown
|
b80628b1c4
|
Convert all templated properties to most acceptable type
|
2017-02-12 14:10:34 -05:00 |
|
Matthew Brown
|
2f2b487236
|
Fix #96
|
2017-02-12 12:31:39 -05:00 |
|
Matthew Brown
|
1029e68341
|
Allow TNamedObject to be coerced to TObject
|
2017-02-12 00:50:37 -05:00 |
|
Matthew Brown
|
deb11c9402
|
Change some errors from InvalidReturnType to MoreSpecificReturnType
|
2017-02-11 18:25:44 -05:00 |
|
Matthew Brown
|
35e4b380cc
|
Add collection of PossiblyNull* issues
|
2017-02-11 17:55:08 -05:00 |
|
Matthew Brown
|
14c487d3e6
|
Always supply default template params as return type
|
2017-02-10 22:51:47 -05:00 |
|
Matthew Brown
|
1d6c441d16
|
Use a more fault-tolerant version of php-parser
|
2017-02-10 21:27:12 -05:00 |
|
Matt Brown
|
c0a6fc9125
|
Fix #90 - add genericised stubs for common array functions
|
2017-02-10 18:12:59 -05:00 |
|
Matthew Brown
|
8ffd45407c
|
Add support for namespaced templates
|
2017-02-10 00:14:44 -05:00 |
|
Matthew Brown
|
4a82c0a09a
|
Add support for nested types in templates
|
2017-02-09 22:57:23 -05:00 |
|
Matthew Brown
|
5e8a40a5a1
|
Merge pull request #94 from vimeo/template-tags
Add support for templating
|
2017-02-09 20:51:23 -05:00 |
|
Matthew Brown
|
98b0ed280c
|
Add support for templating
|
2017-02-09 20:35:17 -05:00 |
|
Matthew Brown
|
41f7dc4a52
|
Fix #93 - fix MethodSignatureMismatch checks on builtin class methods
|
2017-02-09 17:49:13 -05:00 |
|
Matthew Brown
|
cdcacc395d
|
Rename DeadCode to UnusedVariable, UnusedMethod and UnusedClass
|
2017-02-08 00:28:26 -05:00 |
|
Matthew Brown
|
65ef5ba8b7
|
Improve native understanding of docblock-less variadics
|
2017-02-07 22:02:46 -05:00 |
|
Matthew Brown
|
895b612ca1
|
Add extra deadcode test
|
2017-02-07 21:57:59 -05:00 |
|
Matthew Brown
|
5149414c8e
|
Add simple test for dead code
|
2017-02-07 21:44:52 -05:00 |
|
Matthew Brown
|
01beb97413
|
Fix #87 - array types from docblocks can be reasoned about safely
|
2017-02-03 22:07:14 -05:00 |
|
Matthew Brown
|
5ec2a9742b
|
Fix union type simplification of float|int eradicating int
|
2017-02-01 19:39:40 -05:00 |
|
Matthew Brown
|
2852eeebad
|
Add return types to tests
|
2017-02-01 18:11:50 -05:00 |
|