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 |
|
Matthew Brown
|
b32ead15d3
|
Add docblocks for methods and fix bugs
|
2016-08-13 11:28:06 -04:00 |
|
Matthew Brown
|
eafdaf9db0
|
Fix trait visibility
|
2016-08-13 11:10:57 -04:00 |
|
Matthew Brown
|
274448d014
|
Fix casing of simplexml returns
|
2016-08-12 20:45:34 -04:00 |
|
Matthew Brown
|
06ac1f1186
|
Improve array assignment checks;
|
2016-08-12 17:45:23 -04:00 |
|
Matthew Brown
|
f1fa5ca42f
|
Add false vals referenced in https://github.com/etsy/phan/pull/316
|
2016-08-12 16:36:27 -04:00 |
|
Matthew Brown
|
a0dcabe4e1
|
Look once the vars have been set
|
2016-08-11 22:00:27 -04:00 |
|
Matthew Brown
|
a62a7899e0
|
Add overrides for some methods
|
2016-08-11 17:36:22 -04:00 |
|
Matthew Brown
|
300375c4bd
|
Add preliminary call map
|
2016-08-10 19:37:40 -04:00 |
|
Matthew Brown
|
53b94f339e
|
Fix errors found via self-inspection
|
2016-08-10 19:21:03 -04:00 |
|
Matthew Brown
|
8d6871d29e
|
Remove underscores
|
2016-08-10 18:10:12 -04:00 |
|
Matthew Brown
|
cf90f5af4a
|
Add support for static in return types
|
2016-08-10 13:52:16 -04:00 |
|
Matthew Brown
|
2adf377d94
|
Fix closure & elseif checks
|
2016-08-10 02:13:55 -04:00 |
|
Matthew Brown
|
1c3993eaf7
|
Improve $context->update again
|
2016-08-10 01:54:45 -04:00 |
|
Matthew Brown
|
8345526fc8
|
Simplify context update logic
|
2016-08-10 01:28:38 -04:00 |
|
Matthew Brown
|
b274c7dd68
|
Fix tests
|
2016-08-10 01:09:47 -04:00 |
|
Matthew Brown
|
8131f806d8
|
Protect possibility of bad get_class call
|
2016-08-09 19:14:50 -04:00 |
|
Matthew Brown
|
24d67e9615
|
Add support for special typeof types (used in get_class checks)
|
2016-08-09 18:10:46 -04:00 |
|
Matthew Brown
|
02ce85e383
|
Add support for bool checks
|
2016-08-09 18:10:17 -04:00 |
|
Matthew Brown
|
55f466b2ed
|
Fix how params are set
|
2016-08-09 15:02:30 -04:00 |
|
Matthew Brown
|
b0f6a020da
|
Exit early for invalid class or interface
|
2016-08-09 12:11:58 -04:00 |
|
Matthew Brown
|
588ae82ffb
|
Do not skip if we want to check class methods
|
2016-08-09 12:07:50 -04:00 |
|
Matthew Brown
|
054032354d
|
Exit early if ReflectionError
|
2016-08-09 12:07:26 -04:00 |
|
Matthew Brown
|
0d35f1c14b
|
Allow suppression of type errors and add better treatment of static
|
2016-08-08 18:55:22 -04:00 |
|
Matthew Brown
|
daf49bdf0b
|
Add separate undefined this property to demarcate those errors
|
2016-08-08 16:06:28 -04:00 |
|
Matthew Brown
|
902c05d3a7
|
Check traits in context of class
|
2016-08-08 14:36:18 -04:00 |
|
Matthew Brown
|
be5fc52da8
|
Use $context->self var instead of $this->_absolute_class
|
2016-08-08 11:28:14 -04:00 |
|
Matthew Brown
|
92134b60ec
|
Add support for checking new self/parent/static
|
2016-08-07 16:27:00 -04:00 |
|
Matthew Brown
|
06891106fb
|
Add clearer error messages
|
2016-08-07 16:13:36 -04:00 |
|
Matthew Brown
|
ccaea8fa51
|
Allow docblock param types in function checker
|
2016-08-07 16:13:08 -04:00 |
|
Matthew Brown
|
a881191f1d
|
Be more lenient with certain assignments
|
2016-08-07 15:15:21 -04:00 |
|
Matthew Brown
|
b7dfb5e134
|
Skip empty arrays when looking inside foreach loops
|
2016-08-07 14:36:24 -04:00 |
|
Matthew Brown
|
c58458ed20
|
Add code to handle SimpleXMLElement
|
2016-08-07 13:58:46 -04:00 |
|
Matthew Brown
|
620d4afd68
|
Fix tokenisation of ? nullable shorthand
|
2016-08-07 12:50:21 -04:00 |
|
Matthew Brown
|
7a1cded329
|
Add better class visibiity checks
|
2016-08-07 12:23:29 -04:00 |
|
Matthew Brown
|
4d26b9b3af
|
Add more issues to solve
|
2016-08-07 11:35:27 -04:00 |
|
Matthew Brown
|
d254bc0aa2
|
Improve type checking of properties
|
2016-08-06 20:27:13 -04:00 |
|
Matthew Brown
|
f72ad63dac
|
Add beginnings of non-this property checks
|
2016-08-05 17:45:47 -04:00 |
|
Matthew Brown
|
81c72f2900
|
Evaluate parent classes proper-like
|
2016-08-05 15:11:20 -04:00 |
|
Matthew Brown
|
9d4271f023
|
Allow better handling of questionmark type annotations
|
2016-08-04 14:43:33 -04:00 |
|
Matthew Brown
|
944a8c24eb
|
Add ability to suppress info output from command line
|
2016-08-04 14:38:43 -04:00 |
|
Matthew Brown
|
bff796ceb7
|
Add TooManyArguments to default suppressed list
|
2016-07-30 19:54:53 -04:00 |
|
Matthew Brown
|
9cb7a5feeb
|
Fix #14 - add support for checking too many and too few arguments
|
2016-07-29 14:48:04 -04:00 |
|
Matthew Brown
|
f45e7c7539
|
Only load autoloader if provided
|
2016-07-26 15:03:43 -04:00 |
|
Matthew Brown
|
6b3fe14f1e
|
Allow specification of custom autoloaders
|
2016-07-26 15:03:43 -04:00 |
|
Matthew Brown
|
c4a222171b
|
Fix undefined var name
|
2016-07-26 15:03:43 -04:00 |
|
Matthew Brown
|
9718893232
|
Exit early if parent class cannot be found
|
2016-07-26 15:03:43 -04:00 |
|
Matthew Brown
|
7701a2ec23
|
Change config filename
|
2016-07-25 18:39:36 -04:00 |
|
Matthew Brown
|
df28d24803
|
Change name to Psalm
|
2016-07-25 18:37:44 -04:00 |
|
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
|
08dd92ac00
|
Add numeric type support to properties
|
2016-07-25 12:03:21 -04:00 |
|
Matthew Brown
|
37e3e9d85a
|
Protect implements checks
|
2016-07-25 09:23:38 -04:00 |
|
Matthew Brown
|
53f0e6ea8b
|
Add case-sensitive class logging
|
2016-07-25 09:02:30 -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
|
f3d4e35a52
|
Add gotchas
|
2016-07-25 00:12:02 -04:00 |
|
Matthew Brown
|
e35c328e89
|
We can do more with boolean ors
|
2016-07-24 23:40:53 -04:00 |
|
Matthew Brown
|
bd90dd7ee9
|
Add better checks for subclassed type comparison
|
2016-07-24 23:40:23 -04:00 |
|
Matthew Brown
|
ef1d662882
|
Memoize common reflection tasks
|
2016-07-24 23:38:52 -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
|
c195f48e35
|
Make sure generic type params are always unions
|
2016-07-24 17:08:40 -04:00 |
|
Matthew Brown
|
8844bd0c1e
|
Do incremental processing of statements
|
2016-07-24 17:06:54 -04:00 |
|
Matthew Brown
|
03693e5cb8
|
Allow issue suppression in classchecker
|
2016-07-24 17:06:36 -04:00 |
|
Matthew Brown
|
479e93fd56
|
Improve return type checks on generic functions
|
2016-07-24 16:21:42 -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
|
13f35914c2
|
Do not die when reflected class cannot be loaded
|
2016-07-13 11:19:07 -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
|
24300cc8f6
|
Suppress mixed method call warnings
|
2016-07-11 19:57:39 -04:00 |
|
Matthew Brown
|
32f07fd823
|
Only update type from docblock if it gives more info
|
2016-07-11 19:57:01 -04:00 |
|
Matthew Brown
|
6e2fc6141a
|
Add more robust fix for nullable kludge
|
2016-07-11 10:19:06 -04:00 |
|
Matthew Brown
|
04be1fb50e
|
Add slight kludge if method is nullable
|
2016-07-11 10:15:32 -04:00 |
|
Matthew Brown
|
348e06ffb9
|
Fix treatment of param types
|
2016-07-10 16:09:09 -04:00 |
|
Matthew Brown
|
855ffbd9c1
|
Suppress mixed method call issues by default
|
2016-07-07 19:40:00 -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
|
4f8fa010a5
|
Allow more characters in classnames
|
2016-06-30 00:27:33 -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
|
a93c54da0d
|
Improve type resolution of params
|
2016-06-29 16:42:30 -04:00 |
|
Matthew Brown
|
2e4e52f0f3
|
Reduce nesting
|
2016-06-29 10:57:15 -04:00 |
|
Matthew Brown
|
59acb5cfb7
|
Make sure to return bool where necessary
|
2016-06-29 10:57:02 -04:00 |
|
Matthew Brown
|
50aff4bcb7
|
Fix combination of type assertions
|
2016-06-28 15:43:21 -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
|
5b182fecea
|
Support absolute files
|
2016-06-28 14:28:45 -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
|
bd694459f3
|
Prepopulate all object properties
|
2016-06-27 10:46:27 -04:00 |
|
Matthew Brown
|
e4c590d7b7
|
Fix tests by adding a config flag for throwing exceptions
|
2016-06-26 22:40:57 -04:00 |
|
Matthew Brown
|
7f0139d27f
|
Add pretty colours
|
2016-06-26 22:03:37 -04:00 |
|
Matthew Brown
|
eb9084dbad
|
Add support for parsing bracket syntax
|
2016-06-26 22:02:23 -04:00 |
|
Matthew Brown
|
ad4943ead3
|
Allow custom config to be passed in
|
2016-06-26 15:33:51 -04:00 |
|
Matthew Brown
|
2ab3e3af40
|
Make sure IssueBuffer::finish is called after each public ProjectChecker method
|
2016-06-26 15:25:38 -04:00 |
|
Matthew Brown
|
5f60bc3a8b
|
Actually rename file
|
2016-06-26 15:24:12 -04:00 |
|
Matthew Brown
|
2d9f39e3f4
|
Change IssueHandler to IssueBuffer
|
2016-06-26 15:18:40 -04:00 |
|
Matthew Brown
|
bf96b4de3a
|
Add smart config identification
|
2016-06-26 13:45:20 -04:00 |
|
Matthew Brown
|
73eda1632e
|
Add extra alerts for invalid docblocks
|
2016-06-24 18:18:11 -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
|
162a8a2c2b
|
Search in while & try/catch
|
2016-06-20 18:10:24 -04:00 |
|
Matthew Brown
|
2b8c95a19d
|
Use correct paths
|
2016-06-20 18:10:08 -04:00 |
|
Matthew Brown
|
f8fda8febb
|
Do not check return types if we ignore for that file
|
2016-06-20 18:09:04 -04:00 |
|
Matthew Brown
|
66535fb225
|
Allow void return type reporting
|
2016-06-20 16:54:43 -04:00 |
|
Matthew Brown
|
cf101b0fe0
|
Mixed cannot be substituted
|
2016-06-20 16:54:30 -04:00 |
|
Matthew Brown
|
0ecbfdbd64
|
Improve handling of binary ops
|
2016-06-20 16:54:02 -04:00 |
|