1
0
mirror of https://github.com/danog/psalm.git synced 2024-11-27 04:45:20 +01:00
Commit Graph

143 Commits

Author SHA1 Message Date
Matthew Brown
98437c52db Check closure params to see if they align with array_map/array_filter args 2016-10-29 22:17:46 -04:00
Matthew Brown
4bf07d0adb Add support for PHPDoc array style 2016-10-29 20:57:03 -04:00
Matthew Brown
95be3c4a05 Interpret variadic params as arrays 2016-10-29 20:50:24 -04:00
Matthew Brown
b31ac4a862 Removed object-like type descriptor in favour of array{} syntax 2016-10-28 13:24:06 -04:00
Matthew Brown
3578db69fc Add interface inheritance test 2016-10-24 19:20:28 -04:00
Matthew Brown
ce95275878 Fix more Psalm bugs found by Psalm 2016-10-23 12:24:53 -04:00
Matthew Brown
6d8e722a77 Add support for anonymous classes 2016-10-20 20:54:17 -04:00
Matthew Brown
6283553d19 Properly clear cache 2016-10-20 18:16:17 -04:00
Matthew Brown
d71d439e25 Closure basically implements callable 2016-10-20 18:05:28 -04:00
Matthew Brown
8c23d0829a Add typed support for spaceship operator 2016-10-20 14:28:16 -04:00
Matthew Brown
a4644a0e4a Add support for Generator types 2016-10-20 14:28:16 -04:00
Matthew Brown
74abadf6c7 Add checkable return type for Generator 2016-10-20 11:31:39 -04:00
Matthew Brown
23529a6f70 Add more complicated yield test 2016-10-20 11:31:19 -04:00
Matthew Brown
8be174999e Add more failing PHP7.0 tests 2016-10-20 00:47:10 -04:00
Matthew Brown
518e8bcbaf Support PHP5.5 features (except yield, for now) 2016-10-20 00:13:35 -04:00
Matthew Brown
451d97e0ed Add support for variadic and packed variables 2016-10-19 00:31:32 -04:00
Matthew Brown
58bb10b948 Improve maths type resolution 2016-10-19 00:00:49 -04:00
Matthew Brown
4b96a08871 Fix syntax error 2016-10-18 23:35:30 -04:00
Matthew Brown
5e1fc3c38b Add PHP 5.6 feature tests 2016-10-18 22:23:09 -04:00
Matthew Brown
cf7d2d1747 Add test for type hints 2016-10-18 22:02:38 -04:00
Matthew Brown
935b9dfe07 Be more sensitive to function_exists checks, do not apply to whole function 2016-10-18 16:14:52 -04:00
Matthew Brown
2fe46b08b4 Add additional array check 2016-10-15 13:11:08 -04:00
Matthew Brown
18a55e2854 Also inspect arrays from strings 2016-10-15 13:10:05 -04:00
Matthew Brown
c4648673bf Rename @suppress to @psalm-suppress 2016-10-11 14:17:55 -04:00
Matthew Brown
472e4df3cc Allow mixed to match function args 2016-10-10 22:49:43 -04:00
Matthew Brown
e14cadd32e Add tests for elseif reconciliation 2016-10-03 11:40:42 -04:00
Matthew Brown
c178e5c882 Add tests for nested assignment 2016-10-03 00:44:05 -04:00
Matthew Brown
8730c67d2a Fix tests 2016-10-02 22:01:01 -04:00
Matthew Brown
17d99b5fa7 Add ObjectLike combination tests 2016-10-02 18:59:58 -04:00
Matthew Brown
f3bedeb671 Add test for a336d6c 2016-10-01 22:47:50 -04:00
Matthew Brown
9f37dc8626 Check for arrayAccess erroneous vars 2016-09-22 13:45:47 -04:00
Matthew Brown
42c8923981 Fix isset assertions 2016-09-22 12:26:24 -04:00
Matthew Brown
f44eed1d8c Update tests to look for object-like types 2016-09-22 00:50:47 -04:00
Matthew Brown
5113ffefee Add a fully-parsable representation of object-like types 2016-09-22 00:31:07 -04:00
Matthew Brown
041f183d49 Add a bunch of new checks 2016-09-21 19:15:09 -04:00
Matthew Brown
93a5e6775d Add object-like type to represent cheating arrays 2016-09-20 21:45:49 -04:00
Matthew Brown
6da0b1cb87 Add even more tests 2016-09-15 14:21:51 -04:00
Matthew Brown
cb09a190ce Add more breaking tests 2016-09-13 00:18:41 -04:00
Matthew Brown
27b731a062 Add failing test 2016-09-12 19:44:46 -04:00
Matthew Brown
00065e73b9 Add extra tests for safety 2016-09-12 19:31:16 -04:00
Matthew Brown
cee7f18b11 Add extra test for type combinations 2016-09-12 00:03:37 -04:00
Matthew Brown
979639668d Fix array type in test 2016-09-12 00:03:15 -04:00
Matthew Brown
2e91b27b92 Add test for array assignment code 2016-09-12 00:02:50 -04:00
Matthew Brown
f455851f89 Fix bugs in array key checks 2016-09-09 18:36:35 -04:00
Matthew Brown
9bb0b18a62 Update tests to reflect precise array semantics 2016-09-09 16:38:32 -04:00
Matthew Brown
a441bef349 Add more tests for switch fallthrough 2016-08-30 00:04:54 -04:00
Matthew Brown
7e6d3b90ce Add more tests to identify regressions 2016-08-24 00:30:55 -04:00
Matthew Brown
72e90ddc49 Add more type tests 2016-08-23 20:56:18 -04:00
Matthew Brown
5f4ab230c3 Add more tests 2016-08-22 23:02:17 -04:00
Matthew Brown
cc09cb5c91 Add extra checks around static keywords 2016-08-18 16:29:07 -04:00
Matthew Brown
84b4e09873 Simplify clearCache calls 2016-08-15 11:01:50 -04:00
Matthew Brown
d559196c96 Fix reference errors 2016-08-14 13:13:53 -04:00
Matthew Brown
7d1a106fd5 Big file reorg with ClassLikeChecker as new ClassChecker 2016-08-13 14:20:46 -04:00
Matthew Brown
2164d2c9a8 Add a couple of extra tests for tricksy logic 2016-08-10 02:14:28 -04:00
Matthew Brown
f54b6a8347 Add test to catch edge case 2016-08-10 01:55:04 -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
df28d24803 Change name to Psalm 2016-07-25 18:37:44 -04:00
Matthew Brown
7b20c032b3 Test coolness 2016-07-25 18:31:03 -04:00
Matthew Brown
70462033c1 Add mo tests 2016-07-24 18:02:15 -04:00
Matthew Brown
ddd8f991a9 Fix Object test 2016-07-12 00:53:36 -04:00
Matthew Brown
ccc30163c2 Add assertive test 2016-07-07 18:10:01 -04:00
Matthew Brown
382fcb3a07 Add new tests for functionality 2016-06-29 18:15:51 -04:00
Matthew Brown
9662f88631 Fix erroneous recursion 2016-06-28 15:25:28 -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
e4c590d7b7 Fix tests by adding a config flag for throwing exceptions 2016-06-26 22:40:57 -04:00
Matthew Brown
26da9d7558 Add TryCatch return type test 2016-06-20 18:11:45 -04:00
Matthew Brown
50b65adb32 Add test for breaks in if 2016-06-20 16:55:12 -04:00
Matthew Brown
f60e23a7c7 Add separate scope tests file 2016-06-20 16:18:47 -04:00
Matthew Brown
953ba22a38 Add possiblyundefinedvariable tests 2016-06-20 12:38:47 -04:00
Matthew Brown
edd9a92d51 Dogfooding: fix codeinspector issues 2016-06-20 01:05:44 -04:00
Matthew Brown
5c1b7bb0bc Fix a few type inference bugs 2016-06-17 16:05:28 -04:00
Matthew Brown
32e18aa29e Redo a bunch of if statement checking logic 2016-06-16 18:52:12 -04:00
Matthew Brown
fb56e3b757 Change returnType to inferredType 2016-06-16 12:04:55 -04:00
Matthew Brown
ff92d207da Add failing test 2016-06-16 02:28:25 -04:00
Matthew Brown
218edb5bf4 Add numerous fixes 2016-06-16 01:19:52 -04:00
Matthew Brown
0c617f9519 Fix many many bugs 2016-06-15 20:16:40 -04:00
Matthew Brown
a17e1fb163 Create new system of storing types 2016-06-14 19:22:29 -04:00
Matthew Brown
82bca7a8b4 Do not negate types unnecessarily 2016-06-13 01:48:29 -04:00
Matthew Brown
46005ddd29 Read more from config and fix switch snafu 2016-06-10 14:47:44 -04:00
Matthew Brown
a30901be48 Add $this->var analysis and improve else semantics 2016-05-09 08:56:07 -04:00
Matthew Brown
cb59baec87 Improve type resolution 2016-04-30 14:14:22 -04:00
Matthew Brown
866727ec27 Add test for negation after break/continue 2016-04-26 18:18:05 -04:00
Matthew Brown
97c0f91afe Add proper namespaces 2016-04-21 12:02:21 +01:00
Matthew Brown
d2243c3317 Add sanity check tests 2016-04-12 16:12:38 -04:00
Matthew Brown
ff578f8468 Add support for square bracket array declarations is_array checks 2016-04-12 11:28:36 -04:00
Matthew Brown
283180115b Fix incorrect test & implementation 2016-04-04 16:33:26 -04:00
Matthew Brown
6ec754d21d Add redefined var scanning to switch statements 2016-04-04 14:29:02 -04:00
Matthew Brown
5c132274f4 Add support for $this->x vars 2016-04-04 01:21:28 -04:00
Matthew Brown
9032aa065a Fix variable redefinition 2016-04-04 00:17:19 -04:00
Matthew Brown
13e9923cd5 Fix ternary else check 2016-04-03 20:14:19 -04:00
Matthew Brown
b60213395b Add initial rudimentary tests 2016-04-03 19:47:06 -04:00