Add PHPStan 0.10, apply level 3

parent 3979efee
...@@ -7,3 +7,4 @@ vendor/ ...@@ -7,3 +7,4 @@ vendor/
*.phpunit.xml *.phpunit.xml
/phpunit.xml /phpunit.xml
/.phpcs-cache /.phpcs-cache
/phpstan.neon
...@@ -414,6 +414,11 @@ jobs: ...@@ -414,6 +414,11 @@ jobs:
- composer config minimum-stability dev - composer config minimum-stability dev
- travis_retry composer update --prefer-dist - travis_retry composer update --prefer-dist
- stage: Code Quality
env: DB=none STATIC_ANALYSIS
install: travis_retry composer update --prefer-dist
script: vendor/bin/phpstan analyse
- stage: Pull request coding standard - stage: Pull request coding standard
if: type = pull_request if: type = pull_request
php: 7.1 php: 7.1
......
{ {
"_readme": [ "_readme": [
"This file locks the dependencies of your project to a known state", "This file locks the dependencies of your project to a known state",
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "a408facf78f3db3aa10aca1da0473202", "content-hash": "754cfcbb241065b3d6ff156db98515e0",
"packages": [ "packages": [
{ {
"name": "doctrine/annotations", "name": "doctrine/cache",
"version": "v1.6.0", "version": "v1.7.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/annotations.git", "url": "https://github.com/doctrine/cache.git",
"reference": "c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5" "reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/annotations/zipball/c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5", "url": "https://api.github.com/repos/doctrine/cache/zipball/b3217d58609e9c8e661cd41357a54d926c4a2a1a",
"reference": "c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5", "reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"doctrine/lexer": "1.*", "php": "~7.1"
"php": "^7.1" },
"conflict": {
"doctrine/common": ">2.2,<2.4"
}, },
"require-dev": { "require-dev": {
"doctrine/cache": "1.*", "alcaeus/mongo-php-adapter": "^1.1",
"phpunit/phpunit": "^6.4" "mongodb/mongodb": "^1.1",
"phpunit/phpunit": "^5.7",
"predis/predis": "~1.0"
},
"suggest": {
"alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.6.x-dev" "dev-master": "1.7.x-dev"
} }
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache"
} }
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
...@@ -65,53 +72,47 @@ ...@@ -65,53 +72,47 @@
"email": "schmittjoh@gmail.com" "email": "schmittjoh@gmail.com"
} }
], ],
"description": "Docblock Annotations Parser", "description": "Caching library offering an object-oriented API for many cache backends",
"homepage": "http://www.doctrine-project.org", "homepage": "http://www.doctrine-project.org",
"keywords": [ "keywords": [
"annotations", "cache",
"docblock", "caching"
"parser"
], ],
"time": "2017-12-06T07:11:42+00:00" "time": "2017-08-25T07:02:50+00:00"
}, },
{ {
"name": "doctrine/cache", "name": "doctrine/event-manager",
"version": "v1.7.1", "version": "v1.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/cache.git", "url": "https://github.com/doctrine/event-manager.git",
"reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a" "reference": "a520bc093a0170feeb6b14e9d83f3a14452e64b3"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/cache/zipball/b3217d58609e9c8e661cd41357a54d926c4a2a1a", "url": "https://api.github.com/repos/doctrine/event-manager/zipball/a520bc093a0170feeb6b14e9d83f3a14452e64b3",
"reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a", "reference": "a520bc093a0170feeb6b14e9d83f3a14452e64b3",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "~7.1" "php": "^7.1"
}, },
"conflict": { "conflict": {
"doctrine/common": ">2.2,<2.4" "doctrine/common": "<2.9@dev"
}, },
"require-dev": { "require-dev": {
"alcaeus/mongo-php-adapter": "^1.1", "doctrine/coding-standard": "^4.0",
"mongodb/mongodb": "^1.1", "phpunit/phpunit": "^7.0"
"phpunit/phpunit": "^5.7",
"predis/predis": "~1.0"
},
"suggest": {
"alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.7.x-dev" "dev-master": "1.0.x-dev"
} }
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" "Doctrine\\Common\\": "lib/Doctrine/Common"
} }
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
...@@ -138,46 +139,164 @@ ...@@ -138,46 +139,164 @@
{ {
"name": "Johannes Schmitt", "name": "Johannes Schmitt",
"email": "schmittjoh@gmail.com" "email": "schmittjoh@gmail.com"
},
{
"name": "Marco Pivetta",
"email": "ocramius@gmail.com"
} }
], ],
"description": "Caching library offering an object-oriented API for many cache backends", "description": "Doctrine Event Manager component",
"homepage": "http://www.doctrine-project.org", "homepage": "https://www.doctrine-project.org/projects/event-manager.html",
"keywords": [ "keywords": [
"cache", "event",
"caching" "eventdispatcher",
"eventmanager"
], ],
"time": "2017-08-25T07:02:50+00:00" "time": "2018-06-11T11:59:03+00:00"
}, }
],
"packages-dev": [
{ {
"name": "doctrine/collections", "name": "composer/xdebug-handler",
"version": "v1.5.0", "version": "1.1.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/collections.git", "url": "https://github.com/composer/xdebug-handler.git",
"reference": "a01ee38fcd999f34d9bfbcee59dbda5105449cbf" "reference": "c919dc6c62e221fc6406f861ea13433c0aa24f08"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/collections/zipball/a01ee38fcd999f34d9bfbcee59dbda5105449cbf", "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/c919dc6c62e221fc6406f861ea13433c0aa24f08",
"reference": "a01ee38fcd999f34d9bfbcee59dbda5105449cbf", "reference": "c919dc6c62e221fc6406f861ea13433c0aa24f08",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1" "php": "^5.3.2 || ^7.0",
"psr/log": "^1.0"
}, },
"require-dev": { "require-dev": {
"doctrine/coding-standard": "~0.1@dev", "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5"
"phpunit/phpunit": "^5.7"
}, },
"type": "library", "type": "library",
"autoload": {
"psr-4": {
"Composer\\XdebugHandler\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "John Stevenson",
"email": "john-stevenson@blueyonder.co.uk"
}
],
"description": "Restarts a process without xdebug.",
"keywords": [
"Xdebug",
"performance"
],
"time": "2018-04-11T15:42:36+00:00"
},
{
"name": "dealerdirect/phpcodesniffer-composer-installer",
"version": "v0.4.4",
"source": {
"type": "git",
"url": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer.git",
"reference": "2e41850d5f7797cbb1af7b030d245b3b24e63a08"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Dealerdirect/phpcodesniffer-composer-installer/zipball/2e41850d5f7797cbb1af7b030d245b3b24e63a08",
"reference": "2e41850d5f7797cbb1af7b030d245b3b24e63a08",
"shasum": ""
},
"require": {
"composer-plugin-api": "^1.0",
"php": "^5.3|^7",
"squizlabs/php_codesniffer": "*"
},
"require-dev": {
"composer/composer": "*",
"wimg/php-compatibility": "^8.0"
},
"suggest": {
"dealerdirect/qa-tools": "All the PHP QA tools you'll need"
},
"type": "composer-plugin",
"extra": {
"class": "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin"
},
"autoload": {
"psr-4": {
"Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Franck Nijhof",
"email": "f.nijhof@dealerdirect.nl",
"homepage": "http://workingatdealerdirect.eu",
"role": "Developer"
}
],
"description": "PHP_CodeSniffer Standards Composer Installer Plugin",
"homepage": "http://workingatdealerdirect.eu",
"keywords": [
"PHPCodeSniffer",
"PHP_CodeSniffer",
"code quality",
"codesniffer",
"composer",
"installer",
"phpcs",
"plugin",
"qa",
"quality",
"standard",
"standards",
"style guide",
"stylecheck",
"tests"
],
"time": "2017-12-06T16:27:17+00:00"
},
{
"name": "doctrine/coding-standard",
"version": "4.0.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/coding-standard.git",
"reference": "0469c18a1a4724c278f2879c0dd7b1fa860b52de"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/coding-standard/zipball/0469c18a1a4724c278f2879c0dd7b1fa860b52de",
"reference": "0469c18a1a4724c278f2879c0dd7b1fa860b52de",
"shasum": ""
},
"require": {
"dealerdirect/phpcodesniffer-composer-installer": "^0.4.2",
"php": "^7.1",
"slevomat/coding-standard": "^4.5.0",
"squizlabs/php_codesniffer": "^3.2.3"
},
"type": "phpcodesniffer-standard",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.3.x-dev" "dev-master": "3.0.x-dev"
} }
}, },
"autoload": { "autoload": {
"psr-0": { "psr-4": {
"Doctrine\\Common\\Collections\\": "lib/" "Doctrine\\Sniffs\\": "lib/Doctrine/Sniffs"
} }
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
...@@ -185,70 +304,61 @@ ...@@ -185,70 +304,61 @@
"MIT" "MIT"
], ],
"authors": [ "authors": [
{
"name": "Roman Borschel",
"email": "roman@code-factory.org"
},
{ {
"name": "Benjamin Eberlei", "name": "Benjamin Eberlei",
"email": "kontakt@beberlei.de" "email": "kontakt@beberlei.de"
}, },
{ {
"name": "Guilherme Blanco", "name": "Steve Müller",
"email": "guilhermeblanco@gmail.com" "email": "st.mueller@dzh-online.de"
},
{
"name": "Jonathan Wage",
"email": "jonwage@gmail.com"
},
{
"name": "Johannes Schmitt",
"email": "schmittjoh@gmail.com"
} }
], ],
"description": "Collections Abstraction library", "description": "Doctrine Coding Standard",
"homepage": "http://www.doctrine-project.org", "homepage": "http://www.doctrine-project.org",
"keywords": [ "keywords": [
"array", "code",
"collections", "coding",
"iterator" "cs",
"doctrine",
"sniffer",
"standard",
"style"
], ],
"time": "2017-07-22T10:37:32+00:00" "time": "2018-03-03T23:49:15+00:00"
}, },
{ {
"name": "doctrine/common", "name": "doctrine/instantiator",
"version": "v2.8.1", "version": "1.1.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/common.git", "url": "https://github.com/doctrine/instantiator.git",
"reference": "f68c297ce6455e8fd794aa8ffaf9fa458f6ade66" "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/common/zipball/f68c297ce6455e8fd794aa8ffaf9fa458f6ade66", "url": "https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
"reference": "f68c297ce6455e8fd794aa8ffaf9fa458f6ade66", "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"doctrine/annotations": "1.*", "php": "^7.1"
"doctrine/cache": "1.*",
"doctrine/collections": "1.*",
"doctrine/inflector": "1.*",
"doctrine/lexer": "1.*",
"php": "~7.1"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^5.7" "athletic/athletic": "~0.1.8",
"ext-pdo": "*",
"ext-phar": "*",
"phpunit/phpunit": "^6.2.3",
"squizlabs/php_codesniffer": "^3.0.2"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "2.8.x-dev" "dev-master": "1.2.x-dev"
} }
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Doctrine\\Common\\": "lib/Doctrine/Common" "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
} }
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
...@@ -257,66 +367,49 @@ ...@@ -257,66 +367,49 @@
], ],
"authors": [ "authors": [
{ {
"name": "Roman Borschel", "name": "Marco Pivetta",
"email": "roman@code-factory.org" "email": "ocramius@gmail.com",
}, "homepage": "http://ocramius.github.com/"
{
"name": "Benjamin Eberlei",
"email": "kontakt@beberlei.de"
},
{
"name": "Guilherme Blanco",
"email": "guilhermeblanco@gmail.com"
},
{
"name": "Jonathan Wage",
"email": "jonwage@gmail.com"
},
{
"name": "Johannes Schmitt",
"email": "schmittjoh@gmail.com"
} }
], ],
"description": "Common Library for Doctrine projects", "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
"homepage": "http://www.doctrine-project.org", "homepage": "https://github.com/doctrine/instantiator",
"keywords": [ "keywords": [
"annotations", "constructor",
"collections", "instantiate"
"eventmanager",
"persistence",
"spl"
], ],
"time": "2017-08-31T08:43:38+00:00" "time": "2017-07-22T11:58:36+00:00"
}, },
{ {
"name": "doctrine/inflector", "name": "jean85/pretty-package-versions",
"version": "v1.3.0", "version": "1.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/inflector.git", "url": "https://github.com/Jean85/pretty-package-versions.git",
"reference": "5527a48b7313d15261292c149e55e26eae771b0a" "reference": "75c7effcf3f77501d0e0caa75111aff4daa0dd48"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/inflector/zipball/5527a48b7313d15261292c149e55e26eae771b0a", "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/75c7effcf3f77501d0e0caa75111aff4daa0dd48",
"reference": "5527a48b7313d15261292c149e55e26eae771b0a", "reference": "75c7effcf3f77501d0e0caa75111aff4daa0dd48",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1" "ocramius/package-versions": "^1.2.0",
"php": "^7.0"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^6.2" "phpunit/phpunit": "^6.0"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.3.x-dev" "dev-master": "1.x-dev"
} }
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector" "Jean85\\": "src/"
} }
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
...@@ -325,316 +418,665 @@ ...@@ -325,316 +418,665 @@
], ],
"authors": [ "authors": [
{ {
"name": "Roman Borschel", "name": "Alessandro Lai",
"email": "roman@code-factory.org" "email": "alessandro.lai85@gmail.com"
}
],
"description": "A wrapper for ocramius/package-versions to get pretty versions strings",
"keywords": [
"composer",
"package",
"release",
"versions"
],
"time": "2018-06-13T13:22:40+00:00"
},
{
"name": "jetbrains/phpstorm-stubs",
"version": "v2018.1.2",
"source": {
"type": "git",
"url": "https://github.com/JetBrains/phpstorm-stubs.git",
"reference": "d5fd088949a717b477a08ed8e24e7e64a814ae10"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/JetBrains/phpstorm-stubs/zipball/d5fd088949a717b477a08ed8e24e7e64a814ae10",
"reference": "d5fd088949a717b477a08ed8e24e7e64a814ae10",
"shasum": ""
},
"require-dev": {
"nikic/php-parser": "v4.0.1",
"phpdocumentor/reflection-docblock": "^4.3",
"phpunit/phpunit": "7.1.4"
},
"type": "library",
"notification-url": "https://packagist.org/downloads/",
"license": [
"Apache-2.0"
],
"description": "PHP runtime & extensions header files for PhpStorm",
"homepage": "https://www.jetbrains.com/phpstorm",
"keywords": [
"autocomplete",
"code",
"inference",
"inspection",
"jetbrains",
"phpstorm",
"stubs",
"type"
],
"time": "2018-04-25T12:26:46+00:00"
},
{
"name": "myclabs/deep-copy",
"version": "1.7.0",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
"reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e",
"reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e",
"shasum": ""
},
"require": {
"php": "^5.6 || ^7.0"
},
"require-dev": {
"doctrine/collections": "^1.0",
"doctrine/common": "^2.6",
"phpunit/phpunit": "^4.1"
},
"type": "library",
"autoload": {
"psr-4": {
"DeepCopy\\": "src/DeepCopy/"
}, },
"files": [
"src/DeepCopy/deep_copy.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "Create deep copies (clones) of your objects",
"keywords": [
"clone",
"copy",
"duplicate",
"object",
"object graph"
],
"time": "2017-10-19T19:58:43+00:00"
},
{
"name": "nette/bootstrap",
"version": "v2.4.6",
"source": {
"type": "git",
"url": "https://github.com/nette/bootstrap.git",
"reference": "268816e3f1bb7426c3a4ceec2bd38a036b532543"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nette/bootstrap/zipball/268816e3f1bb7426c3a4ceec2bd38a036b532543",
"reference": "268816e3f1bb7426c3a4ceec2bd38a036b532543",
"shasum": ""
},
"require": {
"nette/di": "~2.4.7",
"nette/utils": "~2.4",
"php": ">=5.6.0"
},
"conflict": {
"nette/nette": "<2.2"
},
"require-dev": {
"latte/latte": "~2.2",
"nette/application": "~2.3",
"nette/caching": "~2.3",
"nette/database": "~2.3",
"nette/forms": "~2.3",
"nette/http": "~2.4.0",
"nette/mail": "~2.3",
"nette/robot-loader": "^2.4.2 || ^3.0",
"nette/safe-stream": "~2.2",
"nette/security": "~2.3",
"nette/tester": "~2.0",
"tracy/tracy": "^2.4.1"
},
"suggest": {
"nette/robot-loader": "to use Configurator::createRobotLoader()",
"tracy/tracy": "to use Configurator::enableTracy()"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.4-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause",
"GPL-2.0",
"GPL-3.0"
],
"authors": [
{ {
"name": "Benjamin Eberlei", "name": "David Grudl",
"email": "kontakt@beberlei.de" "homepage": "https://davidgrudl.com"
}, },
{ {
"name": "Guilherme Blanco", "name": "Nette Community",
"email": "guilhermeblanco@gmail.com" "homepage": "https://nette.org/contributors"
}, }
],
"description": "🅱 Nette Bootstrap: the simple way to configure and bootstrap your Nette application.",
"homepage": "https://nette.org",
"keywords": [
"bootstrapping",
"configurator",
"nette"
],
"time": "2018-05-17T12:52:20+00:00"
},
{
"name": "nette/di",
"version": "v2.4.12",
"source": {
"type": "git",
"url": "https://github.com/nette/di.git",
"reference": "8e717aed2d182a26763be58c220eebaaa32917df"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nette/di/zipball/8e717aed2d182a26763be58c220eebaaa32917df",
"reference": "8e717aed2d182a26763be58c220eebaaa32917df",
"shasum": ""
},
"require": {
"ext-tokenizer": "*",
"nette/neon": "^2.3.3 || ~3.0.0",
"nette/php-generator": "^2.6.1 || ~3.0.0",
"nette/utils": "^2.4.3 || ~3.0.0",
"php": ">=5.6.0"
},
"conflict": {
"nette/bootstrap": "<2.4",
"nette/nette": "<2.2"
},
"require-dev": {
"nette/tester": "^2.0",
"tracy/tracy": "^2.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.4-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause",
"GPL-2.0",
"GPL-3.0"
],
"authors": [
{ {
"name": "Jonathan Wage", "name": "David Grudl",
"email": "jonwage@gmail.com" "homepage": "https://davidgrudl.com"
}, },
{ {
"name": "Johannes Schmitt", "name": "Nette Community",
"email": "schmittjoh@gmail.com" "homepage": "https://nette.org/contributors"
} }
], ],
"description": "Common String Manipulations with regard to casing and singular/plural rules.", "description": "💎 Nette Dependency Injection Container: Flexible, compiled and full-featured DIC with perfectly usable autowiring and support for all new PHP 7.1 features.",
"homepage": "http://www.doctrine-project.org", "homepage": "https://nette.org",
"keywords": [ "keywords": [
"inflection", "compiled",
"pluralize", "di",
"singularize", "dic",
"string" "factory",
], "ioc",
"time": "2018-01-09T20:05:19+00:00" "nette",
"static"
],
"time": "2018-04-26T09:18:42+00:00"
}, },
{ {
"name": "doctrine/lexer", "name": "nette/finder",
"version": "v1.0.1", "version": "v2.4.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/lexer.git", "url": "https://github.com/nette/finder.git",
"reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" "reference": "4d43a66d072c57d585bf08a3ef68d3587f7e9547"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", "url": "https://api.github.com/repos/nette/finder/zipball/4d43a66d072c57d585bf08a3ef68d3587f7e9547",
"reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", "reference": "4d43a66d072c57d585bf08a3ef68d3587f7e9547",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=5.3.2" "nette/utils": "^2.4 || ~3.0.0",
"php": ">=5.6.0"
},
"conflict": {
"nette/nette": "<2.2"
},
"require-dev": {
"nette/tester": "^2.0",
"tracy/tracy": "^2.3"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.0.x-dev" "dev-master": "2.4-dev"
} }
}, },
"autoload": { "autoload": {
"psr-0": { "classmap": [
"Doctrine\\Common\\Lexer\\": "lib/" "src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause",
"GPL-2.0",
"GPL-3.0"
],
"authors": [
{
"name": "David Grudl",
"homepage": "https://davidgrudl.com"
},
{
"name": "Nette Community",
"homepage": "https://nette.org/contributors"
} }
],
"description": "Nette Finder: Files Searching",
"homepage": "https://nette.org",
"time": "2017-07-10T23:47:08+00:00"
},
{
"name": "nette/neon",
"version": "v2.4.2",
"source": {
"type": "git",
"url": "https://github.com/nette/neon.git",
"reference": "9eacd50553b26b53a3977bfb2fea2166d4331622"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nette/neon/zipball/9eacd50553b26b53a3977bfb2fea2166d4331622",
"reference": "9eacd50553b26b53a3977bfb2fea2166d4331622",
"shasum": ""
},
"require": {
"ext-iconv": "*",
"ext-json": "*",
"php": ">=5.6.0"
},
"require-dev": {
"nette/tester": "~2.0",
"tracy/tracy": "^2.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.4-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
"license": [ "license": [
"MIT" "BSD-3-Clause",
"GPL-2.0",
"GPL-3.0"
], ],
"authors": [ "authors": [
{ {
"name": "Roman Borschel", "name": "David Grudl",
"email": "roman@code-factory.org" "homepage": "https://davidgrudl.com"
}, },
{ {
"name": "Guilherme Blanco", "name": "Nette Community",
"email": "guilhermeblanco@gmail.com" "homepage": "https://nette.org/contributors"
}
],
"description": "Nette NEON: parser & generator for Nette Object Notation",
"homepage": "http://ne-on.org",
"time": "2017-07-11T18:29:08+00:00"
},
{
"name": "nette/php-generator",
"version": "v3.0.4",
"source": {
"type": "git",
"url": "https://github.com/nette/php-generator.git",
"reference": "b381ecacbf5a0b5f99cc0b303d5b0578d409f446"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nette/php-generator/zipball/b381ecacbf5a0b5f99cc0b303d5b0578d409f446",
"reference": "b381ecacbf5a0b5f99cc0b303d5b0578d409f446",
"shasum": ""
},
"require": {
"nette/utils": "^2.4.2 || ~3.0.0",
"php": ">=7.0"
},
"conflict": {
"nette/nette": "<2.2"
},
"require-dev": {
"nette/tester": "^2.0",
"tracy/tracy": "^2.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.0-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause",
"GPL-2.0",
"GPL-3.0"
],
"authors": [
{
"name": "David Grudl",
"homepage": "https://davidgrudl.com"
}, },
{ {
"name": "Johannes Schmitt", "name": "Nette Community",
"email": "schmittjoh@gmail.com" "homepage": "https://nette.org/contributors"
} }
], ],
"description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", "description": "🐘 Nette PHP Generator: generates neat PHP code for you. Supports new PHP 7.2 features.",
"homepage": "http://www.doctrine-project.org", "homepage": "https://nette.org",
"keywords": [ "keywords": [
"lexer", "code",
"parser" "nette",
"php",
"scaffolding"
], ],
"time": "2014-09-09T13:34:57+00:00" "time": "2018-04-26T16:48:20+00:00"
} },
],
"packages-dev": [
{ {
"name": "dealerdirect/phpcodesniffer-composer-installer", "name": "nette/robot-loader",
"version": "v0.4.4", "version": "v3.0.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer.git", "url": "https://github.com/nette/robot-loader.git",
"reference": "2e41850d5f7797cbb1af7b030d245b3b24e63a08" "reference": "92d4b40b49d5e2d9e37fc736bbcebe6da55fa44a"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/Dealerdirect/phpcodesniffer-composer-installer/zipball/2e41850d5f7797cbb1af7b030d245b3b24e63a08", "url": "https://api.github.com/repos/nette/robot-loader/zipball/92d4b40b49d5e2d9e37fc736bbcebe6da55fa44a",
"reference": "2e41850d5f7797cbb1af7b030d245b3b24e63a08", "reference": "92d4b40b49d5e2d9e37fc736bbcebe6da55fa44a",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"composer-plugin-api": "^1.0", "ext-tokenizer": "*",
"php": "^5.3|^7", "nette/finder": "^2.3 || ^3.0",
"squizlabs/php_codesniffer": "*" "nette/utils": "^2.4 || ^3.0",
"php": ">=5.6.0"
}, },
"require-dev": { "conflict": {
"composer/composer": "*", "nette/nette": "<2.2"
"wimg/php-compatibility": "^8.0"
}, },
"suggest": { "require-dev": {
"dealerdirect/qa-tools": "All the PHP QA tools you'll need" "nette/tester": "^2.0",
"tracy/tracy": "^2.3"
}, },
"type": "composer-plugin", "type": "library",
"extra": { "extra": {
"class": "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin" "branch-alias": {
"dev-master": "3.0-dev"
}
}, },
"autoload": { "autoload": {
"psr-4": { "classmap": [
"Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/" "src/"
} ]
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
"license": [ "license": [
"MIT" "BSD-3-Clause",
"GPL-2.0",
"GPL-3.0"
], ],
"authors": [ "authors": [
{ {
"name": "Franck Nijhof", "name": "David Grudl",
"email": "f.nijhof@dealerdirect.nl", "homepage": "https://davidgrudl.com"
"homepage": "http://workingatdealerdirect.eu", },
"role": "Developer" {
"name": "Nette Community",
"homepage": "https://nette.org/contributors"
} }
], ],
"description": "PHP_CodeSniffer Standards Composer Installer Plugin", "description": "🍀 Nette RobotLoader: high performance and comfortable autoloader that will search and autoload classes within your application.",
"homepage": "http://workingatdealerdirect.eu", "homepage": "https://nette.org",
"keywords": [ "keywords": [
"PHPCodeSniffer", "autoload",
"PHP_CodeSniffer", "class",
"code quality", "interface",
"codesniffer", "nette",
"composer", "trait"
"installer",
"phpcs",
"plugin",
"qa",
"quality",
"standard",
"standards",
"style guide",
"stylecheck",
"tests"
], ],
"time": "2017-12-06T16:27:17+00:00" "time": "2017-09-26T13:42:21+00:00"
}, },
{ {
"name": "doctrine/coding-standard", "name": "nette/utils",
"version": "4.0.0", "version": "v2.5.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/coding-standard.git", "url": "https://github.com/nette/utils.git",
"reference": "0469c18a1a4724c278f2879c0dd7b1fa860b52de" "reference": "183069866dc477fcfbac393ed486aaa6d93d19a5"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/coding-standard/zipball/0469c18a1a4724c278f2879c0dd7b1fa860b52de", "url": "https://api.github.com/repos/nette/utils/zipball/183069866dc477fcfbac393ed486aaa6d93d19a5",
"reference": "0469c18a1a4724c278f2879c0dd7b1fa860b52de", "reference": "183069866dc477fcfbac393ed486aaa6d93d19a5",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"dealerdirect/phpcodesniffer-composer-installer": "^0.4.2", "php": ">=5.6.0"
"php": "^7.1",
"slevomat/coding-standard": "^4.5.0",
"squizlabs/php_codesniffer": "^3.2.3"
}, },
"type": "phpcodesniffer-standard", "conflict": {
"nette/nette": "<2.2"
},
"require-dev": {
"nette/tester": "~2.0",
"tracy/tracy": "^2.3"
},
"suggest": {
"ext-gd": "to use Image",
"ext-iconv": "to use Strings::webalize() and toAscii()",
"ext-intl": "for script transliteration in Strings::webalize() and toAscii()",
"ext-json": "to use Nette\\Utils\\Json",
"ext-mbstring": "to use Strings::lower() etc...",
"ext-xml": "to use Strings::length() etc. when mbstring is not available"
},
"type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "3.0.x-dev" "dev-master": "2.5-dev"
} }
}, },
"autoload": { "autoload": {
"psr-4": { "classmap": [
"Doctrine\\Sniffs\\": "lib/Doctrine/Sniffs" "src/"
} ],
"files": [
"src/loader.php"
]
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
"license": [ "license": [
"MIT" "BSD-3-Clause",
"GPL-2.0",
"GPL-3.0"
], ],
"authors": [ "authors": [
{ {
"name": "Benjamin Eberlei", "name": "David Grudl",
"email": "kontakt@beberlei.de" "homepage": "https://davidgrudl.com"
}, },
{ {
"name": "Steve Müller", "name": "Nette Community",
"email": "st.mueller@dzh-online.de" "homepage": "https://nette.org/contributors"
} }
], ],
"description": "Doctrine Coding Standard", "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.",
"homepage": "http://www.doctrine-project.org", "homepage": "https://nette.org",
"keywords": [ "keywords": [
"code", "array",
"coding", "core",
"cs", "datetime",
"doctrine", "images",
"sniffer", "json",
"standard", "nette",
"style" "paginator",
], "password",
"time": "2018-03-03T23:49:15+00:00" "slugify",
"string",
"unicode",
"utf-8",
"utility",
"validation"
],
"time": "2018-05-02T17:16:08+00:00"
}, },
{ {
"name": "doctrine/instantiator", "name": "nikic/php-parser",
"version": "1.1.0", "version": "v4.0.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/instantiator.git", "url": "https://github.com/nikic/PHP-Parser.git",
"reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda" "reference": "35b8caf75e791ba1b2d24fec1552168d72692b12"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda", "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/35b8caf75e791ba1b2d24fec1552168d72692b12",
"reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda", "reference": "35b8caf75e791ba1b2d24fec1552168d72692b12",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1" "ext-tokenizer": "*",
"php": ">=7.0"
}, },
"require-dev": { "require-dev": {
"athletic/athletic": "~0.1.8", "phpunit/phpunit": "^6.5 || ^7.0"
"ext-pdo": "*",
"ext-phar": "*",
"phpunit/phpunit": "^6.2.3",
"squizlabs/php_codesniffer": "^3.0.2"
}, },
"bin": [
"bin/php-parse"
],
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.2.x-dev" "dev-master": "4.0-dev"
} }
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" "PhpParser\\": "lib/PhpParser"
} }
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
"license": [ "license": [
"MIT" "BSD-3-Clause"
], ],
"authors": [ "authors": [
{ {
"name": "Marco Pivetta", "name": "Nikita Popov"
"email": "ocramius@gmail.com",
"homepage": "http://ocramius.github.com/"
} }
], ],
"description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", "description": "A PHP parser written in PHP",
"homepage": "https://github.com/doctrine/instantiator",
"keywords": [ "keywords": [
"constructor", "parser",
"instantiate" "php"
], ],
"time": "2017-07-22T11:58:36+00:00" "time": "2018-06-03T11:33:10+00:00"
}, },
{ {
"name": "myclabs/deep-copy", "name": "ocramius/package-versions",
"version": "1.7.0", "version": "1.3.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/myclabs/DeepCopy.git", "url": "https://github.com/Ocramius/PackageVersions.git",
"reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e" "reference": "4489d5002c49d55576fa0ba786f42dbb009be46f"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", "url": "https://api.github.com/repos/Ocramius/PackageVersions/zipball/4489d5002c49d55576fa0ba786f42dbb009be46f",
"reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", "reference": "4489d5002c49d55576fa0ba786f42dbb009be46f",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^5.6 || ^7.0" "composer-plugin-api": "^1.0.0",
"php": "^7.1.0"
}, },
"require-dev": { "require-dev": {
"doctrine/collections": "^1.0", "composer/composer": "^1.6.3",
"doctrine/common": "^2.6", "ext-zip": "*",
"phpunit/phpunit": "^4.1" "infection/infection": "^0.7.1",
"phpunit/phpunit": "^7.0.0"
},
"type": "composer-plugin",
"extra": {
"class": "PackageVersions\\Installer",
"branch-alias": {
"dev-master": "2.0.x-dev"
}
}, },
"type": "library",
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"DeepCopy\\": "src/DeepCopy/" "PackageVersions\\": "src/PackageVersions"
}, }
"files": [
"src/DeepCopy/deep_copy.php"
]
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
"license": [ "license": [
"MIT" "MIT"
], ],
"description": "Create deep copies (clones) of your objects", "authors": [
"keywords": [ {
"clone", "name": "Marco Pivetta",
"copy", "email": "ocramius@gmail.com"
"duplicate", }
"object",
"object graph"
], ],
"time": "2017-10-19T19:58:43+00:00" "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
"time": "2018-02-05T13:05:30+00:00"
}, },
{ {
"name": "phar-io/manifest", "name": "phar-io/manifest",
...@@ -953,18 +1395,131 @@ ...@@ -953,18 +1395,131 @@
], ],
"time": "2018-02-19T10:16:54+00:00" "time": "2018-02-19T10:16:54+00:00"
}, },
{
"name": "phpstan/phpdoc-parser",
"version": "0.3",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpdoc-parser.git",
"reference": "ed3223362174b8067729930439e139794e9e514a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/ed3223362174b8067729930439e139794e9e514a",
"reference": "ed3223362174b8067729930439e139794e9e514a",
"shasum": ""
},
"require": {
"php": "~7.1"
},
"require-dev": {
"consistence/coding-standard": "^2.0.0",
"jakub-onderka/php-parallel-lint": "^0.9.2",
"phing/phing": "^2.16.0",
"phpstan/phpstan": "^0.10@dev",
"phpunit/phpunit": "^6.3",
"slevomat/coding-standard": "^3.3.0",
"symfony/process": "^3.4 || ^4.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "0.3-dev"
}
},
"autoload": {
"psr-4": {
"PHPStan\\PhpDocParser\\": [
"src/"
]
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "PHPDoc parser with support for nullable, intersection and generic types",
"time": "2018-06-20T17:48:01+00:00"
},
{
"name": "phpstan/phpstan",
"version": "0.10",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
"reference": "86b9f9a4421d282f3c18e0d4d1426f330c1ef21d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/86b9f9a4421d282f3c18e0d4d1426f330c1ef21d",
"reference": "86b9f9a4421d282f3c18e0d4d1426f330c1ef21d",
"shasum": ""
},
"require": {
"composer/xdebug-handler": "^1.0",
"jean85/pretty-package-versions": "^1.0.3",
"nette/bootstrap": "^2.4 || ^3.0",
"nette/di": "^2.4.7 || ^3.0",
"nette/robot-loader": "^3.0.1",
"nette/utils": "^2.4.5 || ^3.0",
"nikic/php-parser": "^4.0.2",
"php": "~7.1",
"phpstan/phpdoc-parser": "^0.3",
"symfony/console": "~3.2 || ~4.0",
"symfony/finder": "~3.2 || ~4.0"
},
"require-dev": {
"brianium/paratest": "^2.0",
"consistence/coding-standard": "^3.3",
"dealerdirect/phpcodesniffer-composer-installer": "^0.4.4",
"ext-gd": "*",
"ext-intl": "*",
"ext-mysqli": "*",
"ext-zip": "*",
"jakub-onderka/php-parallel-lint": "^1.0",
"phing/phing": "^2.16.0",
"phpstan/phpstan-php-parser": "^0.10",
"phpstan/phpstan-phpunit": "^0.10",
"phpstan/phpstan-strict-rules": "^0.10",
"phpunit/phpunit": "^7.0",
"slevomat/coding-standard": "^4.6.2"
},
"bin": [
"bin/phpstan"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "0.10-dev"
}
},
"autoload": {
"psr-4": {
"PHPStan\\": [
"src/",
"build/PHPStan"
]
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "PHPStan - PHP Static Analysis Tool",
"time": "2018-06-24T17:49:58+00:00"
},
{ {
"name": "phpunit/php-code-coverage", "name": "phpunit/php-code-coverage",
"version": "6.0.1", "version": "6.0.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
"reference": "f8ca4b604baf23dab89d87773c28cc07405189ba" "reference": "4cab20a326d14de7575a8e235c70d879b569a57a"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f8ca4b604baf23dab89d87773c28cc07405189ba", "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/4cab20a326d14de7575a8e235c70d879b569a57a",
"reference": "f8ca4b604baf23dab89d87773c28cc07405189ba", "reference": "4cab20a326d14de7575a8e235c70d879b569a57a",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -975,7 +1530,7 @@ ...@@ -975,7 +1530,7 @@
"phpunit/php-text-template": "^1.2.1", "phpunit/php-text-template": "^1.2.1",
"phpunit/php-token-stream": "^3.0", "phpunit/php-token-stream": "^3.0",
"sebastian/code-unit-reverse-lookup": "^1.0.1", "sebastian/code-unit-reverse-lookup": "^1.0.1",
"sebastian/environment": "^3.0", "sebastian/environment": "^3.1",
"sebastian/version": "^2.0.1", "sebastian/version": "^2.0.1",
"theseer/tokenizer": "^1.1" "theseer/tokenizer": "^1.1"
}, },
...@@ -1014,7 +1569,7 @@ ...@@ -1014,7 +1569,7 @@
"testing", "testing",
"xunit" "xunit"
], ],
"time": "2018-02-02T07:01:41+00:00" "time": "2018-05-28T11:49:20+00:00"
}, },
{ {
"name": "phpunit/php-file-iterator", "name": "phpunit/php-file-iterator",
...@@ -1204,16 +1759,16 @@ ...@@ -1204,16 +1759,16 @@
}, },
{ {
"name": "phpunit/phpunit", "name": "phpunit/phpunit",
"version": "7.0.3", "version": "7.1.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git", "url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "536f4d853c12d8189963435088e8ff7c0daeab2e" "reference": "6d51299e307dc510149e0b7cd1931dd11770e1cb"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/536f4d853c12d8189963435088e8ff7c0daeab2e", "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/6d51299e307dc510149e0b7cd1931dd11770e1cb",
"reference": "536f4d853c12d8189963435088e8ff7c0daeab2e", "reference": "6d51299e307dc510149e0b7cd1931dd11770e1cb",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -1231,8 +1786,8 @@ ...@@ -1231,8 +1786,8 @@
"phpunit/php-file-iterator": "^1.4.3", "phpunit/php-file-iterator": "^1.4.3",
"phpunit/php-text-template": "^1.2.1", "phpunit/php-text-template": "^1.2.1",
"phpunit/php-timer": "^2.0", "phpunit/php-timer": "^2.0",
"phpunit/phpunit-mock-objects": "^6.0", "phpunit/phpunit-mock-objects": "^6.1.1",
"sebastian/comparator": "^2.1", "sebastian/comparator": "^2.1 || ^3.0",
"sebastian/diff": "^3.0", "sebastian/diff": "^3.0",
"sebastian/environment": "^3.1", "sebastian/environment": "^3.1",
"sebastian/exporter": "^3.1", "sebastian/exporter": "^3.1",
...@@ -1254,7 +1809,7 @@ ...@@ -1254,7 +1809,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "7.0-dev" "dev-master": "7.1-dev"
} }
}, },
"autoload": { "autoload": {
...@@ -1280,20 +1835,20 @@ ...@@ -1280,20 +1835,20 @@
"testing", "testing",
"xunit" "xunit"
], ],
"time": "2018-03-26T07:36:48+00:00" "time": "2018-04-18T13:41:53+00:00"
}, },
{ {
"name": "phpunit/phpunit-mock-objects", "name": "phpunit/phpunit-mock-objects",
"version": "6.0.1", "version": "6.1.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
"reference": "e3249dedc2d99259ccae6affbc2684eac37c2e53" "reference": "f9756fd4f43f014cb2dca98deeaaa8ce5500a36e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/e3249dedc2d99259ccae6affbc2684eac37c2e53", "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/f9756fd4f43f014cb2dca98deeaaa8ce5500a36e",
"reference": "e3249dedc2d99259ccae6affbc2684eac37c2e53", "reference": "f9756fd4f43f014cb2dca98deeaaa8ce5500a36e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -1311,7 +1866,7 @@ ...@@ -1311,7 +1866,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "6.0.x-dev" "dev-master": "6.1-dev"
} }
}, },
"autoload": { "autoload": {
...@@ -1336,7 +1891,7 @@ ...@@ -1336,7 +1891,7 @@
"mock", "mock",
"xunit" "xunit"
], ],
"time": "2018-02-15T05:27:38+00:00" "time": "2018-05-29T13:54:20+00:00"
}, },
{ {
"name": "psr/log", "name": "psr/log",
...@@ -2164,6 +2719,55 @@ ...@@ -2164,6 +2719,55 @@
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2018-02-28T21:50:02+00:00" "time": "2018-02-28T21:50:02+00:00"
}, },
{
"name": "symfony/finder",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
"reference": "84714b8417d19e4ba02ea78a41a975b3efaafddb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/finder/zipball/84714b8417d19e4ba02ea78a41a975b3efaafddb",
"reference": "84714b8417d19e4ba02ea78a41a975b3efaafddb",
"shasum": ""
},
"require": {
"php": "^7.1.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.1-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Component\\Finder\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony Finder Component",
"homepage": "https://symfony.com",
"time": "2018-06-19T21:38:16+00:00"
},
{ {
"name": "symfony/phpunit-bridge", "name": "symfony/phpunit-bridge",
"version": "v4.0.6", "version": "v4.0.6",
......
...@@ -19,12 +19,14 @@ ...@@ -19,12 +19,14 @@
namespace Doctrine\DBAL; namespace Doctrine\DBAL;
use Doctrine\DBAL\Driver\ResultStatement;
use Doctrine\DBAL\Driver\ServerInfoAwareConnection; use Doctrine\DBAL\Driver\ServerInfoAwareConnection;
use Doctrine\DBAL\Exception\InvalidArgumentException; use Doctrine\DBAL\Exception\InvalidArgumentException;
use Closure; use Closure;
use Exception; use Exception;
use Doctrine\DBAL\Types\Type; use Doctrine\DBAL\Types\Type;
use Doctrine\DBAL\Driver\Connection as DriverConnection; use Doctrine\DBAL\Driver\Connection as DriverConnection;
use Doctrine\DBAL\Driver\Statement as DriverStatement;
use Doctrine\Common\EventManager; use Doctrine\Common\EventManager;
use Doctrine\DBAL\Cache\ResultCacheStatement; use Doctrine\DBAL\Cache\ResultCacheStatement;
use Doctrine\DBAL\Cache\QueryCacheProfile; use Doctrine\DBAL\Cache\QueryCacheProfile;
...@@ -32,6 +34,7 @@ use Doctrine\DBAL\Cache\ArrayStatement; ...@@ -32,6 +34,7 @@ use Doctrine\DBAL\Cache\ArrayStatement;
use Doctrine\DBAL\Cache\CacheException; use Doctrine\DBAL\Cache\CacheException;
use Doctrine\DBAL\Driver\PingableConnection; use Doctrine\DBAL\Driver\PingableConnection;
use Throwable; use Throwable;
use function assert;
use function array_key_exists; use function array_key_exists;
use function array_merge; use function array_merge;
use function func_get_args; use function func_get_args;
...@@ -108,7 +111,7 @@ class Connection implements DriverConnection ...@@ -108,7 +111,7 @@ class Connection implements DriverConnection
/** /**
* The wrapped driver connection. * The wrapped driver connection.
* *
* @var \Doctrine\DBAL\Driver\Connection * @var \Doctrine\DBAL\Driver\Connection|null
*/ */
protected $_conn; protected $_conn;
...@@ -409,7 +412,9 @@ class Connection implements DriverConnection ...@@ -409,7 +412,9 @@ class Connection implements DriverConnection
{ {
$version = $this->getDatabasePlatformVersion(); $version = $this->getDatabasePlatformVersion();
if (null !== $version) { if ($version !== null) {
assert($this->_driver instanceof VersionAwarePlatformDriver);
$this->platform = $this->_driver->createDatabasePlatformForVersion($version); $this->platform = $this->_driver->createDatabasePlatformForVersion($version);
} else { } else {
$this->platform = $this->_driver->getDatabasePlatform(); $this->platform = $this->_driver->getDatabasePlatform();
...@@ -875,7 +880,7 @@ class Connection implements DriverConnection ...@@ -875,7 +880,7 @@ class Connection implements DriverConnection
* *
* @param string $statement The SQL statement to prepare. * @param string $statement The SQL statement to prepare.
* *
* @return \Doctrine\DBAL\Statement The prepared statement. * @return DriverStatement The prepared statement.
* *
* @throws \Doctrine\DBAL\DBALException * @throws \Doctrine\DBAL\DBALException
*/ */
...@@ -903,7 +908,7 @@ class Connection implements DriverConnection ...@@ -903,7 +908,7 @@ class Connection implements DriverConnection
* @param array $types The types the previous parameters are in. * @param array $types The types the previous parameters are in.
* @param \Doctrine\DBAL\Cache\QueryCacheProfile|null $qcp The query cache profile, optional. * @param \Doctrine\DBAL\Cache\QueryCacheProfile|null $qcp The query cache profile, optional.
* *
* @return \Doctrine\DBAL\Driver\Statement The executed statement. * @return ResultStatement The executed statement.
* *
* @throws \Doctrine\DBAL\DBALException * @throws \Doctrine\DBAL\DBALException
*/ */
...@@ -955,7 +960,7 @@ class Connection implements DriverConnection ...@@ -955,7 +960,7 @@ class Connection implements DriverConnection
* @param array $types The types the previous parameters are in. * @param array $types The types the previous parameters are in.
* @param \Doctrine\DBAL\Cache\QueryCacheProfile $qcp The query cache profile. * @param \Doctrine\DBAL\Cache\QueryCacheProfile $qcp The query cache profile.
* *
* @return \Doctrine\DBAL\Driver\ResultStatement * @return ResultStatement
* *
* @throws \Doctrine\DBAL\Cache\CacheException * @throws \Doctrine\DBAL\Cache\CacheException
*/ */
...@@ -1139,7 +1144,7 @@ class Connection implements DriverConnection ...@@ -1139,7 +1144,7 @@ class Connection implements DriverConnection
/** /**
* Fetches the SQLSTATE associated with the last database operation. * Fetches the SQLSTATE associated with the last database operation.
* *
* @return int The last error code. * @return string|null The last error code.
*/ */
public function errorCode() public function errorCode()
{ {
......
...@@ -21,6 +21,7 @@ namespace Doctrine\DBAL\Connections; ...@@ -21,6 +21,7 @@ namespace Doctrine\DBAL\Connections;
use Doctrine\DBAL\Connection; use Doctrine\DBAL\Connection;
use Doctrine\DBAL\Driver; use Doctrine\DBAL\Driver;
use Doctrine\DBAL\Driver\Connection as DriverConnection;
use Doctrine\DBAL\Configuration; use Doctrine\DBAL\Configuration;
use Doctrine\Common\EventManager; use Doctrine\Common\EventManager;
use Doctrine\DBAL\Event\ConnectionEventArgs; use Doctrine\DBAL\Event\ConnectionEventArgs;
...@@ -88,7 +89,7 @@ class MasterSlaveConnection extends Connection ...@@ -88,7 +89,7 @@ class MasterSlaveConnection extends Connection
/** /**
* Master and slave connection (one of the randomly picked slaves). * Master and slave connection (one of the randomly picked slaves).
* *
* @var \Doctrine\DBAL\Driver\Connection[] * @var DriverConnection[]|null[]
*/ */
protected $connections = ['master' => null, 'slave' => null]; protected $connections = ['master' => null, 'slave' => null];
...@@ -199,7 +200,7 @@ class MasterSlaveConnection extends Connection ...@@ -199,7 +200,7 @@ class MasterSlaveConnection extends Connection
* *
* @param string $connectionName * @param string $connectionName
* *
* @return \Doctrine\DBAL\Driver * @return DriverConnection
*/ */
protected function connectTo($connectionName) protected function connectTo($connectionName)
{ {
......
...@@ -36,7 +36,7 @@ interface Connection ...@@ -36,7 +36,7 @@ interface Connection
* *
* @param string $prepareString * @param string $prepareString
* *
* @return \Doctrine\DBAL\Driver\Statement * @return Statement
*/ */
public function prepare($prepareString); public function prepare($prepareString);
......
...@@ -22,6 +22,7 @@ namespace Doctrine\DBAL\Driver\IBMDB2; ...@@ -22,6 +22,7 @@ namespace Doctrine\DBAL\Driver\IBMDB2;
use Doctrine\DBAL\Driver\Connection; use Doctrine\DBAL\Driver\Connection;
use Doctrine\DBAL\Driver\ServerInfoAwareConnection; use Doctrine\DBAL\Driver\ServerInfoAwareConnection;
use Doctrine\DBAL\ParameterType; use Doctrine\DBAL\ParameterType;
use stdClass;
use const DB2_AUTOCOMMIT_OFF; use const DB2_AUTOCOMMIT_OFF;
use const DB2_AUTOCOMMIT_ON; use const DB2_AUTOCOMMIT_ON;
use function db2_autocommit; use function db2_autocommit;
...@@ -74,6 +75,7 @@ class DB2Connection implements Connection, ServerInfoAwareConnection ...@@ -74,6 +75,7 @@ class DB2Connection implements Connection, ServerInfoAwareConnection
*/ */
public function getServerVersion() public function getServerVersion()
{ {
/** @var stdClass $serverInfo */
$serverInfo = db2_server_info($this->_conn); $serverInfo = db2_server_info($this->_conn);
return $serverInfo->DBMS_VER; return $serverInfo->DBMS_VER;
......
...@@ -66,7 +66,7 @@ class DB2Statement implements \IteratorAggregate, Statement ...@@ -66,7 +66,7 @@ class DB2Statement implements \IteratorAggregate, Statement
private $defaultFetchClass = '\stdClass'; private $defaultFetchClass = '\stdClass';
/** /**
* @var string Constructor arguments for the default class to instantiate when fetching class instances. * @var mixed[] Constructor arguments for the default class to instantiate when fetching class instances.
*/ */
private $defaultFetchClassCtorArgs = []; private $defaultFetchClassCtorArgs = [];
......
...@@ -252,7 +252,7 @@ class MysqliStatement implements \IteratorAggregate, Statement ...@@ -252,7 +252,7 @@ class MysqliStatement implements \IteratorAggregate, Statement
} }
/** /**
* @return bool|array * @return mixed[]|false
*/ */
private function _fetch() private function _fetch()
{ {
......
...@@ -22,10 +22,12 @@ namespace Doctrine\DBAL\Driver\SQLAnywhere; ...@@ -22,10 +22,12 @@ namespace Doctrine\DBAL\Driver\SQLAnywhere;
use Doctrine\DBAL\Driver\Connection; use Doctrine\DBAL\Driver\Connection;
use Doctrine\DBAL\Driver\ServerInfoAwareConnection; use Doctrine\DBAL\Driver\ServerInfoAwareConnection;
use Doctrine\DBAL\ParameterType; use Doctrine\DBAL\ParameterType;
use function assert;
use function func_get_args; use function func_get_args;
use function is_float; use function is_float;
use function is_int; use function is_int;
use function is_resource; use function is_resource;
use function is_string;
use function sasql_affected_rows; use function sasql_affected_rows;
use function sasql_commit; use function sasql_commit;
use function sasql_connect; use function sasql_connect;
...@@ -149,7 +151,11 @@ class SQLAnywhereConnection implements Connection, ServerInfoAwareConnection ...@@ -149,7 +151,11 @@ class SQLAnywhereConnection implements Connection, ServerInfoAwareConnection
*/ */
public function getServerVersion() public function getServerVersion()
{ {
return $this->query("SELECT PROPERTY('ProductVersion')")->fetchColumn(); $version = $this->query("SELECT PROPERTY('ProductVersion')")->fetchColumn();
assert(is_string($version));
return $version;
} }
/** /**
......
...@@ -70,7 +70,7 @@ class SQLAnywhereStatement implements IteratorAggregate, Statement ...@@ -70,7 +70,7 @@ class SQLAnywhereStatement implements IteratorAggregate, Statement
private $defaultFetchClass = '\stdClass'; private $defaultFetchClass = '\stdClass';
/** /**
* @var string Constructor arguments for the default class to instantiate when fetching class instances. * @var mixed[] Constructor arguments for the default class to instantiate when fetching class instances.
*/ */
private $defaultFetchClassCtorArgs = []; private $defaultFetchClassCtorArgs = [];
......
...@@ -75,7 +75,7 @@ class SQLSrvStatement implements IteratorAggregate, Statement ...@@ -75,7 +75,7 @@ class SQLSrvStatement implements IteratorAggregate, Statement
/** /**
* The SQLSRV statement resource. * The SQLSRV statement resource.
* *
* @var resource * @var resource|null
*/ */
private $stmt; private $stmt;
...@@ -114,7 +114,7 @@ class SQLSrvStatement implements IteratorAggregate, Statement ...@@ -114,7 +114,7 @@ class SQLSrvStatement implements IteratorAggregate, Statement
/** /**
* The constructor arguments for the default class to instantiate when fetching class instances. * The constructor arguments for the default class to instantiate when fetching class instances.
* *
* @var string * @var mixed[]
*/ */
private $defaultFetchClassCtorArgs = []; private $defaultFetchClassCtorArgs = [];
......
...@@ -85,7 +85,7 @@ interface Statement extends ResultStatement ...@@ -85,7 +85,7 @@ interface Statement extends ResultStatement
* *
* @see Doctrine_Adapter_Interface::errorCode() * @see Doctrine_Adapter_Interface::errorCode()
* *
* @return string The error code string. * @return string|int|bool The error code string.
*/ */
public function errorCode(); public function errorCode();
......
...@@ -402,7 +402,7 @@ class OraclePlatform extends AbstractPlatform ...@@ -402,7 +402,7 @@ class OraclePlatform extends AbstractPlatform
foreach ($columns as $name => $column) { foreach ($columns as $name => $column) {
if (isset($column['sequence'])) { if (isset($column['sequence'])) {
$sql[] = $this->getCreateSequenceSQL($column['sequence'], 1); $sql[] = $this->getCreateSequenceSQL($column['sequence']);
} }
if (isset($column['autoincrement']) && $column['autoincrement'] || if (isset($column['autoincrement']) && $column['autoincrement'] ||
......
...@@ -1306,7 +1306,7 @@ class SQLServerPlatform extends AbstractPlatform ...@@ -1306,7 +1306,7 @@ class SQLServerPlatform extends AbstractPlatform
* Remove ORDER BY clauses in subqueries - they're not supported by SQL Server. * Remove ORDER BY clauses in subqueries - they're not supported by SQL Server.
* Caveat: will leave ORDER BY in TOP N subqueries. * Caveat: will leave ORDER BY in TOP N subqueries.
* *
* @param $query * @param string $query
* @return string * @return string
*/ */
private function scrubInnerOrderBy($query) private function scrubInnerOrderBy($query)
......
...@@ -934,7 +934,7 @@ class SqlitePlatform extends AbstractPlatform ...@@ -934,7 +934,7 @@ class SqlitePlatform extends AbstractPlatform
/** /**
* @param \Doctrine\DBAL\Schema\TableDiff $diff * @param \Doctrine\DBAL\Schema\TableDiff $diff
* *
* @return array|bool * @return string[]|false
*/ */
private function getSimpleAlterTableSQL(TableDiff $diff) private function getSimpleAlterTableSQL(TableDiff $diff)
{ {
......
...@@ -204,7 +204,7 @@ class Comparator ...@@ -204,7 +204,7 @@ class Comparator
* @param \Doctrine\DBAL\Schema\Table $table1 * @param \Doctrine\DBAL\Schema\Table $table1
* @param \Doctrine\DBAL\Schema\Table $table2 * @param \Doctrine\DBAL\Schema\Table $table2
* *
* @return bool|\Doctrine\DBAL\Schema\TableDiff * @return TableDiff|false
*/ */
public function diffTable(Table $table1, Table $table2) public function diffTable(Table $table1, Table $table2)
{ {
...@@ -312,8 +312,6 @@ class Comparator ...@@ -312,8 +312,6 @@ class Comparator
* Try to find columns that only changed their name, rename operations maybe cheaper than add/drop * Try to find columns that only changed their name, rename operations maybe cheaper than add/drop
* however ambiguities between different possibilities should not lead to renaming at all. * however ambiguities between different possibilities should not lead to renaming at all.
* *
* @param \Doctrine\DBAL\Schema\TableDiff $tableDifferences
*
* @return void * @return void
*/ */
private function detectColumnRenamings(TableDiff $tableDifferences) private function detectColumnRenamings(TableDiff $tableDifferences)
...@@ -348,8 +346,6 @@ class Comparator ...@@ -348,8 +346,6 @@ class Comparator
* Try to find indexes that only changed their name, rename operations maybe cheaper than add/drop * Try to find indexes that only changed their name, rename operations maybe cheaper than add/drop
* however ambiguities between different possibilities should not lead to renaming at all. * however ambiguities between different possibilities should not lead to renaming at all.
* *
* @param \Doctrine\DBAL\Schema\TableDiff $tableDifferences
*
* @return void * @return void
*/ */
private function detectIndexRenamings(TableDiff $tableDifferences) private function detectIndexRenamings(TableDiff $tableDifferences)
......
...@@ -21,10 +21,12 @@ namespace Doctrine\DBAL\Schema; ...@@ -21,10 +21,12 @@ namespace Doctrine\DBAL\Schema;
use Doctrine\DBAL\DBALException; use Doctrine\DBAL\DBALException;
use Doctrine\DBAL\Driver\DriverException; use Doctrine\DBAL\Driver\DriverException;
use Doctrine\DBAL\Platforms\OraclePlatform;
use Doctrine\DBAL\Types\Type; use Doctrine\DBAL\Types\Type;
use const CASE_LOWER; use const CASE_LOWER;
use function array_change_key_case; use function array_change_key_case;
use function array_values; use function array_values;
use function assert;
use function is_null; use function is_null;
use function preg_match; use function preg_match;
use function sprintf; use function sprintf;
...@@ -116,6 +118,7 @@ class OracleSchemaManager extends AbstractSchemaManager ...@@ -116,6 +118,7 @@ class OracleSchemaManager extends AbstractSchemaManager
$tableIndex = \array_change_key_case($tableIndex, CASE_LOWER); $tableIndex = \array_change_key_case($tableIndex, CASE_LOWER);
$keyName = strtolower($tableIndex['name']); $keyName = strtolower($tableIndex['name']);
$buffer = [];
if (strtolower($tableIndex['is_primary']) == "p") { if (strtolower($tableIndex['is_primary']) == "p") {
$keyName = 'primary'; $keyName = 'primary';
...@@ -346,8 +349,6 @@ class OracleSchemaManager extends AbstractSchemaManager ...@@ -346,8 +349,6 @@ class OracleSchemaManager extends AbstractSchemaManager
$query = 'GRANT DBA TO ' . $username; $query = 'GRANT DBA TO ' . $username;
$this->_conn->executeUpdate($query); $this->_conn->executeUpdate($query);
return true;
} }
/** /**
...@@ -357,6 +358,8 @@ class OracleSchemaManager extends AbstractSchemaManager ...@@ -357,6 +358,8 @@ class OracleSchemaManager extends AbstractSchemaManager
*/ */
public function dropAutoincrement($table) public function dropAutoincrement($table)
{ {
assert($this->_platform instanceof OraclePlatform);
$sql = $this->_platform->getDropAutoincrementSql($table); $sql = $this->_platform->getDropAutoincrementSql($table);
foreach ($sql as $query) { foreach ($sql as $query) {
$this->_conn->executeUpdate($query); $this->_conn->executeUpdate($query);
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
namespace Doctrine\DBAL\Schema; namespace Doctrine\DBAL\Schema;
use Doctrine\DBAL\Exception\DriverException; use Doctrine\DBAL\Exception\DriverException;
use Doctrine\DBAL\Platforms\PostgreSqlPlatform;
use Doctrine\DBAL\Types\Type; use Doctrine\DBAL\Types\Type;
use const CASE_LOWER; use const CASE_LOWER;
use function array_change_key_case; use function array_change_key_case;
...@@ -27,6 +28,7 @@ use function array_filter; ...@@ -27,6 +28,7 @@ use function array_filter;
use function array_keys; use function array_keys;
use function array_map; use function array_map;
use function array_shift; use function array_shift;
use function assert;
use function explode; use function explode;
use function in_array; use function in_array;
use function join; use function join;
...@@ -134,6 +136,8 @@ class PostgreSqlSchemaManager extends AbstractSchemaManager ...@@ -134,6 +136,8 @@ class PostgreSqlSchemaManager extends AbstractSchemaManager
throw $exception; throw $exception;
} }
assert($this->_platform instanceof PostgreSqlPlatform);
$this->_execSql( $this->_execSql(
[ [
$this->_platform->getDisallowDatabaseConnectionsSQL($database), $this->_platform->getDisallowDatabaseConnectionsSQL($database),
...@@ -150,8 +154,11 @@ class PostgreSqlSchemaManager extends AbstractSchemaManager ...@@ -150,8 +154,11 @@ class PostgreSqlSchemaManager extends AbstractSchemaManager
*/ */
protected function _getPortableTableForeignKeyDefinition($tableForeignKey) protected function _getPortableTableForeignKeyDefinition($tableForeignKey)
{ {
$onUpdate = null; $onUpdate = null;
$onDelete = null; $onDelete = null;
$localColumns = null;
$foreignColumns = null;
$foreignTable = null;
if (preg_match('(ON UPDATE ([a-zA-Z0-9]+( (NULL|ACTION|DEFAULT))?))', $tableForeignKey['condef'], $match)) { if (preg_match('(ON UPDATE ([a-zA-Z0-9]+( (NULL|ACTION|DEFAULT))?))', $tableForeignKey['condef'], $match)) {
$onUpdate = $match[1]; $onUpdate = $match[1];
...@@ -307,7 +314,9 @@ class PostgreSqlSchemaManager extends AbstractSchemaManager ...@@ -307,7 +314,9 @@ class PostgreSqlSchemaManager extends AbstractSchemaManager
} }
if ( ! isset($sequence['increment_by'], $sequence['min_value'])) { if ( ! isset($sequence['increment_by'], $sequence['min_value'])) {
/** @var string[] $data */
$data = $this->_conn->fetchAssoc('SELECT min_value, increment_by FROM ' . $this->_platform->quoteIdentifier($sequenceName)); $data = $this->_conn->fetchAssoc('SELECT min_value, increment_by FROM ' . $this->_platform->quoteIdentifier($sequenceName));
$sequence += $data; $sequence += $data;
} }
......
...@@ -19,7 +19,9 @@ ...@@ -19,7 +19,9 @@
namespace Doctrine\DBAL\Schema; namespace Doctrine\DBAL\Schema;
use Doctrine\DBAL\Platforms\SQLAnywherePlatform;
use Doctrine\DBAL\Types\Type; use Doctrine\DBAL\Types\Type;
use function assert;
use function preg_replace; use function preg_replace;
/** /**
...@@ -68,6 +70,7 @@ class SQLAnywhereSchemaManager extends AbstractSchemaManager ...@@ -68,6 +70,7 @@ class SQLAnywhereSchemaManager extends AbstractSchemaManager
*/ */
public function startDatabase($database) public function startDatabase($database)
{ {
assert($this->_platform instanceof SQLAnywherePlatform);
$this->_execSql($this->_platform->getStartDatabaseSQL($database)); $this->_execSql($this->_platform->getStartDatabaseSQL($database));
} }
...@@ -78,6 +81,7 @@ class SQLAnywhereSchemaManager extends AbstractSchemaManager ...@@ -78,6 +81,7 @@ class SQLAnywhereSchemaManager extends AbstractSchemaManager
*/ */
public function stopDatabase($database) public function stopDatabase($database)
{ {
assert($this->_platform instanceof SQLAnywherePlatform);
$this->_execSql($this->_platform->getStopDatabaseSQL($database)); $this->_execSql($this->_platform->getStopDatabaseSQL($database));
} }
......
...@@ -76,7 +76,7 @@ class Schema extends AbstractAsset ...@@ -76,7 +76,7 @@ class Schema extends AbstractAsset
protected $_sequences = []; protected $_sequences = [];
/** /**
* @var \Doctrine\DBAL\Schema\SchemaConfig * @var SchemaConfig
*/ */
protected $_schemaConfig = false; protected $_schemaConfig = false;
......
...@@ -77,7 +77,7 @@ class Table extends AbstractAsset ...@@ -77,7 +77,7 @@ class Table extends AbstractAsset
protected $_options = []; protected $_options = [];
/** /**
* @var SchemaConfig * @var SchemaConfig|null
*/ */
protected $_schemaConfig = null; protected $_schemaConfig = null;
......
...@@ -99,7 +99,7 @@ class TableDiff ...@@ -99,7 +99,7 @@ class TableDiff
/** /**
* All added foreign key definitions * All added foreign key definitions
* *
* @var \Doctrine\DBAL\Schema\ForeignKeyConstraint[] * @var ForeignKeyConstraint[]
*/ */
public $addedForeignKeys = []; public $addedForeignKeys = [];
...@@ -113,7 +113,7 @@ class TableDiff ...@@ -113,7 +113,7 @@ class TableDiff
/** /**
* All removed foreign keys * All removed foreign keys
* *
* @var \Doctrine\DBAL\Schema\ForeignKeyConstraint[] * @var ForeignKeyConstraint[]|string[]
*/ */
public $removedForeignKeys = []; public $removedForeignKeys = [];
...@@ -161,7 +161,7 @@ class TableDiff ...@@ -161,7 +161,7 @@ class TableDiff
} }
/** /**
* @return \Doctrine\DBAL\Schema\Identifier|boolean * @return Identifier|string|bool
*/ */
public function getNewName() public function getNewName()
{ {
......
...@@ -22,6 +22,7 @@ namespace Doctrine\DBAL\Sharding; ...@@ -22,6 +22,7 @@ namespace Doctrine\DBAL\Sharding;
use Doctrine\Common\EventManager; use Doctrine\Common\EventManager;
use Doctrine\DBAL\Configuration; use Doctrine\DBAL\Configuration;
use Doctrine\DBAL\Connection; use Doctrine\DBAL\Connection;
use Doctrine\DBAL\Driver\Connection as DriverConnection;
use Doctrine\DBAL\Driver; use Doctrine\DBAL\Driver;
use Doctrine\DBAL\Event\ConnectionEventArgs; use Doctrine\DBAL\Event\ConnectionEventArgs;
use Doctrine\DBAL\Events; use Doctrine\DBAL\Events;
...@@ -68,19 +69,19 @@ use function is_string; ...@@ -68,19 +69,19 @@ use function is_string;
class PoolingShardConnection extends Connection class PoolingShardConnection extends Connection
{ {
/** /**
* @var array * @var DriverConnection[]
*/ */
private $activeConnections; private $activeConnections = [];
/** /**
* @var int * @var int|null
*/ */
private $activeShardId; private $activeShardId;
/** /**
* @var array * @var mixed[]
*/ */
private $connections; private $connectionParameters = [];
/** /**
* @param array $params * @param array $params
...@@ -108,7 +109,7 @@ class PoolingShardConnection extends Connection ...@@ -108,7 +109,7 @@ class PoolingShardConnection extends Connection
throw new \InvalidArgumentException("The 'shardChoser' configuration is not a valid instance of Doctrine\DBAL\Sharding\ShardChoser\ShardChoser"); throw new \InvalidArgumentException("The 'shardChoser' configuration is not a valid instance of Doctrine\DBAL\Sharding\ShardChoser\ShardChoser");
} }
$this->connections[0] = array_merge($params, $params['global']); $this->connectionParameters[0] = array_merge($params, $params['global']);
foreach ($params['shards'] as $shard) { foreach ($params['shards'] as $shard) {
if ( ! isset($shard['id'])) { if ( ! isset($shard['id'])) {
...@@ -119,11 +120,11 @@ class PoolingShardConnection extends Connection ...@@ -119,11 +120,11 @@ class PoolingShardConnection extends Connection
throw new \InvalidArgumentException("Shard Id has to be a non-negative number."); throw new \InvalidArgumentException("Shard Id has to be a non-negative number.");
} }
if (isset($this->connections[$shard['id']])) { if (isset($this->connectionParameters[$shard['id']])) {
throw new \InvalidArgumentException("Shard " . $shard['id'] . " is duplicated in the configuration."); throw new \InvalidArgumentException("Shard " . $shard['id'] . " is duplicated in the configuration.");
} }
$this->connections[$shard['id']] = array_merge($params, $shard); $this->connectionParameters[$shard['id']] = array_merge($params, $shard);
} }
parent::__construct($params, $driver, $config, $eventManager); parent::__construct($params, $driver, $config, $eventManager);
...@@ -144,7 +145,7 @@ class PoolingShardConnection extends Connection ...@@ -144,7 +145,7 @@ class PoolingShardConnection extends Connection
*/ */
public function getParams() public function getParams()
{ {
return $this->activeShardId ? $this->connections[$this->activeShardId] : $this->connections[0]; return $this->activeShardId ? $this->connectionParameters[$this->activeShardId] : $this->connectionParameters[0];
} }
/** /**
...@@ -241,7 +242,7 @@ class PoolingShardConnection extends Connection ...@@ -241,7 +242,7 @@ class PoolingShardConnection extends Connection
$driverOptions = $params['driverOptions'] ?? []; $driverOptions = $params['driverOptions'] ?? [];
$connectionParams = $this->connections[$shardId]; $connectionParams = $this->connectionParameters[$shardId];
$user = $connectionParams['user'] ?? null; $user = $connectionParams['user'] ?? null;
$password = $connectionParams['password'] ?? null; $password = $connectionParams['password'] ?? null;
...@@ -269,7 +270,7 @@ class PoolingShardConnection extends Connection ...@@ -269,7 +270,7 @@ class PoolingShardConnection extends Connection
public function close() public function close()
{ {
$this->_conn = null; $this->_conn = null;
$this->activeConnections = null; $this->activeConnections = [];
$this->activeShardId = null; $this->activeShardId = null;
} }
} }
...@@ -32,10 +32,10 @@ interface ShardChoser ...@@ -32,10 +32,10 @@ interface ShardChoser
/** /**
* Picks a shard for the given distribution value. * Picks a shard for the given distribution value.
* *
* @param string $distributionValue * @param string|int $distributionValue
* @param \Doctrine\DBAL\Sharding\PoolingShardConnection $conn * @param \Doctrine\DBAL\Sharding\PoolingShardConnection $conn
* *
* @return int * @return string|int
*/ */
function pickShard($distributionValue, PoolingShardConnection $conn); function pickShard($distributionValue, PoolingShardConnection $conn);
} }
...@@ -211,7 +211,7 @@ class Statement implements \IteratorAggregate, DriverStatement ...@@ -211,7 +211,7 @@ class Statement implements \IteratorAggregate, DriverStatement
/** /**
* Fetches the SQLSTATE associated with the last operation on the statement. * Fetches the SQLSTATE associated with the last operation on the statement.
* *
* @return string * @return string|int|bool
*/ */
public function errorCode() public function errorCode()
{ {
......
...@@ -19,11 +19,13 @@ ...@@ -19,11 +19,13 @@
namespace Doctrine\DBAL\Tools\Console\Command; namespace Doctrine\DBAL\Tools\Console\Command;
use Doctrine\DBAL\Driver\PDOStatement;
use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
use const PHP_EOL; use const PHP_EOL;
use function assert;
use function file_exists; use function file_exists;
use function file_get_contents; use function file_get_contents;
use function is_readable; use function is_readable;
...@@ -97,6 +99,8 @@ EOT ...@@ -97,6 +99,8 @@ EOT
$lines = 0; $lines = 0;
$stmt = $conn->prepare($sql); $stmt = $conn->prepare($sql);
assert($stmt instanceof PDOStatement);
$stmt->execute(); $stmt->execute();
do { do {
......
parameters:
level: 3
paths:
- %currentWorkingDirectory%/lib
autoload_files:
- %currentWorkingDirectory%/tests/phpstan-polyfill.php
reportUnmatchedIgnoredErrors: false
ignoreErrors:
# extension not available
- '~^(Used )?(Function|Constant) sasql_\S+ not found\.\z~i'
# removing it would be BC break
- '~^Constructor of class Doctrine\\DBAL\\Schema\\Table has an unused parameter \$idGeneratorType\.\z~'
# changing these would be a BC break, to be done in next major
- '~^Method Doctrine\\DBAL\\Driver\\IBMDB2\\DB2Connection::exec\(\) should return int but returns bool\.\z~'
- '~^Method Doctrine\\DBAL\\Query\\QueryBuilder::execute\(\) should return Doctrine\\DBAL\\Driver\\Statement\|int but returns Doctrine\\DBAL\\Driver\\ResultStatement\.\z~'
- '~^Property Doctrine\\DBAL\\Schema\\Table::\$_primaryKeyName \(string\) does not accept (default value of type )?false\.\z~'
- '~^Property Doctrine\\DBAL\\Schema\\Schema::\$_schemaConfig \(Doctrine\\DBAL\\Schema\\SchemaConfig\) does not accept default value of type false\.\z~'
- '~^Method Doctrine\\DBAL\\Schema\\ForeignKeyConstraint::onEvent\(\) should return string\|null but returns false\.\z~'
- '~^Method Doctrine\\DBAL\\Schema\\(Oracle|PostgreSql|SQLServer)SchemaManager::_getPortableTableDefinition\(\) should return array but returns string\.\z~'
- '~^Method Doctrine\\DBAL\\Platforms\\(|SQLAnywhere|Sqlite)Platform::_getTransactionIsolationLevelSQL\(\) should return string but returns int\.\z~'
- '~^Method Doctrine\\DBAL\\Driver\\OCI8\\OCI8Connection::lastInsertId\(\) should return string but returns (int|false)\.\z~'
- '~^Method Doctrine\\DBAL\\Driver\\SQLSrv\\SQLSrvConnection::errorCode\(\) should return string\|null but returns false\.\z~'
# actually OCI-Lob - not even a valid class name...
- '~^Call to an undefined method object::writeTemporary\(\)\.\z~'
# http://php.net/manual/en/pdo.sqlitecreatefunction.php
- '~^Call to an undefined method Doctrine\\DBAL\\Driver\\PDOConnection::sqliteCreateFunction\(\)\.\z~'
# legacy variadic-like signature
- '~^Method Doctrine\\DBAL\\Driver\\Connection::query\(\) invoked with \d+ parameters?, 0 required\.\z~'
# some drivers actually do accept 2nd parameter...
- '~^Method Doctrine\\DBAL\\Platforms\\AbstractPlatform::getListTableForeignKeysSQL\(\) invoked with \d+ parameters, 1 required\.\z~'
# legacy remnants from doctrine/common
- '~^Class Doctrine\\Common\\(Collections\\Collection|Persistence\\Proxy) not found\.\z~'
- '~^.+ on an unknown class Doctrine\\Common\\(Collections\\Collection|Persistence\\Proxy)\.\z~'
# inheritance variance inference issue
- '~^Method Doctrine\\DBAL\\Driver\\PDOConnection::\w+\(\) should return Doctrine\\DBAL\\Driver\\Statement but returns PDOStatement\.\z~'
# may not exist when pdo_sqlsrv is not loaded
- '~^Access to undefined constant PDO::SQLSRV_ENCODING_BINARY\.\z~'
<?php
declare(strict_types=1);
(function () : void {
foreach (['ibm_db2', 'mysqli', 'oci8', 'sqlsrv', 'pgsql'] as $extension) {
if (extension_loaded($extension)) {
continue;
}
require sprintf(__DIR__ . '/../vendor/jetbrains/phpstorm-stubs/%1$s/%1$s.php', $extension);
}
})();
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment