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
François Kooman
b6499c33ed
fix ldap_bind parameters, allow null for bind_rdn and bind_password
2018-03-22 19:09:51 -04:00
Matt Brown
cc3aafe4c4
Improve intersection type parsing
2018-03-22 17:55:36 -04:00
Matthew Brown
ccbe9980f5
Fix issue with nested trait methods
2018-03-21 17:39:01 -04:00
Matthew Brown
49c4dd8a5d
Fix trait method aliasing
2018-03-21 16:55:31 -04:00
Matthew Brown
cb15f48406
Remove compression
2018-03-21 12:42:22 -04:00
Matthew Brown
c2002d0250
Add intersection iteration test
2018-03-21 12:21:46 -04:00