1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-15 10:57:08 +01:00
Commit Graph

3252 Commits

Author SHA1 Message Date
Matthew Brown
2be2769008 Don’t adhere to assert rules with ored truths 2018-02-25 11:30:45 -05:00
Matthew Brown
47cb74ddd1 Fix issue where namespaced function could be treated as root 2018-02-25 11:13:00 -05:00
Matthew Brown
956972b4a4 Fix #539 - evaluate global variable usage 2018-02-25 10:43:54 -05:00
Matt Brown
ad3fe0974f Fix indentation 2018-02-23 15:41:07 -05:00
Matt Brown
441506ad6f Fix #216 - scan assert* functions for assertions, then apply to current context 2018-02-23 15:39:33 -05:00
Matthew Brown
cb1fd308f6 Don’t rescan files when afterVisitClassLike plugin method is active 2018-02-22 22:52:22 -05:00
Matthew Brown
8f2ef50947 Ensure that ClassLikeStorage exists when running plugin method 2018-02-22 22:35:48 -05:00
Matthew Brown
6d658ef934 Fix #535 - always run afterVisitClassLike plugin if given 2018-02-22 22:22:31 -05:00
Matt Brown
051fe0e9de Add news.md 2018-02-22 13:46:26 -05:00
Matt Brown
95642aafb4 Fix #339 - when a class is also in the callmap, use the user-defined behaviour 2018-02-22 13:42:34 -05:00
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