Matthew Brown
55c2f7faa2
Fix #2508 - don’t replace templated types with generic ones inside own function
2019-12-28 18:38:02 -05:00
Brown
2469f04715
Improve reconciliation of arrays with constant offsets
2019-12-13 17:17:14 -05:00
Matthew Brown
83b10bb9af
Fix #2426 , or at least some of it
2019-12-08 00:49:34 -05:00
Matthew Brown
df395944f8
Change how $changed_var_ids is communicated
2019-12-07 01:23:35 -05:00
Brown
353cf2351e
Fix #2259 - if error suppression is use, list destructuring values will be nullable
2019-10-22 10:40:37 -04:00
Brown
16c33d1565
Add support for list type
...
Fixes #2209
2019-10-08 18:44:46 -04:00
bugreportuser
064d4886c3
Track exception suppressions ( #2211 )
2019-10-04 14:01:58 -04:00
Brown
ebe8bedb20
Allow assertions on class constants
2019-10-03 18:13:04 -04:00
Brown
b7b4baff8f
Add support for @immutable
...
Fixes #1272
2019-08-30 12:36:35 -04:00
Brown
236a7ffd15
Fix #2027 - fix improperly retained callable check
2019-08-16 10:32:03 -04:00
Brown
b5614d03f8
Add detection for unused function calls
2019-08-13 13:15:23 -04:00
Matthew Brown
60c0133fff
Break apart reconciler
2019-08-10 13:22:21 -04:00
Matthew Brown
3df248eea2
Add concept of purity to functions and methods
2019-07-18 01:31:48 -04:00
Matthew Brown
da42be175f
Apply PHPCS fixes
...
Fixes #1880
2019-07-05 16:27:53 -04:00
Matthew Brown
6b7788b502
Fix FileAnalyzer memory leak
2019-06-29 21:06:21 -04:00
LeSuisse
f29826b958
Fully qualify constants and function calls ( #1849 )
...
This should give a small performance boost.
Part of #1837 .
The change is enforced via phpcs and can be autofixed
with phpcbf.
2019-06-26 16:52:29 -04:00
Matthew Brown
c66a106622
Improve performance by doing less cloning
...
Ref #1837
2019-06-26 00:14:06 -04:00
Matthew Brown
cd969c51e5
Generate missing param types from callers
...
Fixes #1707
2019-05-31 01:47:35 -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
Matthew Brown
9be8013633
Add a way to ignore variable method & property calls
2019-04-20 17:49:49 -04:00
bugreportuser
f5e03715f3
Fix memory leak
2019-04-02 23:36:55 -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
bugreportuser
8b12751007
Keep track of throw code locations
2019-03-24 23:03:37 -04:00
bugreportuser
e31cfa503d
Allow reconciling superglobal types
2019-03-16 12:49:38 -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
Matthew Brown
8650f9eb1a
Fix #1356 - improve assertion system to work better on function calls
2019-02-26 01:03:33 -05:00
Bruce Weirdan
8408effe57
Dropped unused uses
2019-02-17 13:17:45 -05:00
Matthew Brown
194bb31221
Fix #204 - allow missing param types to be added with Psalter
2019-02-02 14:16:49 -05:00
Matthew Brown
3a01afbe0a
Refine inferred type when possible
2019-02-02 12:10:52 -05:00
Matthew Brown
db89b3cc3f
Add initial support for fixing MissingParamType
2019-02-02 11:28:48 -05:00
Brown
74ebb0b2d5
Don’t copy context unnecessarily when checking methods had no effect
2019-01-31 12:55:48 -05:00
Matthew Brown
8bc17e47be
Fix #1227 - allow genric params in @psalm-assert
2019-01-22 23:42:54 -05:00
Brown
8e5e3564bc
Fix erroneous redundant condition warning
2018-12-19 16:10:09 -05:00
Matthew Brown
fd0ab47b80
Fix #1118 - detect possible issues with unions of mixed
2018-12-08 13:18:55 -05:00
Matthew Brown
37dedee7b6
Fix memory leak issues and disable garbage collection
2018-11-18 11:39:14 -05:00
Matthew Brown
4d79b61e93
Change _checker to _analyzer
2018-11-12 11:20:59 -05:00
Matthew Brown
4688b25fd9
Move internal classes to own namespace
2018-11-12 11:20:59 -05:00
Brown
67c90edadf
Don’t check methods we’ve already checked
2018-09-30 11:34:51 -04:00
Matt Brown
f844f86a6c
Improve type coercion checks in strict mode
2018-08-28 17:42:39 -04:00
Matthew Brown
2fee699d25
Fix #908 - dont’t emit UnresolvableInclude after file_exists check
2018-08-09 23:29:30 -04:00
Matt Brown
5bb5bb2476
Check this properties for redundant conditions
2018-07-10 12:32:53 -04:00
Matthew Brown
21001668df
Don’t double-quote string
2018-07-10 00:39:33 -04:00
Tyson Andre
a3b1bebb5b
Fix misuse of preg_quote ( #869 )
...
1. Variable ids can contain slashes or dots, e.g. for `${'my/var'} = 2`
or psalm's local representation of properties or array indexes
(I forget which)
2. preg_quote's escape character should **always** be the same as the
pattern starting character.
Using DIRECTORY_SEPARATOR will fail to escape '/' on windows.
2018-07-06 19:16:31 -04:00
Matthew Brown
e3ae1bf26f
Fix #15 - check for uncaught throws if config flag is set
2018-06-22 01:13:49 -04:00
Matthew Brown
fa51c39902
Improve dead code analysis of switch statements
2018-06-16 21:54:44 -04:00
Matthew Brown
3670f066bb
Improve dead code detection
2018-06-16 20:01:41 -04:00
Matthew Brown
b0733254bb
Use individual type objects for each string ( #757 )
...
* Experiment with individual types for each string
* Fix bunch of errors
* Fix a few more issues
* Fix a whole bunch of bugs
* Fix most remaining bugs
* Fix isset warnings
* Fix psalm errors in psalm
* Limit big string size
* Fix falsiness of ints
* Fix issue with type widening, allowing value set in nested if to be altered
* Don’t complain if type is mixed
* Add skipped-for-now test
* Add specific test to address issue
2018-05-18 11:02:50 -04:00
Matt Brown
a0281e5716
Improve clause eradication after ifs
2018-05-14 16:29:51 -04:00