Lars Moelleken
399a337e09
revert "array_change_key_case()" changes
...
-> https://github.com/vimeo/psalm/pull/1605#discussion_r281034696
2019-05-12 19:37:46 -04:00
Lars Moelleken
54a14055af
"usort": revert small change in the phpdoc
2019-05-12 19:37:46 -04:00
Lars Moelleken
0b5680f72f
fix return type of "array_combine()" && "array_replace()"
2019-05-12 19:37:46 -04:00
Tyson Andre
d4f1a4a75f
Remove unused variables/comment params
2019-05-11 22:11:38 -04:00
Brown
c935dfd990
Fix #1620 - escape characters in XML
2019-05-10 18:07:57 -04:00
Brown
feff357a75
Be smarter about discovering files
2019-05-10 18:07:13 -04:00
Brown
48d624e305
Fix #1619 - prevent tests from being added automatically on --init
2019-05-10 11:00:50 -04:00
Brown
9b75683796
Search better, and avoid fatal error
2019-05-09 19:34:38 -04:00
Brown
335b04186b
Add autodiscovery of --init folders based on composer.json
2019-05-09 19:19:33 -04:00
Brown
33d4888228
Fix #1618 - conditionally enable autocompletion for methods and properties
2019-05-09 11:20:13 -04:00
Brown
24dbc34bbe
Use better solution for inherited more-specific return types
2019-05-09 10:41:30 -04:00
Brown
629eeed3e6
Fix incorrect message when inheriting parent docblock
2019-05-09 10:26:06 -04:00
Ramon Bakker
6a473f6e71
Fix isset check
...
Check if index exists in the array with open files, instead of checking
if index exists in the array with temporary files.
2019-05-09 08:31:16 -04:00
Brown
111abf82da
Fix #1616 - allow Psalm to output checkstyle format
2019-05-08 14:26:52 -04:00
Brown
b7529e872b
Consider intersections when combining generic types
2019-05-08 13:23:47 -04:00
Brown
1db0e38b08
Invalidate cache when Psalm version changes
2019-05-08 11:58:34 -04:00
Brown
42b10e1376
Add link to PHP bug
2019-05-08 11:48:37 -04:00
Brown
dbc7dea048
Fix #1601 - prevent threaded execution when pcre.jit is set to 1
2019-05-08 11:42:30 -04:00
Brown
b83f540b15
Prevent crash when iterator class does not exist
2019-05-08 11:03:47 -04:00
Matthew Brown
419d1da98d
Fix issue where iterators weren’t processed recursively
2019-05-08 09:04:52 -04:00
Brown
d7ee952084
Infer closure param type for array_filter/array_map
...
Fixes #664
2019-05-07 16:27:25 -04:00
Brown
44f0c64877
Add extra debugging
2019-05-07 13:16:01 -04:00
Matthew Brown
4f8d6a50d8
Don’t emit MissingClosureReturnType when inside call and type can be inferred
2019-05-06 20:47:55 -04:00
Brown
fec1a60e90
Ref #1600 - partial fix inferring param types when none is available
2019-05-06 18:44:10 -04:00
Brown
751253ddf0
Fix #1603 - prevent invalid covariant template classes from being passed
2019-05-06 16:38:08 -04:00
Brown
57a585240c
Allow is_subclass_of/is_a to inform shape of mixed arg
2019-05-06 10:06:05 -04:00
Jonathan H. Wage
ecb7a6c069
Add support for absolute plugin paths.
2019-05-05 16:44:36 -04:00
Brown
dd40987187
Consolidate location of issue handling
2019-05-03 17:12:20 -04:00
Brown
d1574a64a4
Move issue type listing
2019-05-03 15:29:44 -04:00
Brown
8c9d8e7249
Add fully-qualified params to scanned classes
2019-05-03 11:55:27 -04:00
Matthew Brown
49acdfc764
Fix issue when reconciling is_subclass_of on possibly-undefined variable
2019-05-03 09:09:51 -04:00
Brown
640c1d13a6
Fix unused variables now found in Psalm’s code
2019-05-02 17:21:23 -04:00
Brown
08bf101f48
Fix #1598 , catching unused variables followed by try inside loop
2019-05-02 17:21:02 -04:00
Brown
86bf159bd0
Avoid false positive for param
2019-05-02 15:33:47 -04:00
Brown
4f26c8d749
Fix #1597 - ternary else should only know about first conditional expression
2019-05-02 13:43:18 -04:00
Matthew Brown
ae531506de
Fix #1591 - allow variable typed to string to be compared to literal in reverse order
2019-05-02 00:50:35 -04:00
Matthew Brown
fbe10c1a1f
Don’t allow empty coercion on generic type params
...
Fixes #1590
2019-05-02 00:19:56 -04:00
Matthew Brown
cacced782d
Fix #1592 - allow methods with a simple exit to have the same treatment as those with a simple throw
2019-05-01 23:45:03 -04:00
Matthew Brown
0fe378a467
Fix #1593 - still inherit more specific docblock from parent when parent has no signature return
2019-05-01 23:14:22 -04:00
Brown
dcfe9bfdc1
Reduce memory load for forked analysis
2019-04-30 15:35:57 -04:00
Brown
d53ba0b826
Improve message
2019-04-30 13:26:11 -04:00
Brown
2fe5a72ab7
Fix #1586 - allow use of --find-unused-code as alternative to --find-dead-code
2019-04-30 13:23:18 -04:00
bugreportuser
1c160dab13
Fix typo in isAtomicContainedBy
2019-04-30 00:52:56 -04:00
Brown
b6e9fba8e6
Track method param uses between diff runs
2019-04-29 17:29:38 -04:00
Brown
b9bece4cbc
Allow MixedArrayTypeCoercion to be properly suppressed by default
2019-04-29 12:19:51 -04:00
Brown
f760ab6707
Add better reporting for errors
2019-04-29 12:07:34 -04:00
Brown
1413ccd111
Prevent phar path rejiggering
2019-04-29 11:33:13 -04:00
Matthew Brown
b4f24d1fa6
Fix a couple of tests, and track file references to classes
2019-04-28 12:59:36 -04:00
Matthew Brown
2ae0f92960
Store files-referencing-classes between runs to enable unreferenced code --diff mode
2019-04-28 12:36:24 -04:00
Matthew Brown
e08944cae0
Allow diff mode with --find-dead-code
2019-04-27 17:38:24 -04:00
Brown
29588c9fd8
Add ability to specify GitHub code owners
2019-04-26 11:23:26 -04:00
Matthew Brown
59e53acd56
Fix new template class array key coercion to mixed - when we don’t know, assume bottom type
2019-04-26 07:54:21 -04:00
Matthew Brown
82e0bcafac
Fix #1578 - fix empty array error
2019-04-26 00:47:42 -04:00
Tyson Andre
dbcedd300b
Fix error messages for $boolVar !== null
...
Seen for this example:
$b = rand() % 2 > 0;
if ($b !== null) { ... }
2019-04-26 00:19:46 -04:00
Brown
0e4c8ce482
Split apart TypeCoercion issues, allowing more granular issue filtering
2019-04-25 18:02:19 -04:00
Brown
f227af83c0
Allow mixed callable params to be valid
2019-04-24 12:54:35 -04:00
Matthew Brown
3681762a9b
Add detection for callable variable use
2019-04-23 22:31:38 -04:00
Matthew Brown
c657a45132
Fix #1574 - detect docblock additions to the first statement of a method when diffing
2019-04-22 21:50:58 -04:00
Brown
473c8cb832
Fix checks for parent method implementers
2019-04-22 13:18:19 -04:00
Brown
d1f4622a80
Fix #1542 - disable SQL parsing by default
2019-04-22 10:01:25 -04:00
Matthew Brown
d68e501bfa
Fix #1528 - double check for missing dependency
2019-04-21 11:30:50 -04:00
Matthew Brown
e08ef35b79
Make sure callmap method return types ignore falsable
2019-04-21 11:30:50 -04:00
Matthew Brown
9be8013633
Add a way to ignore variable method & property calls
2019-04-20 17:49:49 -04:00
Matthew Brown
ec65197f41
Fix #1564 - scan functions if they’re not internal
2019-04-20 17:16:42 -04:00
Matthew Brown
79ae72d553
Fix #935 - allow Phar to run without composer files
2019-04-20 16:37:27 -04:00
Matthew Brown
764678d836
Fix #1567 - remove extraneous union
2019-04-20 16:09:55 -04:00
Brown
f3b7e16160
Shorten line
2019-04-19 12:03:52 -04:00
Brown
205fa36fb7
Add better error messages to unused code issues
2019-04-19 11:45:22 -04:00
Lars Moelleken
1a4e52c645
fixes from @villfa
...
-> ae368af8b3
2019-04-19 09:54:08 -04:00
Lars Moelleken
a3072d42b5
fix issue #1568
2019-04-19 09:54:08 -04:00
Brown
d6de6ca5d5
Prevent removing properties on classes with variable assignment
2019-04-18 14:47:58 -04:00
Brown
4807ebe04a
Always evaluate static calls when method call cannot
2019-04-18 13:51:34 -04:00
Brown
d51475bc03
Register magic property get/set propertyExists calls
2019-04-18 10:41:46 -04:00
Brown
1eabe6ed55
Ignore protected properties redefined downstream
2019-04-17 16:55:15 -04:00
Brown
86c6b6fa36
Don’t warn about unused properties that override a used one
2019-04-17 16:41:35 -04:00
Brown
a529f74473
Add support for tracking callables
2019-04-17 15:45:40 -04:00
Brown
ac562563a7
Don’t remove trait methods
2019-04-17 15:12:52 -04:00
Brown
b1044b267d
Don’t be greedy with lines
2019-04-17 14:58:13 -04:00
Brown
f51b073c40
Add switch for newline swallowing
2019-04-17 14:29:59 -04:00
Brown
cf36d50c65
Prevent removing too many lines
2019-04-17 14:27:36 -04:00
Brown
1b4b7d416e
Fix off-by-one error
2019-04-17 14:07:17 -04:00
Brown
1f36a85650
Remove extraneous newlines
2019-04-17 13:56:47 -04:00
Brown
fea9faaec5
Allow psalter to be used in multithreaded mode
2019-04-17 13:15:06 -04:00
Brown
80e28d6a4a
Add support for unused method & property automated removal
2019-04-17 11:12:18 -04:00
Matthew Brown
01f005290e
Allow file path to be passed into methodExists
2019-04-17 00:17:49 -04:00
bugreportuser
2e147585a1
Allow ignoring exceptions only in global scope
2019-04-16 22:42:45 -04:00
Brown
282dd8e8ab
Reduce memory footprint of multithreaded mode
2019-04-16 18:10:26 -04:00
Brown
ff14f671b1
Add hopefully-more-portable method for evaluating method/property usage
2019-04-16 16:07:48 -04:00
Lars Moelleken
74f3908555
"CallMap" fixes from phpstan
...
-> ae368af8b3
2019-04-16 11:23:32 -04:00
Brown
24084eb2ec
Use more specific class name
2019-04-15 15:45:24 -04:00
Lars Moelleken
4ef63b5a3f
[+]: fix "Iterator::key()" return type
...
-> https://github.com/phpstan/phpstan/issues/1382
2019-04-15 00:19:33 -04:00
Matthew Brown
ece191cc84
Add support for Scrutinizer output
2019-04-14 14:49:09 -04:00
Matthew Brown
c297b91d6f
Fix possibly null property
2019-04-14 13:04:25 -04:00
Matthew Brown
934fb53d65
Improve error locations for PropertyNotSetInConstructor errors
2019-04-14 12:48:59 -04:00
Matthew Brown
ffec25da20
Fix #1556 - allow internal method calls when checking property initialisation s
2019-04-14 12:19:15 -04:00
bugreportuser
8454c0db39
Support for bitwise not
2019-04-14 10:16:38 -04:00
Lars Moelleken
0686d347c4
fix "grapheme_strlen()" return type
...
-> see 852485d8ec/ext/intl/grapheme/grapheme_string.c (L87)
2019-04-14 10:15:17 -04:00
Lars Moelleken
da0d06ab0a
fix "mb_encode_numericentity()" without the "encoding" parameter
...
-> "The encoding parameter is the character encoding. If it is omitted, the internal character encoding value will be used." - https://www.php.net/manual/en/function.mb-encode-numericentity.php
2019-04-14 10:14:58 -04:00
Lars Moelleken
605364acd0
fix "iconv_strlen()" return type
...
-> some tests in "https://github.com/voku/portable-utf8 " fails if I remove the false check e.g. for this string:
// string with UTF-16 (LE) BOM + valid UTF-8 && invalid UTF-8
$string = "\xFF\xFE" . 'string <strong>with utf-8 chars åèä</strong>' . "\xa0\xa1" . ' - doo-bee doo-bee dooh';
2019-04-14 10:14:23 -04:00
Matthew Brown
d145f17782
Fix #1548 - allow parallel execution with --find-dead-code
2019-04-13 15:38:09 -04:00
Matthew Brown
f3b605e442
Fix division by zero bug with --stats
...
Fixes #1552
2019-04-13 13:41:39 -04:00
Bruce Weirdan
8dda8a0ee4
cs fix
2019-04-13 12:35:49 -04:00
Bruce Weirdan
4daf94ca1d
Case-insensitive checks for var_dump and shell_exec
...
Fixes vimeo/psalm#1547
2019-04-13 12:35:49 -04:00
Matthew Brown
21fd385eb4
Fix brackets
2019-04-12 20:30:28 -04:00
Brown
26e2de93c7
Prepare to enable paralellised use of --find-dead-code
...
References #1548
2019-04-12 18:28:07 -04:00
Brown
f5fcde6b89
Fix false casing
2019-04-12 15:39:38 -04:00
Brown
a86bbad796
Add support for regexes as referencedMethods
2019-04-12 15:15:21 -04:00
Brown
6e010d9db9
Remove type coverage map, as it’s not ready for prime-time
2019-04-12 11:32:35 -04:00
Brown
8751bf232b
Improve handling of negated boolean operations
2019-04-12 11:26:33 -04:00
Brown
b6d0ee0777
Prevent impossible === false comparison
2019-04-12 10:30:56 -04:00
Matthew Brown
39af691d2f
Fix #1546 - catch impossible assertions to true
2019-04-12 09:38:56 -04:00
Matthew Brown
ea20a2bd04
Fix #1540 - use correct comparison for callable param types
2019-04-12 00:44:10 -04:00
Brown
a9b8952ea2
Fix #1545 - improve handling of negated binary ops
2019-04-11 18:51:21 -04:00
Brown
7848e97f36
Allow DateTime::getTimestamp to return false
2019-04-11 14:57:50 -04:00
Brown
be5a262deb
Add better handling for non-edge-case function calls
2019-04-11 14:53:21 -04:00
Brown
cadee4d988
Allow numeric to go into string|int|float
2019-04-11 11:25:18 -04:00
Brown
97f53a6486
@voku’s fixes for issues found by their callmap update
2019-04-11 11:02:46 -04:00
Brown
da163e926e
Add callmap fixes collected by @voku in #1541
2019-04-11 10:58:27 -04:00
Brown
1cbe288a10
Add date
2019-04-11 10:49:29 -04:00
Matthew Brown
34ebf5c099
Add a couple of callmap fixes
2019-04-11 08:16:15 -04:00
Matthew Brown
9bfd10630d
Update callmap from upstream psalm/PHPSignatures
2019-04-11 08:03:40 -04:00
Neznaenko Anton
c96fed64bc
minor callmap fixes for Mongo/MongoClient::__construct and ReflectionMethod::getClosure
2019-04-11 07:10:10 -04:00
Brown
8f1dbc072d
Allow empty offset sets on arrayaccess objects
2019-04-10 17:25:25 -04:00
Brown
7f8b47c5cf
Fix buggy behaviour around callable tests
2019-04-09 18:09:57 -04:00
Brown
1a33b25264
Fix #1536 - prevent fatal error when filtering null array
2019-04-09 17:22:30 -04:00
Brown
5173c18cce
Fix calls after updating callmap
2019-04-09 16:52:32 -04:00
Brown
72e0774eaf
Add updates from PHPStan’s function map
2019-04-09 16:18:21 -04:00
Brown
808522c36f
Add workaround SoapFault::__construct, fixing #1535
2019-04-09 15:06:10 -04:00
Brown
3dc3d659f1
Fix #1534 - allow unpacked args to be interpreted properly by overloaded functions
2019-04-09 14:48:51 -04:00
Brown
fb1eba9b61
Fix #1473 - add support for ...&x in docblocks
2019-04-09 14:23:48 -04:00
Brown
1348d634ed
Improve handling of variadic parameters
2019-04-09 13:58:49 -04:00
Matthew Brown
54c76be63b
Add date to Shepherd output
2019-04-08 21:51:33 -04:00
Matthew Brown
c63886fc36
Fix Psalm errors
2019-04-08 21:51:18 -04:00
Matthew Brown
cb1ed5f1ca
Fix #1532 - ignore inaccessible method with implicit parent constructor call
2019-04-08 11:01:16 -04:00
Brown
115b68dc70
Fix #1526 - add a proper check for file storage
2019-04-03 17:41:33 -04:00
Brown
41c722448a
Fix #1531 - improve hrtime return type
2019-04-03 17:08:37 -04:00
Brown
9447cd2d98
Prevent scalar property assertion error
2019-04-03 10:59:27 -04:00
Brown
08a4573a1c
Fix #1525 - allow scalar return types to accept false
2019-04-03 10:56:29 -04:00
Brown
21b1c04c1d
Fix #1526 - ignore files if they weren’t picked up in scanning step
2019-04-03 10:43:48 -04:00
bugreportuser
f5e03715f3
Fix memory leak
2019-04-02 23:36:55 -04:00
Matthew Brown
f1ccbce338
Use new endpoint
2019-04-01 21:34:24 -04:00
Matthew Brown
07652deccf
Remove quotes in --pretty-format command
2019-03-31 21:07:02 -04:00
Matthew Brown
601ff4f0a9
Remove quotes if they’re present
2019-03-31 20:55:48 -04:00
Matthew Brown
d421d91a2a
Dump the data that matters
2019-03-31 20:47:33 -04:00
Matthew Brown
6668228ff5
Sanitise some inputs
2019-03-31 20:37:02 -04:00
Matthew Brown
e3f37089f4
Add environment variables list to failing shepherd call
2019-03-31 20:16:39 -04:00
Matthew Brown
fea61d9897
Shepherd plugin is basically not testable
2019-03-31 19:51:47 -04:00
Matthew Brown
517415029a
Add more verbose output
2019-03-31 19:20:05 -04:00
Matthew Brown
bd48ba858e
Add @SignpostMarv’s fixes for Windows tests
2019-03-31 19:08:55 -04:00
Matthew Brown
ef8292cfc7
Fix #1510 - analyse mixed array offsets
2019-03-31 15:42:15 -04:00
Matthew Brown
8116c48f6c
Add line break
2019-03-31 15:42:15 -04:00
Matthew Brown
d6b3ecaab8
If the function does not exist, exit early
2019-03-31 15:42:15 -04:00
Bruce Weirdan
01bd2d33cd
Fix param name
...
Co-Authored-By: bugreportuser <37939393+bugreportuser@users.noreply.github.com>
2019-03-31 14:22:19 -04:00
bugreportuser
1a4b9ab25f
Allow suppressing exception issues inline
2019-03-31 14:22:19 -04:00
bugreportuser
4fc7e4affc
Give errors for all uncaught exceptions
2019-03-31 14:22:19 -04:00
SignpostMarv
83d8e7f03c
swapping order of mkdir & is_dir, as per #1467
2019-03-31 14:21:15 -04:00
Matthew Brown
326249e13b
spirit => shepherd
2019-03-31 14:02:30 -04:00
SignpostMarv
27378e7cb2
correcting call map as per observation by @bugreportuser in conversation on #1519 (previous commit made whilst operating under the assumption of old edge-cases with stackless errors & exception)
2019-03-31 13:03:19 -04:00
SignpostMarv
bef9d813a7
file and line can go a little funky if an error is triggered in a shutdown function, not sure what happens with type in those instances, but it is reasonably certain that message is always present as string
2019-03-31 13:03:19 -04:00
Brown
09a8d68288
Use more specific location for return type issues
2019-03-29 15:36:13 -04:00
Brown
af4d10cb63
Fix #1499 - use TraitMethodSignatureMismatch when dealing with trait methods
2019-03-29 14:09:06 -04:00
Brown
1ab6345bac
Fix treatment of PDOStatement::setFetchMode
...
Fixes #1496
2019-03-29 13:26:13 -04:00
Brown
f82a55d836
Fix #1512 - check args to mktime are all ints
2019-03-29 10:46:48 -04:00
Matthew Brown
230680fd1c
Fix #1513 - use correct param types when examining abstract trait methods
2019-03-28 22:47:17 -04:00
Brown
f34a99c0cc
Fix #1515 - process inheritance in non-user classes
2019-03-28 17:44:31 -04:00
Brown
8592121799
Populate overridden method ids in separate method
2019-03-28 16:53:07 -04:00
Brown
8872a8e70a
Add Psalm output if spirit errors
2019-03-28 12:06:21 -04:00
Brown
937eb42e8b
Do not override parent return type
2019-03-28 10:43:49 -04:00
Brown
c022d49b1a
Allow coercion from templated param to false
2019-03-28 10:19:02 -04:00
Matthew Brown
bd6fea0d57
Fix #1514 - catch static interface call
2019-03-28 08:22:44 -04:00
Matthew Brown
5e287fa83e
Fix #678 - allow docblock types to set constraints
2019-03-28 00:16:35 -04:00
Matthew Brown
cf21c3e366
Fix #678 - allow docblock to override mixed assignment of static vars
2019-03-28 00:10:08 -04:00
Matthew Brown
e9afd3a6f3
Examine arrays in unknown function calls
2019-03-27 22:13:06 -04:00
Brown
b7472c62c2
Add ability to specify an http endpoint if desired
2019-03-27 17:01:05 -04:00
Matthew Brown
63a0e768b3
Improve type coverage in both good and bad ways
2019-03-25 22:30:40 -04:00
Tim van Dijen
aab2d48b13
ldap_exop_whoami returns false on error
2019-03-25 21:44:09 -04:00
Tim van Dijen
4fc4614267
ldap_get_attributes returns false on error
2019-03-25 21:44:09 -04:00
bugreportuser
5a59963e9b
Inherit uncaught throws from namespace scope
2019-03-25 21:43:51 -04:00
Brown
691d71cdb4
Fix #1504 and ignore SoapClient errors
2019-03-25 11:49:05 -04:00
Brown
783f028f70
Fix #1498 - use template types from parent function
2019-03-25 11:25:43 -04:00
Brown
6b0b86b0d9
Ignore class-not-found issues when checking whether to convert PHPStorm annotations
2019-03-25 10:44:40 -04:00
Matthew Brown
496a175a9f
Fix #1497 - respect constants stubbed in define() calls
2019-03-25 00:07:32 -04:00
bugreportuser
b71005e199
Make MissingThrowsDocblock codelocation more accurate
2019-03-24 23:03:37 -04:00
bugreportuser
976c2c5ef3
Add an error for throws in global scope
2019-03-24 23:03:37 -04:00
bugreportuser
8b12751007
Keep track of throw code locations
2019-03-24 23:03:37 -04:00
Tyson Andre
2e6a2f14ed
Fix typos in psalm with codespell's dictionary
2019-03-24 23:01:20 -04:00
Tyson Andre
fc83f1c3ea
Fix typo: "Arithmentic" -> "Arithmetic"
2019-03-24 23:00:51 -04:00
Matthew Brown
cce9d0a64f
Add fallback
2019-03-24 21:35:43 -04:00
Matthew Brown
e4bbb03de6
Include repo branch
2019-03-24 21:33:07 -04:00
Matthew Brown
d4fa63ab9e
Collect more build information
2019-03-24 20:48:13 -04:00
Matthew Brown
ba603acd7b
Send build information to remote server
2019-03-23 12:49:37 -04:00
Matthew Brown
9d4ebe6b6b
Add plugin hook for post-analysis stuff
2019-03-23 12:47:46 -04:00
Matthew Brown
6bcc3d0261
Don’t stop analysing on var_dump
2019-03-23 10:58:26 -04:00
Matthew Brown
ee56419fd6
Improve accuracy and durability of mixed counts
2019-03-23 09:50:47 -04:00
Brown
9cf78e9097
Remove unused var
2019-03-22 19:12:06 -04:00
François Kooman
a78dd37b4e
DOMXPath::query can return false
2019-03-22 18:24:22 -04:00
Brown
22fc0b5aa3
Fix #1482 - don’t substitute template params when no default present
2019-03-22 18:05:45 -04:00
Brown
c221eccbf5
Tidy up method call analyser
2019-03-22 18:02:33 -04:00
Brown
cacd5a1946
Cast null array key to empty string
...
Fixes #1487
2019-03-22 16:45:17 -04:00
Brown
cc568422d8
Fix #1488 - allow inheritance when dummy template exists
2019-03-22 16:29:30 -04:00
Brown
b9ba24929d
Refactor storage of template names to prevent clashes
2019-03-22 15:59:10 -04:00
bugreportuser
42137f6054
Ignore unused superglobals
2019-03-22 10:19:39 -04:00
Neznaenko Anton
56763434b6
replace ps with posix_kill to determine process is still running and prevent alpine docker hub image problems
2019-03-22 09:51:24 -04:00
bugreportuser
aafb3ee6d6
Ignore unused static vars
2019-03-22 09:50:47 -04:00
Brown
29666bf22e
Fix #1489 - make sure you’re checking against known params
2019-03-21 18:28:25 -04:00
Brown
ab6ca4dc35
Fix #1491 - allow comparison to typed value
2019-03-21 17:26:10 -04:00
Brown
da1f79b7de
Don’t change type after !== check
...
Fixes #1490
2019-03-21 16:57:42 -04:00
Brown
8d06c6a700
Fix #1480 by remembering where a property was set
2019-03-19 19:43:18 -04:00
Brown
6081c742c5
Fix incorrect InvalidArgument for array value scalar mismatch
2019-03-19 16:45:26 -04:00
Brown
880b07783f
Error should be InvalidScalarArgument
2019-03-19 16:12:38 -04:00
Brown
8ed5e661a4
Catch object passed to array-key
2019-03-19 11:43:37 -04:00
Matthew Brown
136429dfd4
Fix location of @method docblocks for issues
2019-03-18 21:05:37 -04:00
Matthew Brown
4865f66aeb
Allow better comparisons for templated types
2019-03-17 18:52:42 -04:00
Matthew Brown
f0ddc6f3bc
Fix array_reverse implementation
2019-03-17 18:14:30 -04:00
Matthew Brown
0da3623372
Prevent internal consumers of classExists from being penalised
2019-03-17 17:11:04 -04:00
Matthew Brown
472ab29d74
Add PossiblyInvalidCast for more refined checks
2019-03-17 17:10:51 -04:00
Matthew Brown
bf586bf93b
Fix #1471 - report issue with string casting inside string
2019-03-17 16:31:56 -04:00
Matthew Brown
3b4a2f2de8
Fix #1462 - combine closure types
2019-03-17 16:19:43 -04:00
Matthew Brown
8392faf77d
Fix #1448 and fix 1469 - functions can return false
2019-03-17 14:18:23 -04:00
Matthew Brown
9c45f33403
Don’t automatically inherit __construct from parent as overridden method id
2019-03-17 14:16:52 -04:00
Matthew Brown
9ee4a7414b
Fix #1461 - check interfaces when analysing abstract method call
2019-03-17 14:16:52 -04:00
Bruce Weirdan
51460e6078
Codebase::classExtends() now rejects unpopulated classes
...
This is done to prevent false negatives, when class storage hasn't been
populated yet.
Fixes vimeo/psalm#1387
2019-03-17 13:51:00 -04:00
Matthew Brown
2f8bfffe95
Fix #1475 but, like, properly this time
2019-03-17 13:50:02 -04:00
Matthew Brown
ca765cba58
Fix errors caused by bad generic param counts
...
Fixes #1474
2019-03-17 12:20:57 -04:00
Matthew Brown
f66af3e267
Fix #1475 - allow self params in traits
2019-03-17 11:31:04 -04:00
Matthew Brown
f5c6abb6a0
Allow capturing of class-string<T>
...
Fixes #1457
2019-03-17 10:19:15 -04:00
Matthew Brown
de7df3175b
Fix #1368 - improve message formatting
2019-03-16 12:53:54 -04:00
bugreportuser
e31cfa503d
Allow reconciling superglobal types
2019-03-16 12:49:38 -04:00
Matthew Brown
9ded84fd5b
Fix comparison of strings with multiple newlines
2019-03-16 12:40:19 -04:00
Matthew Brown
01d6caf6a2
Catch negated instanceof bugs
2019-03-16 12:34:48 -04:00
Matthew Brown
a0659a02f1
Fix #1418 - support templated union types
2019-03-16 11:15:25 -04:00
Matthew Brown
b73dd8ebe4
Fix #1447 - always inherit docs from parents
2019-03-16 00:31:17 -04:00
Matthew Brown
ab832207a4
Fix #1453 - traits are not valid classes
2019-03-15 22:12:35 -04:00
Matthew Brown
b82709897a
Fix #1460
2019-03-15 21:50:16 -04:00
Matthew Brown
c22cdb0795
Fix #1459 - allow nullable templated comparison
2019-03-15 21:37:50 -04:00
Brown
441d3c4693
Fix #1470 - array_reverse should preserve count
2019-03-15 16:39:31 -04:00
Matthew Brown
3704e75049
Catch sql parsing exceptions
2019-03-14 10:23:26 -04:00
Matthew Brown
312be71be1
Localise overridden templated param types
2019-03-14 10:11:45 -04:00
Brown
71a99808fe
Increase max length of strings
2019-03-12 13:15:20 -04:00
Brown
85f34f2aca
Add defining class and increas string length
2019-03-12 12:58:04 -04:00
Matthew Brown
2932e3eb83
Allow numeric to be coerced to literal int
2019-03-12 01:26:19 -04:00
bugreportuser
806ce145ea
Fix PHP7 error
2019-03-11 15:53:21 -04:00
bugreportuser
0e9fb04f06
Define globals in more places
2019-03-11 15:53:21 -04:00
Brown
e22f216a5b
Allow callable|array to be coerced to an array
2019-03-11 11:39:33 -04:00
Matthew Brown
17235cedf9
Allow sequential unsets with missing keys
2019-03-11 01:54:32 -04:00
Matthew Brown
907244cd23
Don’t assert on non-empty checks
2019-03-11 01:35:09 -04:00
Matthew Brown
95b986d2d4
Fix #1367 - allow assertions on mixed arrays to define objectlike type
2019-03-10 23:38:30 -04:00
Matthew Brown
b0853bcde6
Fix #1376 - allow nonzero numeric array key asssertions
2019-03-10 17:54:03 -04:00
Matthew Brown
848b070946
Fix #1413 - don’t complain about byref use param
2019-03-10 16:36:35 -04:00
bugreportuser
c8fffe362a
Allow capitalized @inheritDoc
2019-03-09 20:26:17 -05:00