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 |
|
Matthew Brown
|
76b6bc9b3d
|
Prevent Psalm from storing unnecessary checkers
|
2017-02-01 18:11:00 -05:00 |
|
Matthew Brown
|
e925e8b4db
|
Fix #86 - remove empty array from type on !empty check
|
2017-02-01 13:51:26 -05:00 |
|
Matthew Brown
|
a0711de023
|
Update config key to be more accurate ref #85
|
2017-02-01 10:13:37 -05:00 |
|
Matt Brown
|
a7872472be
|
Add stubbing tests and modify config initialisation
|
2017-01-31 19:22:05 -05:00 |
|
Matthew Brown
|
ce93c4ef2d
|
Assert smart things when offset is variable
|
2017-01-31 01:35:44 -05:00 |
|
Matthew Brown
|
965a79251d
|
Fix #82 by updating how isset calls are handled
|
2017-01-31 00:34:06 -05:00 |
|
Matt Brown
|
8c68861cc3
|
Fix #81 - interface inheritance checks were broken
|
2017-01-30 18:38:23 -05:00 |
|
Matthew Brown
|
d978966db4
|
Fix #37 - check parent calls for staticness
|
2017-01-29 22:13:53 -05:00 |
|
Matthew Brown
|
a45c47776b
|
Fix #79 - check anonymous class statements
|
2017-01-29 13:20:12 -05:00 |
|
Matthew Brown
|
c485a3d056
|
Check for not-set-in-constructor errors across traits too
|
2017-01-27 08:28:21 -07:00 |
|
Matthew Brown
|
6bcc763414
|
Fix #3 by checking inside __constructor calls for initialisations
|
2017-01-26 23:23:12 -07:00 |
|
Matthew Brown
|
f03807e7b7
|
Fix unaryplus/minus type inference
|
2017-01-25 20:02:19 -07:00 |
|
Matthew Brown
|
7e7743d6fb
|
Do not complain about missing void return types if config set
|
2017-01-25 17:07:28 -07:00 |
|
Matthew Brown
|
ea63fd7ae3
|
Fix #75 - allow inteeger offsets for object-like arrays
|
2017-01-25 00:11:24 -07:00 |
|
Matthew Brown
|
35617e9d84
|
Add test for specific issue mentioned in #74
|
2017-01-23 14:19:08 -07:00 |
|
Matthew Brown
|
daa923e243
|
Stop analysis if parent class cannot be located
|
2017-01-23 13:36:06 -07:00 |
|
Matthew Brown
|
3ad6ec2e34
|
Be more resilient if we ignore that parent class does not exist
|
2017-01-23 13:21:40 -07:00 |
|
Matthew Brown
|
374dc65de1
|
Fix #39 by checking for ArrayAcces interface
|
2017-01-20 00:23:58 -05:00 |
|
Matthew Brown
|
894b25487f
|
Fix #71 - prevent instantiation of abstract classes
|
2017-01-20 00:10:10 -05:00 |
|
Matthew Brown
|
9d1b382820
|
Fix #48 by recording class definition line number & file path
|
2017-01-19 23:45:21 -05:00 |
|
Matt Brown
|
d3a9452cde
|
Make sure we don’t lose type information while reconciling
|
2017-01-19 17:45:42 -05:00 |
|
Matthew Brown
|
a14b03c057
|
Fix issue with array_merge, and then bugs revealed by that
|
2017-01-19 01:32:35 -05:00 |
|
Matthew Brown
|
27a018095b
|
Fix invalid InvalidParamDefault error when comparing to false
|
2017-01-19 01:12:19 -05:00 |
|
Matthew Brown
|
de1ce36a5c
|
Fix method mutation transference
|
2017-01-18 23:19:36 -05:00 |
|
Matt Brown
|
b23c55e570
|
Fix #70 by allowing string to be a numeric
|
2017-01-18 11:07:38 -05:00 |
|
Matthew Brown
|
e3b9f0fd83
|
Fix multiple duplicate namespaces constant confusion
|
2017-01-17 23:55:08 -05:00 |
|
Matt Brown
|
875717bb96
|
Fix #63 by adding directory separators
|
2017-01-17 22:10:21 -05:00 |
|
Matt Brown
|
c0898aa6e5
|
Fix issue where inferred return type contained subclasses
|
2017-01-17 12:51:09 -05:00 |
|
Matthew Brown
|
bc668e2c7a
|
Change variadic docblock param to match language syntax
|
2017-01-17 01:14:43 -05:00 |
|
Matthew Brown
|
693811abed
|
Allow non-array docblock typehints for variadic params
|
2017-01-17 00:26:40 -05:00 |
|
Matthew Brown
|
e4769fd04a
|
Don’t give up when faced with variadic type
|
2017-01-17 00:07:58 -05:00 |
|
Matthew Brown
|
b9bad01dbd
|
Treat reflected interface parents correctly
|
2017-01-16 20:47:23 -05:00 |
|
Matthew Brown
|
317eab8730
|
Add support for ?A types in docblock
|
2017-01-16 19:17:46 -05:00 |
|
Matthew Brown
|
9220b958eb
|
Fix phpcs errors
|
2017-01-16 19:06:39 -05:00 |
|
Matthew Brown
|
b3726c9de5
|
Use getcwd() for the project’s base, not the config file parent directory
|
2017-01-16 18:33:04 -05:00 |
|
Matthew Brown
|
0613324df9
|
Add test for #64
|
2017-01-16 16:33:35 -05:00 |
|
Matthew Brown
|
4b283564ca
|
Allow variadic params to be passed by reference
|
2017-01-16 12:39:38 -05:00 |
|
Matthew Brown
|
856870cf37
|
Fix #62 - die quickly and explicitly if files cannot be located
|
2017-01-16 11:41:57 -05:00 |
|
Matthew Brown
|
2e2f2f4ffb
|
Add new suppressable error for missing closure return types
|
2017-01-16 01:22:36 -05:00 |
|
Matthew Brown
|
5315fd15ad
|
Fix namespaced functions in regular use statements
|
2017-01-16 00:49:12 -05:00 |
|
Matthew Brown
|
ac92de181f
|
Allow classes that use __invoke to be called
|
2017-01-16 00:29:18 -05:00 |
|
Matthew Brown
|
d46282e13f
|
Fix issue with constants defined inside interfaces
|
2017-01-16 00:13:08 -05:00 |
|
Matthew Brown
|
c78ce31e36
|
Be more lenient when type left out of docblock
|
2017-01-15 23:49:58 -05:00 |
|
Matthew Brown
|
35062a7c5a
|
Make sure we don’t take website down by mistake
|
2017-01-15 23:18:26 -05:00 |
|
Matthew Brown
|
5845463dab
|
Fix #61 - don’t warn about non-implementing abstract classes
|
2017-01-15 19:02:36 -05:00 |
|
Matthew Brown
|
ce89ac4986
|
Fix #50 - asserting about docblock types no longer causes error
|
2017-01-15 17:52:01 -05:00 |
|
Matthew Brown
|
9b06b672ba
|
Fix #54 - register function constants when function is invoked
|
2017-01-15 16:43:49 -05:00 |
|
Matthew Brown
|
4fd46fe2c8
|
Fix #59 - make functions aware of just-defined constants
|
2017-01-15 15:58:40 -05:00 |
|
Matthew Brown
|
faccc73dc1
|
Fix #52 by analysing non-main parts of issets
|
2017-01-15 13:58:20 -05:00 |
|
Matthew Brown
|
1bf2139149
|
Fix #58 - treat callmap args correctly when evaluating variadic
|
2017-01-15 13:17:11 -05:00 |
|
Matthew Brown
|
2e4996e562
|
Fix how we treat numeric strings
|
2017-01-15 12:55:07 -05:00 |
|
Matthew Brown
|
8836f05027
|
Fix #56 - functions in root namespaces should not need slash
|
2017-01-15 12:34:23 -05:00 |
|
Matthew Brown
|
03141e41c2
|
Move string-stored types into named classes
|
2017-01-15 10:22:05 -05:00 |
|
Matthew Brown
|
dc592f7a6e
|
Fix #55 - hiccup when negating strange expression
|
2017-01-15 01:16:50 -05:00 |
|
Matthew Brown
|
78c1138a94
|
Fix #53 - add back extends checks for reflected classes
|
2017-01-14 19:34:10 -05:00 |
|
Matt Brown
|
37e8b4adfe
|
Fix a few issues in tests
|
2017-01-13 14:14:24 -05:00 |
|
Matt Brown
|
6e6106c080
|
Add docblocks to tests
|
2017-01-13 14:07:23 -05:00 |
|