includes:
    - larastan-extension.neon
    - phpstan-baseline.neon

parameters:
  stubFiles:
    - stubs/Illuminate/Contracts/Container/Container.stub
    - stubs/Illuminate/Queue/ListenerOptions.stub
    - stubs/Illuminate/Support/ServiceProvider.stub
    - stubs/Illuminate/Filesystem/Filesystem.stub
    - stubs/Illuminate/Filesystem/FilesystemManager.stub

    # We're changing the disk return type from Filesystem to Cloud,
    # rather than hacking every bit of the codebase with a phpdoc @var.
    - stubs/Illuminate/Contracts/Filesystem/Factory.stub
    - stubs/Illuminate/Contracts/Filesystem/Cloud.stub
    - stubs/Illuminate/Contracts/Filesystem/Filesystem.stub

services:
	-
		class: Flarum\PHPStan\Relations\ModelRelationsExtension
		tags:
			- phpstan.broker.methodsClassReflectionExtension
			- phpstan.broker.propertiesClassReflectionExtension
	-
		class: Flarum\PHPStan\Attributes\ModelDateAttributesExtension
		tags:
			- phpstan.broker.propertiesClassReflectionExtension
	-
		class: Flarum\PHPStan\Attributes\ModelCastAttributeExtension
		tags:
			- phpstan.broker.propertiesClassReflectionExtension
	-
		class: Flarum\PHPStan\Extender\FilesProvider
		arguments:
			- %paths%
	-
		class: Flarum\PHPStan\Extender\Resolver
		arguments:
			- @Flarum\PHPStan\Extender\FilesProvider
			- @defaultAnalysisParser