1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-15 02:47:02 +01:00
Commit Graph

203 Commits

Author SHA1 Message Date
Matthew Brown
deb11c9402 Change some errors from InvalidReturnType to MoreSpecificReturnType 2017-02-11 18:25:44 -05:00
Matt Brown
32d85e20da Remove unused vars 2017-02-10 19:10:13 -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
6934b8ee45 Do not emit signature error for constructors 2017-02-08 21:19:47 -05:00
Matthew Brown
64cbe005f3 Remove more false positives 2017-02-08 02:23:41 -05:00
Matthew Brown
cedb70b0b4 Reduce false positives for unused variables 2017-02-08 01:59:49 -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
Matt Brown
f4857eb0dd Make dead code check emit an issue 2017-02-07 18:18:33 -05:00
Matt Brown
6b2bb7d917 Store first code location for all variables in a statement list 2017-02-07 18:09:12 -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
0fbf8b5619 Remove more dead code 2017-02-02 00:45:23 -05:00
Matthew Brown
d3abc0011d Fix #80 - add dead code checks via command line 2017-01-31 23:24:33 -05:00
Matt Brown
8c68861cc3 Fix #81 - interface inheritance checks were broken 2017-01-30 18:38:23 -05:00
Matthew Brown
4114456bf4 Key off lowercase classname and reduce dead code false positives 2017-01-30 00:26:17 -05:00
Matthew Brown
2e4aa3d3b1 Do not suggest mixed types 2017-01-27 22:44:52 -07:00
Matthew Brown
c868781731 Fix multiline docblock issue reporting issue 2017-01-27 22:24:25 -07:00
Matthew Brown
6714e28f5d Fix line numbers for return typehints 2017-01-27 19:09:40 -07:00
Matthew Brown
a35f2e0792 Don’t unset $this when calculating scope changes 2017-01-27 18:54:27 -07:00
Matthew Brown
63801c38c0 Make location of constructor error more specific 2017-01-26 23:32:03 -07:00
Matthew Brown
6bcc763414 Fix #3 by checking inside __constructor calls for initialisations 2017-01-26 23:23:12 -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
15e8c1b904 Fix simplifyUnionType so classes with __toString aren’t confused with string 2017-01-25 17:01:01 -07:00
Matthew Brown
58aee6340d Remove var_dump (shame on me) 2017-01-23 15:17:35 -07:00
Matthew Brown
df1d6abd7c Make brand-new return types more accurate 2017-01-23 15:16:13 -07:00
Matt Brown
c1e62a09e7 Merge suppressed issues with source’s issues 2017-01-19 17:58:08 -05:00
Matt Brown
c0898aa6e5 Fix issue where inferred return type contained subclasses 2017-01-17 12:51:09 -05:00
Matt Brown
6b47741528 Remove extraneous check 2017-01-17 11:20:28 -05:00
Matt Brown
dae7718ae8 Support array_combine types and introduce a MoreSpecificReturnType issue 2017-01-17 11:17:49 -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
3cdb1753d5 Update to the more accurate TypeChecker::isContainedBy 2017-01-16 20:00:51 -05:00
Matthew Brown
2e2f2f4ffb Add new suppressable error for missing closure return types 2017-01-16 01:22: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
1bf2139149 Fix #58 - treat callmap args correctly when evaluating variadic 2017-01-15 13:17:11 -05:00
Matthew Brown
03141e41c2 Move string-stored types into named classes 2017-01-15 10:22:05 -05:00
Matt Brown
fbbef2c320 Fix #45 - add issue when optional param used before required 2017-01-13 13:40:20 -05:00
Matt Brown
c181f47364 Fix #35 and #40 by improving method signature checks 2017-01-13 12:03:22 -05:00
Matthew Brown
5f54a9571c Fix deep project checks 2017-01-12 01:03:48 -05:00
Matthew Brown
56be346191 Add back mutation checks 2017-01-11 21:37:53 -05:00
Matthew Brown
f318c52876 Improve function rechecking 2017-01-09 00:31:23 -05:00
Matthew Brown
03c5ea3cef Store all class keys lowercased 2017-01-09 00:14:39 -05:00
Matthew Brown
306e600e3a Do not check param types on visit 2017-01-08 22:00:23 -05:00
Matthew Brown
17329015dc Discriminate between checking, visiting and analyzing in method names 2017-01-07 15:09:47 -05:00
Matthew Brown
694da2cabd Simplify a lot of APIs 2017-01-07 14:35:07 -05:00
Matthew Brown
6ee69e547f Do more to separate out processing steps 2017-01-06 01:07:11 -05:00
Matthew Brown
7609ca02c0 Fix #32 by evaluating all class references in files lazily 2017-01-04 23:42:58 -05:00
Matthew Brown
4c3e714253 Add a check for duplicated params 2017-01-02 01:20:47 -05:00
Matthew Brown
93c1366bd8 Tighten up what array assignments can happen 2017-01-02 01:07:44 -05:00
Matthew Brown
882c8a8d0c Add better checking of property array assignments 2017-01-02 00:08:35 -05:00
Matthew Brown
846cc59d5f Add support for checking closure return types 2016-12-31 10:51:42 -05:00
Matthew Brown
393297786d Fix issues with single-letter classes 2016-12-31 00:14:00 -05:00
Matthew Brown
ee4a3882a7 Check method defaults to see whether they match 2016-12-30 23:40:32 -05:00
Matthew Brown
bc01169910 Fix debug end results 2016-12-30 18:28:43 -05:00
Matthew Brown
c65a0bf181 Move function static arrays into FileStorage 2016-12-30 18:08:07 -05:00
Matthew Brown
92fe58b97c Shift storage from static arrays to dedicated ClassLikeStorage objects 2016-12-30 12:41:14 -05:00
Matthew Brown
2bf515be5f Check return types of functions in namespaces 2016-12-28 19:57:18 -05:00
Matthew Brown
324b7b4801 Support old-style namespaced constructors 2016-12-27 01:06:05 +00:00
Matthew Brown
b6eea4e812 Fix #20 - emit an issue when param is missing a type or param 2016-12-25 11:32:21 +00:00
Matthew Brown
c55870e26c Allow generic TypeChecker::isContainedBy checks 2016-12-24 18:28:43 +00:00
Matthew Brown
dfa089f8df Remove functionality that overlaps with phpcs FunctionCommentSniff 2016-12-23 22:48:36 +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
Matt Brown
6755c8724a Add tests for M* issues, fixing bugs along the way 2016-12-16 18:56:23 -05:00
Matt Brown
1d804cde66 Expand scope of property checks 2016-12-14 19:19:25 -05:00
Matthew Brown
592ee98efc Fix bugs discovered by adding more tests 2016-12-11 23:40:46 -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
12b5097fba Fix function casing when checking regular functions 2016-12-10 13:20:41 -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
d8f0a40d99 Improve param class hilighting 2016-12-08 16:23:07 -05:00
Matthew Brown
a5195b2571 Add JSON output format 2016-12-07 22:38:57 -05:00
Matt Brown
55a060b53a Add support for closure checks 2016-12-07 14:13:39 -05:00
Matt Brown
48e19fc7e5 Add support for closure docblocks 2016-12-06 19:41:52 -05:00
Matthew Brown
ef1049224d Add selection of return types in code preview 2016-12-06 16:33:47 -05:00
Matthew Brown
638fdad3ad Add support for PHP 7.1 iterable pseudo-type 2016-12-04 21:04: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
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
05a004c8bc Add check for array access on invalid type 2016-11-21 16:44:35 -05:00
Matthew Brown
0cb3b828b8 Add support for oldstyle constructors 2016-11-21 14:36:06 -05:00
Matthew Brown
a179eb89eb Add check for missing function params in docblocks 2016-11-21 13:37:02 -05:00
Matthew Brown
5a9f99c24e Fix namespacing issues in PHP 5.6 2016-11-20 21:49:06 -05:00
Matthew Brown
360213df9e Add support for PHPDoc-style type updates 2016-11-13 20:32:09 -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
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