1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-13 17:57:37 +01:00
Commit Graph

498 Commits

Author SHA1 Message Date
Matthew Brown
4919252260 Fix leaking ref in SwitchChecker 2016-12-28 14:38:16 -05:00
Matthew Brown
6972c45c14 Remove vars from parent clauses when they are reconciled with vars 2016-12-28 14:20:16 -05:00
Matthew Brown
05834a0db3 Fix #13 by revamping how we treat type assertions in if statements and ternary expressions 2016-12-28 13:12:06 -05:00
Matthew Brown
6b0537440f Register all classes & interfaces declared in file before check 2016-12-28 13:10:58 -05:00
Matthew Brown
324b7b4801 Support old-style namespaced constructors 2016-12-27 01:06:05 +00:00
Matthew Brown
dac54c41ab Fix array_filter with no second arg usage 2016-12-26 14:40:32 +00:00
Matthew Brown
74727c9564 Prevent value from breaking outside of scope 2016-12-26 11:39:50 +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
8ad3ee4f53 Fix for fix 2016-12-25 01:35:13 +00:00
Matthew Brown
6a19aa63d2 Fix array_filter return type 2016-12-25 01:33:14 +00:00
Matthew Brown
513fcea101 Only assign type when not null 2016-12-25 01:12:26 +00:00
Matthew Brown
1fe0eee8e4 Add generic type coercion checks 2016-12-25 01:08:58 +00:00
Matthew Brown
1007d1682c Fix mixed operand issues 2016-12-24 18:29:11 +00:00
Matthew Brown
c51d8f5220 Implement MixedOperand and InvalidOperand issues 2016-12-24 18:29:11 +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
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
9a32b5fd40 Hide Mixed* issues under a totallyTyped config flag 2016-12-18 19:17:39 -05: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
6ee8d473a0 Fix support for includeFiles 2016-12-14 12:53:11 -05:00
Matt Brown
154d023a9d Add more robust config testing 2016-12-14 12:28:38 -05:00
Matt Brown
fa50a250c3 Limit snippet selection by preview bounds 2016-12-12 19:11:21 -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
ee2a60499e Fix LimitIterator issue 2016-12-09 18:53:18 -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
1bcd31dd33 Update CallMap from etsy/phan 2016-12-09 11:09:04 -05:00
Matthew Brown
39d08cd4b4 Add method to set custom error level programatically 2016-12-08 22:37:59 -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
7cac909cae Add attribution 2016-11-21 14:51:19 -05:00
Matthew Brown
7793f40803 Add Phan MIT license 2016-11-21 14:50:00 -05:00