2019-03-13 07:15:22 +01:00
includes:
2019-03-19 13:37:02 +02:00
#- '../../vendor/phpstan/phpstan-strict-rules/rules.neon'
- '../../vendor/phpstan/phpstan-deprecation-rules/rules.neon'
2019-03-13 07:15:22 +01:00
parameters:
fileExtensions:
- php
- dist
bootstrap: tests/phpstan/phpstan-bootstrap.php
excludes_analyse:
- system/src/Grav/Common/Errors/Resources/layout.html.php
2019-11-15 14:03:52 +02:00
inferPrivatePropertyTypeFromConstructor: true
2019-03-13 09:49:08 +02:00
reportUnmatchedIgnoredErrors: false
2019-03-13 19:46:06 +02:00
universalObjectCratesClasses:
- Grav\Common\Config\Config
- Grav\Common\Config\Languages
- Grav\Common\Config\Setup
- Grav\Common\Data\Data
- Grav\Common\GPM\Common\Package
- Grav\Common\GPM\Local\Package
- Grav\Common\GPM\Remote\Package
2019-10-16 09:48:22 +03:00
- Grav\Common\Page\Header
2019-03-13 19:46:06 +02:00
- Grav\Common\Session
2019-12-09 12:53:17 +02:00
dynamicConstantNames:
- GRAV_CLI
2019-03-13 07:15:22 +01:00
ignoreErrors:
2019-03-14 09:01:16 +02:00
# FIXME: Bugs that need to be fixed
# TODO: Errors that needs some more thinking (bad design?)
- '#Access to an undefined property RocketTheme\\Toolbox\\Event\\Event::#'
2020-02-03 11:19:22 +02:00
- '#Instantiation of deprecated class RocketTheme\\Toolbox\\Event\\Event#'
- '#extends deprecated class RocketTheme\\Toolbox\\Event\\Event#'
- '#implements deprecated interface RocketTheme\\Toolbox\\Event\\EventSubscriberInterface#'
2019-03-14 09:01:16 +02:00
- '#Access to an undefined property Grav\\Common\\Data\\Blueprint::#'
- '#Access to an undefined property Grav\\Common\\Media\\Interfaces\\MediaObjectInterface::#'
-
message: '#Cannot call method path\(\) on string#'
path: 'system/src/Grav/Common/Page/Media.php'
2020-02-03 11:19:22 +02:00
- '"FlexCollectionInterface::filterBy\(\) invoked with 2 parameters"'
2019-03-13 07:15:22 +01:00
2019-03-19 13:37:02 +02:00
# TODO: system.twig.umask_fix will not work with Twig 2 anymore
-
message: '#Call to deprecated method writeCacheFile\(\) of class Twig\\Environment#'
path: 'system/src/Grav/Common/Twig/WriteCacheFileTrait.php'
2019-03-13 07:15:22 +01:00
# Needed: full coverage (probably with admin plugin...) then redesign constructor
-
message: '#Grav\\Common\\GPM\\Remote\\GravCore::__construct\(\) does not call parent constructor from Grav\\Common\\GPM\\Remote\\AbstractPackageCollection#'
2019-03-13 09:49:08 +02:00
path: 'system/src/Grav/Common/GPM/Remote/GravCore.php'
2019-03-13 07:15:22 +01:00
2019-05-20 10:52:32 +03:00
# PSR-16 Exception interfaces do not extend \Throwable
- '#PHPDoc tag \@throws with type Psr\\SimpleCache\\(CacheException|InvalidArgumentException) is not subtype of Throwable#'
2019-03-13 07:15:22 +01:00
# Needed: psr-17 (http-factories) support (through decorator or further investigations)
-
2019-03-14 09:01:16 +02:00
message: '#Call to an undefined static method Grav\\Framework\\Psr7\\Stream::create\(\)#'
2019-03-13 09:49:08 +02:00
path: 'system/src/Grav/Framework/Form/FormFlashFile.php'
2019-03-13 07:15:22 +01:00
2019-03-13 22:22:03 +02:00
# Medium __call() methods
- '#Call to an undefined method Grav\\Common\\Page\\Medium\\(\w*)Medium::#'
2019-03-14 09:01:16 +02:00
# These errors are about plugins (need to find a better solution)
2019-03-13 07:15:22 +01:00
-
2019-03-13 22:22:03 +02:00
message: '#Call to static method sendEmail\(\) on an unknown class Grav\\Plugin\\Email\\Utils#'
2019-03-13 09:49:08 +02:00
path: 'system/src/Grav/Common/Scheduler/Job.php'
2019-03-13 22:22:03 +02:00
-
message: '#on an unknown class Grav\\Plugin\\Admin#'
path: 'system/src/Grav/Common/Page/Pages.php'
2019-10-24 11:26:04 +03:00
-
message: '#on an unknown class Grav\\Plugin\\Admin#'
2019-11-15 13:21:20 +02:00
path: 'system/src/Grav/Common/Flex/Pages/PageObject.php'
2019-03-13 22:22:03 +02:00
-
message: '#Call to method getFlash\(\) on an unknown class Grav\\Common\\Grav\\Plugin\\Form\\Forms#'
path: 'system/src/Grav/Common/Session.php'
2019-03-13 07:15:22 +01:00
# Can be ignored, after fopen there's always an $http_response_header locally available
-
2019-03-14 09:01:16 +02:00
message: '#Variable \$http_response_header in isset\(\) always exists and is not nullable#'
2019-03-13 09:49:08 +02:00
path: 'system/src/Grav/Common/GPM/Response.php'
2019-03-13 07:15:22 +01:00
2019-03-14 09:01:16 +02:00
# These errors can be ignored (they depend on installed extensions)
2019-03-13 07:15:22 +01:00
-
2019-03-13 09:49:08 +02:00
message: '#Instantiated class (Memcache|Memcached|Redis|RedisException) not found#'
path: 'system/src/Grav/Common/Cache.php'
2019-03-13 15:21:09 +02:00
-
2019-10-24 12:36:14 +03:00
message: '#unknown class (Memcache|Memcached|Redis|RedisException)#'
2019-03-13 15:21:09 +02:00
path: 'system/src/Grav/Common/Cache.php'
2019-03-13 07:15:22 +01:00
-
2019-03-13 09:49:08 +02:00
message: '#on an unknown class Collator#'
2019-03-19 13:37:02 +02:00
path: 'system/src/Grav/Common/Page/Pages.php'
2019-11-18 12:05:31 +02:00
-
message: '#Ternary operator condition is always true#'
path: 'system/src/Grav/Framework/Cache/AbstractCache.php'
-
message: '#Call to function is_object\(\) with int will always evaluate to false#'
path: 'system/src/Grav/Framework/Cache/AbstractCache.php'
2019-03-19 13:37:02 +02:00
2019-10-24 12:36:14 +03:00
# XHprof
- '#tideways_xhprof_enable#'
2019-03-19 13:37:02 +02:00
# Support for deprecated features
-
message: '#Instantiation of deprecated class Doctrine\\Common\\Cache\\MemcacheCache#'
path: 'system/src/Grav/Common/Cache.php'
-
message: '#Call to deprecated method order#'
path: 'system/src/Grav/Common/Page/Pages.php'
-
message: '#Fetching class constant class of deprecated class Grav\\Common\\User\\User#'
path: 'system/src/Grav/Common/Service/AccountsServiceProvider.php'
-
message: '#Call to deprecated method getLegacyFiles\(\)#'
path: 'system/src/Grav/Common/Session.php'
-
message: '#Call to deprecated method getType\(\) of class#'
path: 'system/src/Grav/Framework/Object/Base/ObjectTrait.php'
-
message: '#deprecated class#'
path: 'system/src/Grav/Framework/Uri/Uri.php'
2019-11-15 09:00:48 +02:00
-
message: '#Method Symfony\\Contracts\\EventDispatcher\\EventDispatcherInterface::dispatch#'
path: 'system/src/Grav/Common/Grav.php'
- '#Call to deprecated method stopPropagation\(\) of class Symfony\\Component\\EventDispatcher\\Event#'
- '#Parameter \#2 \$listener of method Symfony\\Component\\EventDispatcher\\EventDispatcher::addListener\(\)#'
- '#Parameter \#2 \$listener of method Symfony\\Component\\EventDispatcher\\EventDispatcher::removeListener\(\)#'