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

1050 Commits

Author SHA1 Message Date
Matt Brown
fe54318432 Fix #119 - strtotime can return false 2017-03-30 11:02:59 -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
7800d34b59 Add two args to array_keys 2017-03-24 10:13:20 -04:00
Matthew Brown
676c01ed2e Fix nullref 2017-03-20 02:23:54 -04:00
Matthew Brown
066b1e011e Prevent creating empty objectlike 2017-03-20 02:05:58 -04:00
Matthew Brown
73b5eb1530 Uncomplicate __toString method 2017-03-20 01:36:51 -04:00
Matthew Brown
caf72bda52 Shave off a little extra time by caching file_checker refs 2017-03-19 23:30:20 -04:00
Matthew Brown
5c7df08862 Add optimisations speed up heavily-used methods 2017-03-19 23:26:45 -04:00
Matthew Brown
fc4a72d905 Store reflected variadic function parameters 2017-03-19 18:31:19 -04:00
Matthew Brown
d69ff4e16e Remove var_dump 2017-03-19 18:25:30 -04:00
Matthew Brown
f2f944d4c0 Prevent trying to open invalid file paths 2017-03-19 18:20:48 -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
2d88e237f4 Make method non-static 2017-03-19 13:23:19 -04:00
Matthew Brown
b1b7b0ae35 Only include vars asserted in where 2017-03-18 16:34:44 -04:00
Matthew Brown
9a3049b5bc Make sure switch contexts know their parents 2017-03-18 15:28:59 -04:00
Matthew Brown
cb2ed860fb Make sure to invalidate clauses in all parent contexts when asserting 2017-03-18 15:24:14 -04:00
Matthew Brown
18af05fbd9 Do not stop at magic setter when property referenced locally 2017-03-18 15:00:01 -04:00
Matthew Brown
3452c7853f Add support for capturing clauses from elseifs 2017-03-18 14:04:26 -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
Matt Brown
8c9cba5e75 Fix #117 - update filesystem callmap functions 2017-03-16 17:34:40 -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
0c0a30d6ea Make Psalm insensitive to case-sensitive filenames 2017-03-16 10:58:13 -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
9b41bc9b37 Add slower (but more accurate) loop checks 2017-03-14 20:14:25 -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
3d2be3410e Infer loop types without @var comments 2017-03-13 18:06:56 -04:00
Matt Brown
6f00d05271 Add array_reverse stub 2017-03-13 16:50:25 -04:00
Matt Brown
ae0ca9553f Remove training wheels 2017-03-13 12:02:28 -04:00
Matt Brown
fa63afc27d Change property name 2017-03-13 11:23:26 -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
f6066aaded Log references to parent classes 2017-03-10 19:36:17 -05:00
Matthew Brown
ce253ad5c3 Only get a single atomic type when checking mutations 2017-03-09 18:10:50 -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
4619ef1390 Re-enable dead code detection 2017-03-03 15:54:08 -05:00
Nat Zimmermann
aac8b79863 Delete .DS_Store 2017-03-03 12:14:24 +00:00
Matt Brown
f9f38f283e Emit issue when property type is not defined 2017-03-02 12:19:18 -05:00
Matthew Brown
7f3a763303 Allow multiple references per row 2017-03-02 01:10:00 -05:00
Matthew Brown
18b5617443 Prevent duplicate lookup of functionstorage 2017-03-02 00:00:31 -05:00
Matthew Brown
5cd1b6735f Add even more references in docblocks 2017-03-01 22:27:52 -05:00
Scott
d1b0cdecd7 Add argument to apcu_add() definition 2017-03-01 19:39:19 -05:00
Matt Brown
6d1f557ca4 Add docblock type location 2017-03-01 18:36:04 -05:00
Matt Brown
864d242f13 Improve labelling of referencing expressions 2017-03-01 11:56:36 -05:00
Matt Brown
518184f388 Don’t do a full class check where not necessary 2017-02-28 11:00:32 -05:00
Matthew Brown
54026fc8f9 Touch up a couple of spots 2017-02-28 00:54:59 -05:00
Matthew Brown
2acfede1d2 Improve call map signatures from phan 2017-02-28 00:50:08 -05:00
Matthew Brown
9ffb9b64f1 Fix #106 - fix a few method signatures 2017-02-28 00:33:49 -05:00
Matthew Brown
f55c754eab Include use references to classes in reference collection 2017-02-28 00:29:28 -05:00
Matt Brown
b948198ca9 Also collect use path locations 2017-02-27 18:24:20 -05:00
Matt Brown
4f597a4068 Fix references 2017-02-27 16:38:43 -05:00
github@muglug.com
07c9cfb848 Check template typeof class references 2017-02-27 16:35:24 -05:00
Matt Brown
cbb8252125 Don’t be sensitive to casing differences in file paths 2017-02-27 12:02:13 -05:00
Matt Brown
729954573b Allow generics to work even if variables not checked 2017-02-27 11:07:44 -05:00
Matt Brown
ac1a45f129 Fix erroneous error message 2017-02-27 10:53:32 -05:00
Matt Brown
7baf942eaa Prevent false positives after extract call 2017-02-27 10:52:43 -05:00
Matthew Brown
d9433c9491 Add way to find all references to a given class or method in the codebase 2017-02-27 01:30:44 -05:00
Matthew Brown
cd5f727d2e Collect explicit references to classes/methods 2017-02-26 23:09:18 -05:00
Matthew Brown
8db6921f1c More graceful early exit if not checking variables 2017-02-24 21:27:52 -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
Matt Brown
444a56f4f5 Nest file class registration in conditional 2017-02-22 17:26:20 -05:00
Matthew Brown
47de866601 Fix issue using abstract methods from traits 2017-02-22 01:25:51 -05:00
Matthew Brown
12cb72ae4b Prevent recursion when checking for initialisations 2017-02-22 00:51:34 -05:00
Matthew Brown
48335b6fee Fix potential invalid arg 2017-02-22 00:42:50 -05:00
Matthew Brown
b2957ef4e4 Remove redundant property 2017-02-22 00:06:31 -05:00
Matt Brown
c85b6b376b Merge do vars in scope 2017-02-21 17:48:12 -05:00
Matt Brown
a56456a719 Add merging of vars_possibly_in_scope back 2017-02-21 17:41:54 -05:00
Matt Brown
fa35c0efa9 Remove changed vars from clauses in while loop to prevent re-application of logic 2017-02-21 17:19:15 -05:00
Matt Brown
2c7ffb6f4c Add support for negating some while assertions 2017-02-21 16:52:27 -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
59d1e63b5c Add possibly-false values to getFileName 2017-02-21 02:13:40 -05:00
Matthew Brown
45577f123c Don’t add Symony and Composer to predefined (Reflectable) classes 2017-02-21 02:07:43 -05:00
Matthew Brown
4348888b3e Prevent error when no params are given 2017-02-21 01:56:43 -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
870a4486a8 Fix socket return types 2017-02-17 19:52:37 -05:00
Matthew Brown
7cd1b27ff1 Add more support for logical and/or 2017-02-16 21:00:45 -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
2d58531631 Fix #98 - add support for logical and/or 2017-02-16 20:43:23 -05:00
Matthew Brown
32dd5d5512 Be better about dealing with byref args when not checking functions 2017-02-15 01:47:03 -05:00
Matthew Brown
8ae4bf6a18 Add initial support for server mode 2017-02-15 00:16:29 -05:00
Matt Brown
83a978ea80 Fix array_filter on string-keyed arrays 2017-02-13 19:16:25 -05:00
Matthew Brown
0277ca49ba Add config creation utility 2017-02-12 23:59:43 -05:00
Matthew Brown
500044dac1 Make sure $argv and $argc are not globally available 2017-02-12 22:12:31 -05:00
Matthew Brown
1001e03f8a Prevent empty typeof types 2017-02-12 19:51:48 -05:00
Matthew Brown
4f43a7eccb Fix possible nullref 2017-02-12 19:31:35 -05:00
Matthew Brown
1d09616e9d Prevent template types from leaking when no generics are provided 2017-02-12 19:26:23 -05:00
Matthew Brown
a87ea78efc Fix variable-scoped byref issue 2017-02-12 19:07:25 -05:00
Matthew Brown
a4323359d3 Fix ternary/which/for conditionals 2017-02-12 18:47:02 -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