Matt Brown
39cdd00094
Add extra level for starter configs
2018-02-22 12:25:05 -05:00
Matt Brown
25400e8010
Simplify logic to avoid Psalm bug
2018-02-22 11:57:15 -05:00
Matt Brown
1f7d95dde0
Add better typing rules for generic objects
2018-02-22 11:20:03 -05:00
Matt Brown
a9852c3bc0
Add plugins docs
2018-02-21 20:11:34 -05:00
Matt Brown
d3c327f4f3
Add description of Psalm‘s features
2018-02-21 20:09:30 -05:00
Matt Brown
09d708981a
Add mixed checks to property __set calls
2018-02-21 19:34:21 -05:00
Matt Brown
5471b89391
Make array coercion an error
2018-02-21 18:59:31 -05:00
Matt Brown
a81c73301b
Warn early if the file being analysed has not been properly scanned
2018-02-21 13:54:11 -05:00
Matt Brown
316dd78e6a
Fix #509 - don’t complain about a missing param type when system parent has one
2018-02-21 11:57:52 -05:00
Matt Brown
e04c4f866c
Fix #524 - prevent fatal error when checking stubbed function from namespace
2018-02-21 11:32:52 -05:00
Matt Brown
9dce508689
Always rescan traits
2018-02-20 13:20:31 -05:00
Matt Brown
cd60786ced
Always use class file path in the cache key to prevent duplicate clashes
2018-02-20 10:56:18 -05:00
Matthew Brown
295207896b
Remove test file
2018-02-20 09:04:30 -05:00
Matthew Brown
ec74b82587
Fix #532 - register anonymous classes declared in file too
2018-02-20 09:02:51 -05:00
Matthew Brown
d10212b393
Fix perpetual diff builds
2018-02-19 23:36:36 -05:00
Tyson Andre
cdcec69536
Support the pylint output format
...
This is a compact output format that is easy to write scripts that parse.
(And errors fit on a single line)
- E.g. jenkins violation plugin works reliably with pylint.
The multi-line details are deliberately omitted.
An application can output 'console' to stdout and to
a pylint file at the same time.
Files with the extension .pylint will use this format.
Document the emacs and pylint output formats in `psalm --help`
An optional followup task would be to create unique issue codes,
I don't have any use cases for that.
2018-02-19 22:35:48 -05:00
Matthew Brown
a99e89495b
Add end line/column data for LSP support
2018-02-19 18:16:09 -05:00
Matthew Brown
04a1583783
Fix bad iterator
2018-02-19 17:01:55 -05:00
Tyson Andre
7aeacebba4
Fix possible typos in comments and issue messages
2018-02-19 15:35:13 -05:00
Tyson Andre
7c4683784f
Add a script to run the same tests as jenkins locally
...
Make `composer tests` use only phpcs
Also add `composer all-tests`, which also runs the self-check.
php-cs-fixer was removed from .travis.yml earlier.
I'm guessing that composer was overlooked?
The goal is to make it easy to create PRs passing travis checks.
2018-02-19 15:34:26 -05:00
Matthew Brown
82fe241831
Add included files when scanning cached storage
2018-02-19 15:17:28 -05:00
Matthew Brown
d8b9bcba4d
Normalise file path for cache
2018-02-19 12:06:13 -05:00
Matthew Brown
724e72af58
Don’t get statements from cache if file hasn’t changed
2018-02-19 11:53:30 -05:00
Matthew Brown
58be09d36b
Bump suggested igbinary version
2018-02-19 11:16:13 -05:00
Matthew Brown
634375ae94
Make igbinary the default serializer
...
Fix #484 and fix #527
2018-02-19 11:14:07 -05:00
Matthew Brown
81fd016120
Fix #193 - allow caching of storages
2018-02-19 00:27:39 -05:00
Tyson Andre
aea3779c96
Fix unused imports in psalm, wrong param order doc comments ( #523 )
...
(Some of the imports appear as strings elsewhere in the same file)
2018-02-18 17:55:11 -05:00
Matthew Brown
61b13b68cf
Fix #376 - support turkish lowercase
2018-02-17 22:11:42 -05:00
Matthew Brown
ec5c9c862c
Add missing file
2018-02-17 20:45:09 -05:00
Matthew Brown
783ba5236f
Add more docs to source control
2018-02-17 19:53:17 -05:00
Matthew Brown
59dc239c89
Fix #522 - prevent interface instantiation
2018-02-17 18:53:02 -05:00
Matthew Brown
108ca54867
Fix #516 - make sure --find-references-to doesn’t output missing references
2018-02-17 17:45:30 -05:00
Matthew Brown
a0e88cb16f
Fix #518 - improve dead code detection to cover variable method calls
2018-02-17 17:23:57 -05:00
Matthew Brown
b041797cd0
Fix #519 - warn about variable calls on non-objects
2018-02-17 17:16:22 -05:00
Matthew Brown
e32eb5c93f
Speed up manipulation test by only turning on plugin once
2018-02-17 17:15:50 -05:00
Matthew Brown
af1155239e
Fix bug when assigning nested arrays with variable offsets
2018-02-17 12:32:19 -05:00
Matthew Brown
c87204acbf
Don’t check for unused vars when checking for initialiasations
...
Fixes #517
2018-02-17 12:02:31 -05:00
Matthew Brown
09f86ceee7
Introduce MissingDependency issue, separate from UndefinedClass
...
Ref #511
2018-02-17 11:36:20 -05:00
Matthew Brown
88ca7d2fa7
Fix #515 - make Psalm aware of variable array keys
2018-02-17 11:24:08 -05:00
Matthew Brown
f56edd3c04
Fix issue found by better analysis
2018-02-17 11:21:45 -05:00
Matthew Brown
7940268a13
Fix #512 - check for undefined constant in param default
2018-02-15 20:27:42 -05:00
Matthew Brown
a6b54a3607
Fix #513 - make sure numeric is treated like a number
2018-02-15 19:50:50 -05:00
Matt Brown
279b0bc16e
Fix #511 - check all class references for missing dependencies
2018-02-14 13:34:16 -05:00
Matt Brown
be75c143d4
Fix #510 - check that constructor parent classes and interfaces exist
2018-02-14 11:21:43 -05:00
Matt Brown
d0a2258806
Fix #508 - make sure trait missing property checks happen on correct file
2018-02-12 10:46:45 -05:00
Matthew Brown
affcaebc3d
Use classes, not full method ids, for plugin execution
2018-02-11 22:49:19 -05:00
Matthew Brown
f159cd5146
Add declaring/appearing method ids to method check plugin
2018-02-11 21:07:19 -05:00
Matthew Brown
e862e4ddb1
Make all plugin methods static
...
cc @TysonAndre
2018-02-11 20:56:34 -05:00
Matthew Brown
f17ba65731
Fix #438 - assign both sides of by-ref vars to mixed
2018-02-11 10:39:21 -05:00
Matthew Brown
217233472c
Fix #457 - fix objectlike property isset check
2018-02-10 23:30:40 -05:00