Matthew Brown
2e6fe993a8
Fix #2890 - phpstorm.meta.php scanner should be insensitive to method names
2020-03-01 17:11:44 -05:00
Matthew Brown
f44c3488eb
Keep track of which arg a given template was assigned from
...
Fixes #2900 - We only care about the depth of a templated match when templating from a particular argument. The next argument should essentially start afresh
2020-03-01 12:27:18 -05:00
Matthew Brown
e0d555e203
Allow function names to passed in as strings for callable template resolution
2020-02-29 15:43:45 -05:00
Matthew Brown
abb3800d20
Fix bad template replacement
2020-02-27 23:00:40 -05:00
Matthew Brown
1f19aed31b
Fix support for replacing mocked types in own classes
2020-02-27 21:36:03 -05:00
Brown
748abaf02a
Add params required for 7.1
2020-02-27 18:56:33 -05:00
Philip Hofstetter
d315822bfa
make skipping of checks after invalid includes configurable
...
as suggested in the PR it's best to make the setting configurable.
In order not to break existing installations, we default to keeping the
old behaviour, but in a later version of psalm, we might change the
default.
2020-02-27 18:49:23 -05:00
Philip Hofstetter
f2277ebb6d
don't disable checks when includes can't be resolved
...
Any unresolvable include (even suppressed ones) would lead to some
subsequent tests being disabled as a side-effect.
this fixes #2817
2020-02-27 18:49:23 -05:00
Brown
35c1670602
Fix #2875 - treat intersections more similarly than before
2020-02-27 18:42:15 -05:00
kolja
d3727fe45f
Made StubTest for relative and absolute paths work on windows too.
2020-02-27 17:07:24 -05:00
Matthew Brown
c1bcd3ce12
Add another test
2020-02-27 08:59:43 -05:00
Brown
ea0a670230
Flesh out class constants in function call return type
...
Fixes #2884
2020-02-26 17:28:44 -05:00
kolja
f189b25b99
Fixed stub files with absolute paths not being loaded.
2020-02-26 17:13:40 -05:00
Brown
f1dbd0863a
Allow magic methods named "as"
...
Fixes #2881
2020-02-26 13:50:45 -05:00
Matthew Brown
746f8d4973
Prevent returning named object where template return assumed
2020-02-24 23:14:16 -05:00
Jarred Stelfox
f9f49f1e6a
Minor: Rename function
2020-02-24 21:20:06 -05:00
Jarred Stelfox
3c69c78ee3
TestCase/TestConfig: Allow plugins to reuse these files
...
See: https://github.com/vimeo/psalm/issues/2869\#issuecomment-590490908
Previously, If a plugin tried to reuse the TestConf / TestCase
an exception would likely occur since the default testconfig
is hardcoded to our internal psalm codebase
This commit allows a custom config to be passed into a testcase
thus, a plugin's codebase does not need to match our own.
2020-02-24 21:20:06 -05:00
kolja
6c9ea71e24
Ensured resetting previous memory limit in after test has run.
2020-02-24 21:19:16 -05:00
kolja
215f1c381e
Moved code to get memory_limit in bytes to command functions since that is where it is used.
2020-02-24 21:19:16 -05:00
kolja
99e5ded20c
Fixed code style issues.
2020-02-24 21:19:16 -05:00
kolja
326d1cb025
Satisfied psalm with new test.
2020-02-24 21:19:16 -05:00
kolja
14646305a6
Added function to read memory_limit ini setting always in bytes.
2020-02-24 21:19:16 -05:00
Brown
712806b452
Fix #2874 - understand doubly-inherited interface templates
2020-02-24 17:58:44 -05:00
Brown
ff7fbcda99
Fix #2871 - prevent keyed arrays from being interpreted as callables
2020-02-24 16:19:33 -05:00
Brown
0a8bb32115
Fix #2866 - prevent use of impure __toString via concatenation in pure contexts
2020-02-24 14:50:34 -05:00
Matthew Brown
618ae77846
Prevent implicit __toString method calls in a pure context
2020-02-23 18:18:25 -05:00
Matthew Brown
b01bc9ab12
Fix union-of-mixed array key creation
2020-02-22 21:13:14 -05:00
Matthew Brown
4dae5b3190
Prevent more mixed array keys
2020-02-22 20:52:39 -05:00
Matthew Brown
97a849b1be
Fix #1311 - narrow scalar properly, exploding constituent types
2020-02-22 20:25:13 -05:00
Matthew Brown
2635e57cde
Negation of numeric on array-key is fine too
2020-02-22 12:53:27 -05:00
Matthew Brown
ae1360a52f
An array-key can be numeric
2020-02-22 12:34:27 -05:00
Matthew Brown
6ad3d039df
Prevent more array<mixed,...> creation
2020-02-22 12:12:40 -05:00
Matthew Brown
952045e2ba
Fix return type checks
2020-02-22 11:28:24 -05:00
Matthew Brown
1c218c020e
Fix #1684 - detect error in assertion on return type of direct call
2020-02-22 10:41:57 -05:00
Matthew Brown
a706f4d722
Fix #2242 - warn when using mutable dependencies
2020-02-22 10:04:46 -05:00
Matthew Brown
3cc4c2b37e
Fix #2721 - only warn about deprecated classes exactly where they are used
2020-02-22 01:12:19 -05:00
Matthew Brown
db17c85dd6
Fix #2787 - make accessing undefined objectlike key an error
2020-02-22 00:29:59 -05:00
Matthew Brown
9f13341ef9
Fix #2827 - detect literal numeric values
2020-02-22 00:16:15 -05:00
Matthew Brown
4707b21227
Fix tests
2020-02-21 22:15:25 -05:00
Brown
7d99a15072
Fix #2805 - forbid passing in mutable class to mutation-free context
2020-02-21 18:25:35 -05:00
Brown
f4485cc529
Fix #2847 - use fully-qualified function name
2020-02-21 16:44:31 -05:00
Brown
443558ca49
Fix #2844 - resolve constant offset references
2020-02-21 15:56:30 -05:00
Brown
b51863fc9b
Fix #2848 - allow casting templated types
2020-02-21 15:17:35 -05:00
Brown
f44a0f9f4c
Fix #2849 - allow object-like templated array comparison
2020-02-21 15:13:07 -05:00
Matthew Brown
d8b6467b1a
Fix #2852 - no duplicatearraykey warning for non string-keyed arrays
2020-02-21 01:27:42 -05:00
Matthew Brown
9bdca3c706
Forbid array<mixed, ...>
2020-02-21 01:26:51 -05:00
Matthew Brown
af2ea1732b
Fix #2857 - use correct location for byref vars
2020-02-21 00:42:52 -05:00
Matthew Brown
aea33824e6
Fix #1555 - allow phantom class constants
2020-02-18 19:46:05 -05:00
Brown
0e23fab5d2
Detect bugs similar to that which caused #2832
2020-02-18 12:53:54 -05:00
Brown
6e8088776d
Use better return type for SimpleXMLElement::offsetGet
2020-02-18 10:58:56 -05:00