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

2718 Commits

Author SHA1 Message Date
Matt Brown
24f307d568 Fix #645 - add isa- prefix for strings as well as class constants 2018-04-05 12:03:36 -04:00
Matthew Brown
78d5adb17d Make key work with typed arrays 2018-04-05 00:21:14 -04:00
Matt Brown
1282f74931 Allow coercion from generic array to objectlike with possible keys 2018-04-04 18:01:53 -04:00
Matt Brown
4065fa894f Add numeric to Psalm reserved types 2018-04-04 14:42:23 -04:00
Matt Brown
b4fba8f805 Allow capitalised reserved words 2018-04-04 12:39:05 -04:00
Matthew Brown
03b3a764e3 Fix #641 - allow is_a to operate on strings as well 2018-04-03 23:14:23 -04:00
Matthew Brown
4552e69ef2 Allow classes to be instantiated by their name only
Ref #641
2018-04-03 22:20:00 -04:00
Matt Brown
f679900028 Remove aggregate_* methods c/o @weirdan 2018-04-03 11:55:13 -04:00
Scott
35ca719c07 Fix callmap for ext/hash fucntions
Fixes #627 -- until PHP < 7.2 support can be dropped, we need to be able to resolve `resource` or `HashContext`.
2018-04-03 11:53:02 -04:00
Jon Ursenbach
f51a5f79ed pow() accepts int|float, not just float. 2018-04-03 11:52:38 -04:00
Matt Brown
fef56c7633 Fix #639 - add scalar to psalm-recognised types 2018-04-03 11:24:23 -04:00
Matthew Brown
1395299e28 Fix #637 - allow int|string array key types to be compared to mixed 2018-04-02 22:40:29 -04:00
Matthew Brown
4ff7db09f9 Fix var_export return type
Fixes #636
2018-04-02 22:19:58 -04:00
Matt Brown
734b6915db Fix #635 - type combinations should copy over possibly undefined flag 2018-04-02 14:36:33 -04:00
Matthew Brown
faa2d6f2e1 Fix #634 - prevent prefixing objectlike keys with namespaces 2018-04-02 00:39:59 -04:00
Matthew Brown
ef37f0cfe8 Fix #626 - check __invoke methods 2018-03-31 18:57:13 -04:00
Matthew Brown
ca8f2626a2 Remove extraneous function reflection 2018-03-30 20:08:12 -04:00
Matthew Brown
75e59f29ea Check as many autoloaded files as possible
and ignore reflected function docblocks - fixes #629
2018-03-30 20:03:56 -04:00
Matthew Brown
51055eb17e Add self and static to reserved word list 2018-03-30 19:20:38 -04:00
Matthew Brown
3a77504730 Add test to find bad behaviour 2018-03-30 19:15:24 -04:00
Matthew Brown
6a6d6465f5 Fix #619 - don’t use capitalised letters to discriminate classes 2018-03-30 19:04:21 -04:00
Matthew Brown
c8c216edb2 Fix #610 - add slightly hacky check for multiple callmap options 2018-03-30 18:51:59 -04:00
Matthew Brown
2a544c3076 Fix #560 - ignore @param $var annotations 2018-03-30 17:46:12 -04:00
Matthew Brown
17b27b31e8 Fix erroneous input/output lines 2018-03-29 10:26:26 -04:00
Matthew Brown
7a0c7f4d1e Improve handling of ||
Ref #630
2018-03-29 02:20:19 -04:00
Matthew Brown
211b87ce8d Add test for empty callable 2018-03-28 10:53:26 -04:00
Matt Brown
3213695c95 Fix off-by-one error
Fixes #625
2018-03-27 14:43:39 -04:00
Matt Brown
fd9e783a37 Emit InvalidDocblock for bad static keyword in @var
Ref #623
2018-03-27 11:34:48 -04:00
Matthew Brown
5783611366 mixify parse_url return type until I can get a handle on it 2018-03-27 08:24:48 -04:00
Matthew Brown
c0c5966b4c Fix callable() parsing 2018-03-27 08:21:48 -04:00
Matthew Brown
504a057071 Trap return type parse issues in fixUpLocalType 2018-03-27 08:07:44 -04:00
Matthew Brown
843a8a4e40 Make CallMap have compatible signatures 2018-03-27 08:02:08 -04:00
Matthew Brown
3ef7073862 Add callmap updates from Phan 2018-03-27 01:05:37 -04:00
Matthew Brown
44cccb5b3d Fix build 2018-03-27 01:05:11 -04:00
Matthew Brown
fb802540d6 Fix variadic format cc @TysonAndre and allow callable param types
Ref #580
2018-03-27 00:12:41 -04:00
Matthew Brown
f604ed99d5 Bump composer version of package-versions 2018-03-26 23:43:54 -04:00
Matthew Brown
7d7f5d00a1 Prevent duplicate properties 2018-03-26 23:37:35 -04:00
Matthew Brown
58115599a1 Add support for callable(...) syntax
Ref #580
2018-03-26 22:13:10 -04:00
Matthew Brown
871a91c850 Add debug-by-line option 2018-03-26 09:08:55 -04:00
Matthew Brown
cad60619c2 Fix callmap signatures from @weirdan 2018-03-25 08:54:05 -04:00
Tyson Andre
04d4c719f9 Sort the call map
Psalm's function signature map was based on an old ad hoc sorting order
(Possibly the unix sorting utility?)
Instead, sort by `strtolower(str_replace("'", "\x0", $functionKey))`
(To group classes together, and global functions together, and alternates together,
instead of mixing them)
`phan/phan/internal/internalsignatures.php sort` was used to perform this
sorting (It's hardcoded to expect src/Phan/Internal/FunctionSignatureMap.php, though)

Other changes:

- Add signature for `_()`, which is an alias of gettext()
  https://secure.php.net/manual/en/function.gettext.php#refsect1-function.gettext-notes
- etsy/phan -> phan/phan
- Mention that __construct has type void, not the class name.
- nit: Change __halt_compiler to void.
2018-03-25 08:50:04 -04:00
Matthew Brown
74aa376ec7 Fix #617 - catch exception on bad square brackets 2018-03-24 21:02:44 -04:00
Matt Brown
f5ef864168 Improve checks to prevent breaking existing typehints when running psalter 2018-03-23 16:34:45 -04:00
Matt Brown
06e850867d Allow combined keys to be possibly undefined 2018-03-23 13:14:00 -04:00
Matthew Brown
a4a618c9e5 Fix rules regarding always-defined object-like properties 2018-03-23 01:36:56 -04:00
Matthew Brown
7637eb5075 Allow possibly undefined object-like vars to not cause problems 2018-03-23 01:13:46 -04:00
Matthew Brown
a96ce89e9f Allow arbitrary bracketing of types 2018-03-22 22:28:06 -04:00
Matthew Brown
c54850aa5b Revert changes to Type.php 2018-03-22 21:52:36 -04:00
Matthew Brown
5ff6f27178 Fix #615 - numeric-string is always still a string 2018-03-22 21:48:26 -04:00
Matthew Brown
c8fe9e89f3 Fix parsing of array{a:int}[]
Fixes #614
2018-03-22 21:21:04 -04:00