From 1f1d7c4458b204b28f67cadb4964e8ce9788b72b Mon Sep 17 00:00:00 2001 From: Jay Klehr Date: Fri, 23 May 2025 12:46:44 -0600 Subject: [PATCH 1/2] PHP 8.4 --- .github/workflows/build.yml | 4 +- composer.json | 10 +- lib/Doctrine/Cli.php | 2 +- lib/Doctrine/Collection.php | 6 +- lib/Doctrine/Connection/Mssql.php | 2 +- lib/Doctrine/Locator.php | 2 +- lib/Doctrine/Query.php | 2 +- lib/Doctrine/Query/Abstract.php | 4 +- lib/Doctrine/Query/Part.php | 2 +- lib/Doctrine/RawSql.php | 2 +- lib/Doctrine/Record.php | 8 +- lib/Doctrine/Table.php | 4 +- lib/Doctrine/Transaction.php | 2 - lib/Doctrine/Transaction/Mysql.php | 2 +- lib/Doctrine/Tree/Interface.php | 2 +- lib/Doctrine/Tree/NestedSet.php | 2 +- phpstan-baseline.php | 2185 +++++++++++++++----------- phpstan-php7.php | 39 - phpstan-php8.php | 34 - phpstan-php84.php | 15 + phpstan.neon | 15 +- psalm-baseline.xml | 2194 ++++++++++++++++++++++++++- tests/DoctrineTest/GroupTest.php | 2 +- tests/DoctrineTest/UnitTestCase.php | 2 +- tests/bootstrap.php | 2 +- 25 files changed, 3497 insertions(+), 1047 deletions(-) delete mode 100644 phpstan-php7.php delete mode 100644 phpstan-php8.php create mode 100644 phpstan-php84.php diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d5f7a7566..1380203d5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,7 +13,7 @@ jobs: fail-fast: false matrix: operating-system: [ubuntu-latest] - php-versions: ["7.4", "8.0", "8.1", "8.2", "8.3"] + php-versions: ["8.1", "8.2", "8.3", "8.4"] composer-args: ["", "--prefer-lowest"] runs-on: ${{ matrix.operating-system }} steps: @@ -40,7 +40,7 @@ jobs: - name: Test run: composer test-with-coverage - name: Upload Coverage - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v5 env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} with: diff --git a/composer.json b/composer.json index 8346d16e0..a5d09e2c9 100644 --- a/composer.json +++ b/composer.json @@ -37,15 +37,15 @@ } ], "require": { - "php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0", + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0", "ext-pdo": "*", - "symfony/yaml": "^3.4 || ^4.1 || ^5.0 || ^6.0 || ^7.0" + "symfony/yaml": "^5.0 || ^6.0 || ^7.0" }, "require-dev": { "phpunit/php-code-coverage": "^9.1.10", - "friendsofphp/php-cs-fixer": "^3.51.0", - "phpstan/phpstan": "1.11.3", - "vimeo/psalm": "5.24.0" + "friendsofphp/php-cs-fixer": "^3.75.0", + "phpstan/phpstan": "2.1.17", + "vimeo/psalm": "6.11.0" }, "scripts": { "test": "cd tests && php run.php", diff --git a/lib/Doctrine/Cli.php b/lib/Doctrine/Cli.php index 5684bf2a3..1c4165e4e 100644 --- a/lib/Doctrine/Cli.php +++ b/lib/Doctrine/Cli.php @@ -74,7 +74,7 @@ class Doctrine_Cli * @param array $config * @param Doctrine_Cli_Formatter|null $formatter Doctrine_Cli_Formatter */ - public function __construct(array $config = array(), Doctrine_Cli_Formatter $formatter = null) + public function __construct(array $config = array(), ?Doctrine_Cli_Formatter $formatter = null) { $this->setConfig($config); $this->setFormatter($formatter ? $formatter : new Doctrine_Cli_AnsiColorFormatter()); diff --git a/lib/Doctrine/Collection.php b/lib/Doctrine/Collection.php index 00cf41e52..e36c74bbc 100644 --- a/lib/Doctrine/Collection.php +++ b/lib/Doctrine/Collection.php @@ -932,7 +932,7 @@ protected function compareRecords($a, $b) * @param bool $processDiff * @return $this */ - public function save(Doctrine_Connection $conn = null, $processDiff = true) + public function save(?Doctrine_Connection $conn = null, $processDiff = true) { if ($conn == null) { $conn = $this->_table->getConnection(); @@ -968,7 +968,7 @@ public function save(Doctrine_Connection $conn = null, $processDiff = true) * @param bool $processDiff * @return $this */ - public function replace(Doctrine_Connection $conn = null, $processDiff = true) + public function replace(?Doctrine_Connection $conn = null, $processDiff = true) { if ($conn == null) { $conn = $this->_table->getConnection(); @@ -1002,7 +1002,7 @@ public function replace(Doctrine_Connection $conn = null, $processDiff = true) * @param bool $clearColl * @return $this */ - public function delete(Doctrine_Connection $conn = null, $clearColl = true) + public function delete(?Doctrine_Connection $conn = null, $clearColl = true) { if ($conn == null) { $conn = $this->_table->getConnection(); diff --git a/lib/Doctrine/Connection/Mssql.php b/lib/Doctrine/Connection/Mssql.php index 67fc78369..2e9ea654c 100644 --- a/lib/Doctrine/Connection/Mssql.php +++ b/lib/Doctrine/Connection/Mssql.php @@ -142,7 +142,7 @@ public function quoteIdentifier($str, $checkOption = false) * @link http://lists.bestpractical.com/pipermail/rt-devel/2005-June/007339.html * @return string */ - public function modifyLimitQuery($query, $limit = false, $offset = false, $isManip = false, $isSubQuery = false, Doctrine_Query $queryOrigin = null) + public function modifyLimitQuery($query, $limit = false, $offset = false, $isManip = false, $isSubQuery = false, ?Doctrine_Query $queryOrigin = null) { if ($limit === false || !($limit > 0)) { return $query; diff --git a/lib/Doctrine/Locator.php b/lib/Doctrine/Locator.php index 7f16ba26a..9d90d6f33 100644 --- a/lib/Doctrine/Locator.php +++ b/lib/Doctrine/Locator.php @@ -56,7 +56,7 @@ class Doctrine_Locator implements Countable, IteratorAggregate * @param array $defaults * @return void */ - public function __construct(array $defaults = null) + public function __construct(?array $defaults = null) { if (null !== $defaults) { foreach ($defaults as $name => $resource) { diff --git a/lib/Doctrine/Query.php b/lib/Doctrine/Query.php index 95eda151d..24c6c4575 100644 --- a/lib/Doctrine/Query.php +++ b/lib/Doctrine/Query.php @@ -2251,7 +2251,7 @@ public function query($query, $params = array(), $hydrationMode = null) * * @return Doctrine_Query Copy of the Doctrine_Query instance. */ - public function copy(Doctrine_Query $query = null) + public function copy(?Doctrine_Query $query = null) { if (! $query) { $query = $this; diff --git a/lib/Doctrine/Query/Abstract.php b/lib/Doctrine/Query/Abstract.php index 5b2afeaf9..2550c7627 100644 --- a/lib/Doctrine/Query/Abstract.php +++ b/lib/Doctrine/Query/Abstract.php @@ -298,8 +298,8 @@ abstract class Doctrine_Query_Abstract * @param Doctrine_Hydrator_Abstract|null $hydrator The hydrator that will be used for generating result sets. */ public function __construct( - Doctrine_Connection $connection = null, - Doctrine_Hydrator_Abstract $hydrator = null + ?Doctrine_Connection $connection = null, + ?Doctrine_Hydrator_Abstract $hydrator = null ) { if ($connection === null) { $connection = Doctrine_Manager::getInstance()->getCurrentConnection(); diff --git a/lib/Doctrine/Query/Part.php b/lib/Doctrine/Query/Part.php index 33eeb7287..bc4b988a6 100644 --- a/lib/Doctrine/Query/Part.php +++ b/lib/Doctrine/Query/Part.php @@ -45,7 +45,7 @@ abstract class Doctrine_Query_Part /** * @param Doctrine_Query $query the query object associated with this parser */ - public function __construct($query, Doctrine_Query_Tokenizer $tokenizer = null) + public function __construct($query, ?Doctrine_Query_Tokenizer $tokenizer = null) { $this->query = $query; diff --git a/lib/Doctrine/RawSql.php b/lib/Doctrine/RawSql.php index 4c22fe848..e07b4d257 100644 --- a/lib/Doctrine/RawSql.php +++ b/lib/Doctrine/RawSql.php @@ -55,7 +55,7 @@ class Doctrine_RawSql extends Doctrine_Query_Abstract * @param Doctrine_Connection $connection The connection object the query will use. * @param Doctrine_Hydrator_Abstract $hydrator The hydrator that will be used for generating result sets. */ - public function __construct(Doctrine_Connection $connection = null, Doctrine_Hydrator_Abstract $hydrator = null) + public function __construct(?Doctrine_Connection $connection = null, ?Doctrine_Hydrator_Abstract $hydrator = null) { parent::__construct($connection, $hydrator); diff --git a/lib/Doctrine/Record.php b/lib/Doctrine/Record.php index 15c8a7512..324047d0d 100644 --- a/lib/Doctrine/Record.php +++ b/lib/Doctrine/Record.php @@ -1846,7 +1846,7 @@ public function resetPendingUnlinks() * @throws Exception if record is not valid and validation is active * @return void */ - public function save(Doctrine_Connection $conn = null) + public function save(?Doctrine_Connection $conn = null) { if ($conn === null) { $conn = $this->_table->getConnection(); @@ -1863,7 +1863,7 @@ public function save(Doctrine_Connection $conn = null) * @param Doctrine_Connection $conn optional connection parameter * @return bool TRUE if the record was saved sucessfully without errors, FALSE otherwise. */ - public function trySave(Doctrine_Connection $conn = null) + public function trySave(?Doctrine_Connection $conn = null) { try { $this->save($conn); @@ -1890,7 +1890,7 @@ public function trySave(Doctrine_Connection $conn = null) * @throws Doctrine_Connection_Exception if something fails at database level * @return bool */ - public function replace(Doctrine_Connection $conn = null) + public function replace(?Doctrine_Connection $conn = null) { if ($conn === null) { $conn = $this->_table->getConnection(); @@ -2339,7 +2339,7 @@ public function getIterator() * * @return boolean true if successful */ - public function delete(Doctrine_Connection $conn = null) + public function delete(?Doctrine_Connection $conn = null) { if ($conn == null) { $conn = $this->_table->getConnection(); diff --git a/lib/Doctrine/Table.php b/lib/Doctrine/Table.php index 3e5d8db3a..691bb4632 100644 --- a/lib/Doctrine/Table.php +++ b/lib/Doctrine/Table.php @@ -2068,7 +2068,7 @@ public function enumIndex($fieldName, $value) * @param Doctrine_Record $record record to consider; if it does not exists, it is created * @return Doctrine_Validator_ErrorStack $errorStack */ - public function validateField($fieldName, $value, Doctrine_Record $record = null) + public function validateField($fieldName, $value, ?Doctrine_Record $record = null) { if ($record instanceof Doctrine_Record) { $errorStack = $record->getErrorStack(); @@ -2221,7 +2221,7 @@ public function removeColumn($fieldName) * * @return array numeric array */ - public function getColumnNames(array $fieldNames = null) + public function getColumnNames(?array $fieldNames = null) { if ($fieldNames === null) { return array_keys($this->_columns); diff --git a/lib/Doctrine/Transaction.php b/lib/Doctrine/Transaction.php index 5b2e46998..8bc100ff4 100644 --- a/lib/Doctrine/Transaction.php +++ b/lib/Doctrine/Transaction.php @@ -490,7 +490,6 @@ private function removeSavePoints($savepoint) * SERIALIZABLE (prevents phantom reads) * * @throws Doctrine_Transaction_Exception if the feature is not supported by the driver - * @throws PDOException if something fails at the PDO level * @return PDOStatement|Doctrine_Adapter_Statement_Interface */ public function setIsolation($isolation) @@ -507,7 +506,6 @@ public function setIsolation($isolation) * but not fetching it * * @throws Doctrine_Transaction_Exception if the feature is not supported by the driver - * @throws PDOException if something fails at the PDO level * @return string returns the current session transaction isolation level */ public function getIsolation() diff --git a/lib/Doctrine/Transaction/Mysql.php b/lib/Doctrine/Transaction/Mysql.php index fc5154836..fada9d022 100644 --- a/lib/Doctrine/Transaction/Mysql.php +++ b/lib/Doctrine/Transaction/Mysql.php @@ -129,7 +129,7 @@ public function getIsolation() { // Mysql 5.7.20 added `@@transaction_isolation` as an alias for `@@tx_isolation` // Mysql 8.0.0 removes `@@tx_isolation` - if (version_compare($this->mysqlVersion, '5.7.20', '>=')) { + if (version_compare((string) $this->mysqlVersion, '5.7.20', '>=')) { return $this->conn->fetchOne('SELECT @@transaction_isolation'); } diff --git a/lib/Doctrine/Tree/Interface.php b/lib/Doctrine/Tree/Interface.php index e1d249cb9..8abdf2c51 100644 --- a/lib/Doctrine/Tree/Interface.php +++ b/lib/Doctrine/Tree/Interface.php @@ -38,7 +38,7 @@ interface Doctrine_Tree_Interface * @param Doctrine_Record $record instance of Doctrine_Record * @return Doctrine_Record */ - public function createRoot(Doctrine_Record $record = null); + public function createRoot(?Doctrine_Record $record = null); /** * returns root node diff --git a/lib/Doctrine/Tree/NestedSet.php b/lib/Doctrine/Tree/NestedSet.php index 65d94dafd..6d0af6db1 100644 --- a/lib/Doctrine/Tree/NestedSet.php +++ b/lib/Doctrine/Tree/NestedSet.php @@ -93,7 +93,7 @@ public function setTableDefinition() * @param Doctrine_Record $record instance of Doctrine_Record * @return Doctrine_Record */ - public function createRoot(Doctrine_Record $record = null) + public function createRoot(?Doctrine_Record $record = null) { if ($this->getAttribute('hasManyRoots')) { if (! $record || (! $record->exists() && ! $record->getNode()->getRootValue()) diff --git a/phpstan-baseline.php b/phpstan-baseline.php index ae985b0df..d0650e0f3 100644 --- a/phpstan-baseline.php +++ b/phpstan-baseline.php @@ -1,920 +1,1271 @@ '#^Cannot access offset \'code\' on array\\|false\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Adapter/Oracle.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot access offset \'message\' on array\\|false\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Adapter/Oracle.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$connection of function oci_commit expects resource, resource\\|false given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Adapter/Oracle.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$connection of function oci_rollback expects resource, resource\\|false given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Adapter/Oracle.php', -); -$ignoreErrors[] = array( - 'message' => '#^Return type \\(array\\) of method Doctrine_Adapter_Statement_Mock\\:\\:errorCode\\(\\) should be compatible with return type \\(string\\) of method Doctrine_Adapter_Statement_Interface\\:\\:errorCode\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Mock.php', -); -$ignoreErrors[] = array( - 'message' => '#^Return type \\(int\\) of method Doctrine_Adapter_Statement_Mock\\:\\:fetchColumn\\(\\) should be compatible with return type \\(string\\) of method Doctrine_Adapter_Statement_Interface\\:\\:fetchColumn\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Mock.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot access offset \'code\' on array\\|false\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Oracle.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot access offset \'message\' on array\\|false\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Oracle.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot access offset \'sqltext\' on array\\|false\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Oracle.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$connection of function oci_parse expects resource, resource\\|false given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Oracle.php', -); -$ignoreErrors[] = array( - 'message' => '#^Return type \\(string\\) of method Doctrine_Adapter_Statement_Oracle\\:\\:errorInfo\\(\\) should be compatible with return type \\(array\\) of method Doctrine_Adapter_Statement_Interface\\:\\:errorInfo\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Oracle.php', -); -$ignoreErrors[] = array( - 'message' => '#^Return type \\(void\\) of method Doctrine_Adapter_Statement_Oracle\\:\\:bindValue\\(\\) should be compatible with return type \\(bool\\) of method Doctrine_Adapter_Statement_Interface\\:\\:bindValue\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Oracle.php', -); -$ignoreErrors[] = array( - 'message' => '#^Return type \\(void\\) of method Doctrine_Adapter_Statement_Oracle\\:\\:setAttribute\\(\\) should be compatible with return type \\(bool\\) of method Doctrine_Adapter_Statement_Interface\\:\\:setAttribute\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Oracle.php', -); -$ignoreErrors[] = array( - 'message' => '#^Return type \\(string\\) of method Doctrine_AuditLog_Listener_Microtime\\:\\:_getInitialVersion\\(\\) should be compatible with return type \\(int\\) of method Doctrine_AuditLog_Listener\\:\\:_getInitialVersion\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/AuditLog/Listener/Microtime.php', -); -$ignoreErrors[] = array( - 'message' => '#^Return type \\(string\\) of method Doctrine_AuditLog_Listener_Microtime\\:\\:_getNextVersion\\(\\) should be compatible with return type \\(int\\|null\\) of method Doctrine_AuditLog_Listener\\:\\:_getNextVersion\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/AuditLog/Listener/Microtime.php', -); -$ignoreErrors[] = array( - 'message' => '#^Return type \\(int\\) of method Doctrine_Cache_Db\\:\\:_doDelete\\(\\) should be compatible with return type \\(bool\\) of method Doctrine_Cache_Driver\\:\\:_doDelete\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Cache/Db.php', -); -$ignoreErrors[] = array( - 'message' => '#^Return type \\(int\\) of method Doctrine_Cache_Db\\:\\:_doSave\\(\\) should be compatible with return type \\(bool\\) of method Doctrine_Cache_Driver\\:\\:_doSave\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Cache/Db.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#4 \\$expire of method MemcachePool\\:\\:set\\(\\) expects int, int\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Cache/Memcache.php', -); -$ignoreErrors[] = array( - 'message' => '#^Constant XC_TYPE_VAR not found\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Cache/Xcache.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method get\\(\\) on Doctrine_Record\\|null\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Collection.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method getRelations\\(\\) on array\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Collection.php', -); -$ignoreErrors[] = array( - 'message' => '#^Possibly invalid array key type array\\|string\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Collection.php', -); -$ignoreErrors[] = array( - 'message' => '#^Return type \\(Doctrine_Collection_Iterator_Expandable\\) of method Doctrine_Collection_Offset\\:\\:getIterator\\(\\) should be compatible with return type \\(ArrayIterator\\) of method Doctrine_Collection\\:\\:getIterator\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Collection/Offset.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$filename of function file expects string, string\\|false given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Compiler.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method execute\\(\\) on Doctrine_Connection_Statement\\|null\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method getTableName\\(\\) on array\\|null\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method postConnect\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method postError\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method preConnect\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method preError\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method rowCount\\(\\) on Doctrine_Connection_Statement\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -); -$ignoreErrors[] = array( - 'message' => '#^Method Doctrine_Connection\\:\\:convertBooleans\\(\\) should return array\\|int but returns array\\|bool\\|int\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -); -$ignoreErrors[] = array( - 'message' => '#^Method Doctrine_Connection\\:\\:exec\\(\\) should return int but return statement is missing\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -); -$ignoreErrors[] = array( - 'message' => '#^Method Doctrine_Connection\\:\\:exec\\(\\) should return int but returns int\\|false\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -); -$ignoreErrors[] = array( - 'message' => '#^Method Doctrine_Connection\\:\\:execute\\(\\) should return Doctrine_Adapter_Statement_Interface\\|PDOStatement but return statement is missing\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -); -$ignoreErrors[] = array( - 'message' => '#^Method Doctrine_Connection\\:\\:execute\\(\\) should return Doctrine_Adapter_Statement_Interface\\|PDOStatement but returns Doctrine_Adapter_Statement_Interface\\|PDOStatement\\|false\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -); -$ignoreErrors[] = array( - 'message' => '#^Method Doctrine_Connection\\:\\:execute\\(\\) should return Doctrine_Adapter_Statement_Interface\\|PDOStatement but returns Doctrine_Connection_Statement\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -); -$ignoreErrors[] = array( - 'message' => '#^Method Doctrine_Connection\\:\\:prepare\\(\\) should return Doctrine_Connection_Statement\\|null but return statement is missing\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#2 \\$stmt of class Doctrine_Connection_Statement constructor expects Doctrine_Adapter_Statement_Interface\\|PDOStatement, Doctrine_Adapter_Statement_Interface\\|PDOStatement\\|false given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot access offset \'type\' on array\\|false\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method getDqlPart\\(\\) on Doctrine_Query\\|null\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method getExpressionOwner\\(\\) on Doctrine_Query\\|null\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method getQueryComponent\\(\\) on Doctrine_Query\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method getSqlQueryPart\\(\\) on Doctrine_Query\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method getSqlTableAlias\\(\\) on Doctrine_Query\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#3 \\$subject of function preg_replace expects array\\|string, string\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#3 \\$subject of function preg_replace_callback expects array\\|string, string\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', -); -$ignoreErrors[] = array( - 'message' => '#^Offset 2 does not exist on array\\{\\}\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Pgsql.php', -); -$ignoreErrors[] = array( - 'message' => '#^Offset 3 does not exist on array\\{\\}\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Pgsql.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method postFetch\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Statement.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method postFetchAll\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Statement.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method postStmtExecute\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Statement.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method preFetch\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Statement.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method preFetchAll\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Statement.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method preStmtExecute\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Statement.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#2 \\$arg1 \\(string\\) of method Doctrine_Connection_Statement\\:\\:setFetchMode\\(\\) should be compatible with parameter \\$arg1 \\(int\\) of method Doctrine_Adapter_Statement_Interface\\:\\:setFetchMode\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Statement.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method postDelete\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/UnitOfWork.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method preDelete\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/UnitOfWork.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$table of method Doctrine_Sequence\\:\\:lastInsertId\\(\\) expects string\\|null, array\\|float\\|int\\|string\\|false\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/UnitOfWork.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#2 \\$offset of function array_splice expects int, int\\|false given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Connection/UnitOfWork.php', -); -$ignoreErrors[] = array( - 'message' => '#^Possibly invalid array key type array\\|string\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/UnitOfWork.php', -); -$ignoreErrors[] = array( - 'message' => '#^Method Doctrine_Core\\:\\:migrate\\(\\) should return bool\\|int but returns int\\|false\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Core.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$haystack of function strpos expects string, array\\\\|string given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Core.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$string of function substr expects string, array\\\\|string given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Core.php', -); -$ignoreErrors[] = array( - 'message' => '#^Binary operation "\\.\\=" between array\\|string\\|null and non\\-falsy\\-string results in an error\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Data/Export.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$componentName of static method Doctrine_Core\\:\\:getTable\\(\\) expects string, int\\|string given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Data/Export.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$filename of function is_dir expects string, array\\|string\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Data/Export.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$filename of function is_dir expects string, string\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Data/Export.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$filename of function is_file expects string, string\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Data/Export.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$path of function dirname expects string, string\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Data/Export.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$haystack of function strstr expects string, string\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/DataDict/Mssql.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$haystack of function strstr expects string, string\\|false given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/DataDict/Mysql.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$str of method Doctrine_Connection\\:\\:quoteIdentifier\\(\\) expects string, int\\|string given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Export.php', -); -$ignoreErrors[] = array( - 'message' => '#^Return type \\(true\\) of method Doctrine_Export_Mssql\\:\\:createSequence\\(\\) should be compatible with return type \\(Doctrine_Adapter_Statement_Interface\\|PDOStatement\\) of method Doctrine_Export\\:\\:createSequence\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Export/Mssql.php', -); -$ignoreErrors[] = array( - 'message' => '#^Return type \\(bool\\|null\\) of method Doctrine_Export_Mysql\\:\\:createSequence\\(\\) should be compatible with return type \\(Doctrine_Adapter_Statement_Interface\\|PDOStatement\\) of method Doctrine_Export\\:\\:createSequence\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Export/Mysql.php', -); -$ignoreErrors[] = array( - 'message' => '#^Offset \'password\' does not exist on array\\|string\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Export/Oracle.php', -); -$ignoreErrors[] = array( - 'message' => '#^Return type \\(array\\|true\\) of method Doctrine_Export_Pgsql\\:\\:alterTableSql\\(\\) should be compatible with return type \\(string\\) of method Doctrine_Export\\:\\:alterTableSql\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Export/Pgsql.php', -); -$ignoreErrors[] = array( - 'message' => '#^Return type \\(bool\\) of method Doctrine_Export_Sqlite\\:\\:createSequence\\(\\) should be compatible with return type \\(Doctrine_Adapter_Statement_Interface\\|PDOStatement\\) of method Doctrine_Export\\:\\:createSequence\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Export/Sqlite.php', -); -$ignoreErrors[] = array( - 'message' => '#^Return type \\(false\\) of method Doctrine_Export_Sqlite\\:\\:createForeignKey\\(\\) should be compatible with return type \\(Doctrine_Adapter_Statement_Interface\\|PDOStatement\\) of method Doctrine_Export\\:\\:createForeignKey\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Export/Sqlite.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$alias of method Doctrine_Hydrator_Graph\\:\\:_getCustomIndexField\\(\\) expects string, int\\|string\\|null given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Hydrator/Graph.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#4 \\$dqlAlias of method Doctrine_Hydrator_Graph\\:\\:setLastElement\\(\\) expects string, int\\|string\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Hydrator/Graph.php', -); -$ignoreErrors[] = array( - 'message' => '#^Property Doctrine_Hydrator_Graph\\:\\:\\$_rootAlias \\(string\\|null\\) does not accept int\\|string\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Hydrator/Graph.php', -); -$ignoreErrors[] = array( - 'message' => '#^Offset string does not exist on array\\|null\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Hydrator/RecordDriver.php', -); -$ignoreErrors[] = array( - 'message' => '#^Method Doctrine_Hydrator_SingleScalarDriver\\:\\:hydrateResultSet\\(\\) should return array\\|bool\\|float\\|int\\|string but returns float\\|int\\|string\\|true\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Hydrator/SingleScalarDriver.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#3 \\$parent of method Doctrine_Import_Builder\\:\\:innerBuildActAs\\(\\) expects string\\|null, int\\|string\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Import/Builder.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$str of method Doctrine_Connection\\:\\:quoteIdentifier\\(\\) expects string, string\\|null given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Import/Mssql.php', -); -$ignoreErrors[] = array( - 'message' => '#^Return type \\(bool\\|float\\|int\\|string\\|null\\) of method Doctrine_Import_Oracle\\:\\:listDatabases\\(\\) should be compatible with return type \\(array\\) of method Doctrine_Import\\:\\:listDatabases\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Import/Oracle.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot access offset \'className\' on array\\|false\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Import/Schema.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot access offset \'connectionClassName\' on array\\|false\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Import/Schema.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#3 \\$subject of function preg_replace expects array\\|string, string\\|null given\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/lib/Doctrine/Inflector.php', -); -$ignoreErrors[] = array( - 'message' => '#^Argument of an invalid type array\\\\|false supplied for foreach, only iterables are supported\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Lib.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method close\\(\\) on Directory\\|false\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Lib.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method read\\(\\) on Directory\\|false\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Lib.php', -); -$ignoreErrors[] = array( - 'message' => '#^Method Doctrine_Locking_Manager_Pessimistic\\:\\:_getLockingUserIdent\\(\\) never returns float so it can be removed from the return type\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Locking/Manager/Pessimistic.php', -); -$ignoreErrors[] = array( - 'message' => '#^Array has 2 duplicate keys with value 150 \\(\\\\Doctrine_Core\\:\\:ATTR_CACHE, \\\\Doctrine_Core\\:\\:ATTR_RESULT_CACHE\\)\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Manager.php', -); -$ignoreErrors[] = array( - 'message' => '#^Binary operation "\\." between \';charset\\=\' and array\\|string results in an error\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Manager.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$url of function parse_url expects string, string\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Manager.php', -); -$ignoreErrors[] = array( - 'message' => '#^If condition is always false\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Migration.php', -); -$ignoreErrors[] = array( - 'message' => '#^Method Doctrine_Migration\\:\\:migrateDryRun\\(\\) should return bool\\|int but returns int\\|false\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Migration.php', -); -$ignoreErrors[] = array( - 'message' => '#^Binary operation "\\." between array\\|string and string results in an error\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Migration/Diff.php', -); -$ignoreErrors[] = array( - 'message' => '#^Offset \'extension\' does not exist on array\\{dirname\\?\\: string, basename\\: string, extension\\?\\: string, filename\\: string\\}\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Migration/Diff.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method delete\\(\\) on array\\|Doctrine_Collection\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Node/NestedSet.php', -); -$ignoreErrors[] = array( - 'message' => '#^Method Doctrine_Node_NestedSet\\:\\:getChildren\\(\\) should return Doctrine_Collection\\|false but returns array\\|Doctrine_Collection\\|false\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Node/NestedSet.php', -); -$ignoreErrors[] = array( - 'message' => '#^Return type \\(Doctrine_Collection\\|false\\) of method Doctrine_Node_NestedSet\\:\\:getChildren\\(\\) should be compatible with return type \\(array\\) of method Doctrine_Node_Interface\\:\\:getChildren\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Node/NestedSet.php', -); -$ignoreErrors[] = array( - 'message' => '#^Method Doctrine_Parser\\:\\:doLoad\\(\\) should return string but returns string\\|false\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Parser.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$data of method Doctrine_Parser\\:\\:doDump\\(\\) expects string, string\\|false given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Parser/Json.php', -); -$ignoreErrors[] = array( - 'message' => '#^Argument of an invalid type array\\|SimpleXMLElement\\|null supplied for foreach, only iterables are supported\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Parser/Xml.php', -); -$ignoreErrors[] = array( - 'message' => '#^Call to function is_int\\(\\) with array\\|string\\|null will always evaluate to false\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Parser/Xml.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$simpleXml of method Doctrine_Parser_Xml\\:\\:prepareData\\(\\) expects SimpleXMLElement\\|string, SimpleXMLElement\\|false given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Parser/Xml.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot access offset 0 on array\\\\|false\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/lib/Doctrine/Query.php', -); -$ignoreErrors[] = array( - 'message' => '#^Left side of && is always true\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Query.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#2 \\$subject of function preg_match_all expects string, string\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Query.php', -); -$ignoreErrors[] = array( - 'message' => '#^Property Doctrine_Query_Abstract\\:\\:\\$_rootAlias \\(string\\) does not accept int\\|string\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Query.php', -); -$ignoreErrors[] = array( - 'message' => '#^Method Doctrine_Query_Abstract\\:\\:getSqlTableAlias\\(\\) should return string but returns int\\|string\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Query/Abstract.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$customComponent of method Doctrine_Query_Abstract\\:\\:getCachedForm\\(\\) expects array\\|Doctrine_Collection\\|string\\|null, string\\|false given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Query/Abstract.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$query of method Doctrine_Connection\\:\\:exec\\(\\) expects string, array\\|string\\|false given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Query/Abstract.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$query of method Doctrine_Connection\\:\\:execute\\(\\) expects string, array\\|string\\|false given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Query/Abstract.php', -); -$ignoreErrors[] = array( - 'message' => '#^Argument of an invalid type array\\\\|false supplied for foreach, only iterables are supported\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Query/Tokenizer.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$componentAlias of method Doctrine_Query_Abstract\\:\\:getSqlTableAlias\\(\\) expects string, int\\|string\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/RawSql.php', -); -$ignoreErrors[] = array( - 'message' => '#^Property Doctrine_Query_Abstract\\:\\:\\$_rootAlias \\(string\\) does not accept int\\|string\\|null\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/RawSql.php', -); -$ignoreErrors[] = array( - 'message' => '#^Variable \\$fields in empty\\(\\) always exists and is not falsy\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/RawSql.php', -); -$ignoreErrors[] = array( - 'message' => '#^Argument of an invalid type array\\|string supplied for foreach, only iterables are supported\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot access offset \'type\' on array\\|false\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Record.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method postSerialize\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method postUnserialize\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method postValidate\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method preSerialize\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method preUnserialize\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method preValidate\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method setInvoker\\(\\) on string\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record.php', -); -$ignoreErrors[] = array( - 'message' => '#^Method Doctrine_Record\\:\\:copy\\(\\) should return static\\(Doctrine_Record\\) but returns Doctrine_Record\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$array of method Doctrine_Record\\:\\:fromArray\\(\\) expects array, array\\|false given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$array of static method Doctrine_Parser\\:\\:dump\\(\\) expects array, array\\\\|false given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#2 \\$method of function method_exists expects string, string\\|null given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Record.php', -); -$ignoreErrors[] = array( - 'message' => '#^Possibly invalid array key type array\\|string\\.$#', - 'count' => 4, - 'path' => __DIR__ . '/lib/Doctrine/Record.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$listener of method Doctrine_Configurable\\:\\:addRecordListener\\(\\) expects Doctrine_EventListener_Interface\\|Doctrine_Overloadable, Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|Doctrine_Record_Listener_Interface given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record/Abstract.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$listener of method Doctrine_Configurable\\:\\:setRecordListener\\(\\) expects Doctrine_EventListener_Interface\\|Doctrine_Overloadable, Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|Doctrine_Record_Listener_Interface given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record/Abstract.php', -); -$ignoreErrors[] = array( - 'message' => '#^Result of method Doctrine_Table\\:\\:addIndex\\(\\) \\(void\\) is used\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record/Abstract.php', -); -$ignoreErrors[] = array( - 'message' => '#^Return type \\(void\\) of method Doctrine_Record_Filter_Standard\\:\\:filterSet\\(\\) should be compatible with return type \\(Doctrine_Record\\) of method Doctrine_Record_Filter\\:\\:filterSet\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record/Filter/Standard.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#2 \\$name of method Doctrine_Table\\:\\:addGenerator\\(\\) expects string\\|null, class\\-string\\|false given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record/Generator.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method getConnection\\(\\) on array\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Relation.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot access offset \'length\' on array\\|false\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Relation/Parser.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot access offset \'type\' on array\\|false\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Relation/Parser.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method addIndex\\(\\) on array\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Relation/Parser.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method getFieldName\\(\\) on array\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Relation/Parser.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method isIdentifier\\(\\) on array\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Relation/Parser.php', -); -$ignoreErrors[] = array( - 'message' => '#^Access to an undefined property Doctrine_Record\\:\\:\\$field\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Search.php', -); -$ignoreErrors[] = array( - 'message' => '#^Access to an undefined property Doctrine_Record\\:\\:\\$keyword\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Search.php', -); -$ignoreErrors[] = array( - 'message' => '#^Access to an undefined property Doctrine_Record\\:\\:\\$position\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Search.php', -); -$ignoreErrors[] = array( - 'message' => '#^Argument of an invalid type array\\|string supplied for foreach, only iterables are supported\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Search.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot access offset \'analyzer\' on array\\|false\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Search.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$string of static method Doctrine_Inflector\\:\\:unaccent\\(\\) expects string, string\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Search/Analyzer/Standard.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#3 \\$subject of function str_replace expects array\\|string, string\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Search/Analyzer/Standard.php', -); -$ignoreErrors[] = array( - 'message' => '#^Return type \\(array\\) of method Doctrine_Search_Analyzer_Standard\\:\\:analyze\\(\\) should be compatible with return type \\(string\\) of method Doctrine_Search_Analyzer\\:\\:analyze\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Search/Analyzer/Standard.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#3 \\$subject of function preg_replace expects array\\|string, string\\|false given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Search/Analyzer/Utf8.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#3 \\$subject of function str_replace expects array\\|string, string\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Search/Analyzer/Utf8.php', -); -$ignoreErrors[] = array( - 'message' => '#^Return type \\(string\\) of method Doctrine_Sequence_Mssql\\:\\:lastInsertId\\(\\) should be compatible with return type \\(bool\\|int\\) of method Doctrine_Sequence\\:\\:lastInsertId\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Sequence/Mssql.php', -); -$ignoreErrors[] = array( - 'message' => '#^Argument of an invalid type array\\\\|Doctrine_Record\\|int\\|null supplied for foreach, only iterables are supported\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Table.php', -); -$ignoreErrors[] = array( - 'message' => '#^Argument of an invalid type array\\|string supplied for foreach, only iterables are supported\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Table.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$fieldName of method Doctrine_Table\\:\\:hasField\\(\\) expects string, string\\|false given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Table.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$name \\(array\\) of method Doctrine_Table\\:\\:bind\\(\\) should be compatible with parameter \\$name \\(string\\) of method Doctrine_Locator_Injectable\\:\\:bind\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Table.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$value of static method Doctrine_Validator\\:\\:validateLength\\(\\) expects string, array\\\\|Doctrine_Record\\|int\\|string\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Table.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method getConfig\\(\\) on Doctrine_Cli\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Task/GenerateModelsDb.php', -); -$ignoreErrors[] = array( - 'message' => '#^Binary operation "\\." between non\\-falsy\\-string and array\\|int results in an error\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/Sluggable.php', -); -$ignoreErrors[] = array( - 'message' => '#^Binary operation "\\." between non\\-falsy\\-string and array\\|int results in an error\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method addPendingJoinCondition\\(\\) on Doctrine_Query\\|string\\|null\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method addWhere\\(\\) on Doctrine_Query\\|string\\|null\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method contains\\(\\) on Doctrine_Query\\|string\\|null\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method from\\(\\) on Doctrine_Query\\|string\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method getConnection\\(\\) on Doctrine_Query\\|string\\|null\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method isSubquery\\(\\) on Doctrine_Query\\|string\\|null\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method set\\(\\) on Doctrine_Query\\|string\\|null\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', -); -$ignoreErrors[] = array( - 'message' => '#^Left side of && is always true\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method contains\\(\\) on Doctrine_Query\\|string\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/Timestampable.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot call method set\\(\\) on Doctrine_Query\\|string\\|null\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/Timestampable.php', -); -$ignoreErrors[] = array( - 'message' => '#^Return type \\(void\\) of method Doctrine_Transaction_Mssql\\:\\:setIsolation\\(\\) should be compatible with return type \\(Doctrine_Adapter_Statement_Interface\\|PDOStatement\\) of method Doctrine_Transaction\\:\\:setIsolation\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Transaction/Mssql.php', -); -$ignoreErrors[] = array( - 'message' => '#^Return type \\(true\\) of method Doctrine_Transaction_Oracle\\:\\:releaseSavePoint\\(\\) should be compatible with return type \\(Doctrine_Adapter_Statement_Interface\\|PDOStatement\\) of method Doctrine_Transaction\\:\\:releaseSavePoint\\(\\)$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Transaction/Oracle.php', -); -$ignoreErrors[] = array( - 'message' => '#^Cannot access offset \'level\' on Doctrine_Record\\|false\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Tree/NestedSet.php', -); -$ignoreErrors[] = array( - 'message' => '#^Call to function is_array\\(\\) with mixed will always evaluate to false\\.$#', - 'count' => 3, - 'path' => __DIR__ . '/lib/Doctrine/Validator.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$key of function array_key_exists expects int\\|string, bool\\|float\\|int\\|string\\|null given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Validator/ErrorStack.php', -); -$ignoreErrors[] = array( - 'message' => '#^Comparison operation "\\<" between int\\<0, max\\> and array results in an error\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Validator/Minlength.php', -); -$ignoreErrors[] = array( - 'message' => '#^Strict comparison using \\=\\=\\= between mixed and null will always evaluate to false\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Validator/Nospace.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$key of function array_key_exists expects int\\|string, array\\|string given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Validator/Readonly.php', -); +$ignoreErrors = []; +$ignoreErrors[] = [ + 'message' => '#^Cannot access offset \'code\' on array\\|false\\.$#', + 'identifier' => 'offsetAccess.nonOffsetAccessible', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Adapter/Oracle.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot access offset \'message\' on array\\|false\\.$#', + 'identifier' => 'offsetAccess.nonOffsetAccessible', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Adapter/Oracle.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$connection of function oci_commit expects resource, resource\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Adapter/Oracle.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$connection of function oci_rollback expects resource, resource\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Adapter/Oracle.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(array\\) of method Doctrine_Adapter_Statement_Mock\\:\\:errorCode\\(\\) should be compatible with return type \\(string\\) of method Doctrine_Adapter_Statement_Interface\\:\\:errorCode\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Mock.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(int\\) of method Doctrine_Adapter_Statement_Mock\\:\\:fetchColumn\\(\\) should be compatible with return type \\(string\\) of method Doctrine_Adapter_Statement_Interface\\:\\:fetchColumn\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Mock.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot access offset \'code\' on array\\|false\\.$#', + 'identifier' => 'offsetAccess.nonOffsetAccessible', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Oracle.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot access offset \'message\' on array\\|false\\.$#', + 'identifier' => 'offsetAccess.nonOffsetAccessible', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Oracle.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot access offset \'sqltext\' on array\\|false\\.$#', + 'identifier' => 'offsetAccess.nonOffsetAccessible', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Oracle.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$connection of function oci_parse expects resource, resource\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Oracle.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(string\\) of method Doctrine_Adapter_Statement_Oracle\\:\\:errorInfo\\(\\) should be compatible with return type \\(array\\) of method Doctrine_Adapter_Statement_Interface\\:\\:errorInfo\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Oracle.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(void\\) of method Doctrine_Adapter_Statement_Oracle\\:\\:bindValue\\(\\) should be compatible with return type \\(bool\\) of method Doctrine_Adapter_Statement_Interface\\:\\:bindValue\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Oracle.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(void\\) of method Doctrine_Adapter_Statement_Oracle\\:\\:setAttribute\\(\\) should be compatible with return type \\(bool\\) of method Doctrine_Adapter_Statement_Interface\\:\\:setAttribute\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Oracle.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method Doctrine_AuditLog\\:\\:getVersion\\(\\) should return array but returns array\\|Doctrine_Collection\\|Doctrine_Record\\|false\\.$#', + 'identifier' => 'return.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/AuditLog.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(string\\) of method Doctrine_AuditLog_Listener_Microtime\\:\\:_getInitialVersion\\(\\) should be compatible with return type \\(int\\) of method Doctrine_AuditLog_Listener\\:\\:_getInitialVersion\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/AuditLog/Listener/Microtime.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(string\\) of method Doctrine_AuditLog_Listener_Microtime\\:\\:_getNextVersion\\(\\) should be compatible with return type \\(int\\|null\\) of method Doctrine_AuditLog_Listener\\:\\:_getNextVersion\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/AuditLog/Listener/Microtime.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(int\\) of method Doctrine_Cache_Db\\:\\:_doDelete\\(\\) should be compatible with return type \\(bool\\) of method Doctrine_Cache_Driver\\:\\:_doDelete\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Cache/Db.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(int\\) of method Doctrine_Cache_Db\\:\\:_doSave\\(\\) should be compatible with return type \\(bool\\) of method Doctrine_Cache_Driver\\:\\:_doSave\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Cache/Db.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#4 \\$expire of method MemcachePool\\:\\:set\\(\\) expects int, int\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Cache/Memcache.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Constant XC_TYPE_VAR not found\\.$#', + 'identifier' => 'constant.notFound', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Cache/Xcache.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$className of method Doctrine_Cli\\:\\:createTaskInstance\\(\\) expects class\\-string\\, class\\-string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Cli.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter &\\$className by\\-ref type of method Doctrine_Cli\\:\\:taskNameIsRegistered\\(\\) expects class\\-string\\|null, \\(int\\|string\\) given\\.$#', + 'identifier' => 'parameterByRef.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Cli.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method get\\(\\) on Doctrine_Record\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Collection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method getRelations\\(\\) on array\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Collection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Possibly invalid array key type array\\|string\\.$#', + 'identifier' => 'offsetAccess.invalidOffset', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Collection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(Doctrine_Collection_Iterator_Expandable\\) of method Doctrine_Collection_Offset\\:\\:getIterator\\(\\) should be compatible with return type \\(ArrayIterator\\) of method Doctrine_Collection\\:\\:getIterator\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Collection/Offset.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$array of function array_slice expects array, list\\\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Compiler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$filename of function file expects string, string\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Compiler.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method execute\\(\\) on Doctrine_Connection_Statement\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method getTableName\\(\\) on array\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method postConnect\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method postError\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method preConnect\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method preError\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method rowCount\\(\\) on Doctrine_Connection_Statement\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method Doctrine_Connection\\:\\:convertBooleans\\(\\) should return array\\|int but returns array\\\\|bool\\|int\\.$#', + 'identifier' => 'return.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method Doctrine_Connection\\:\\:exec\\(\\) should return int but return statement is missing\\.$#', + 'identifier' => 'return.missing', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method Doctrine_Connection\\:\\:exec\\(\\) should return int but returns int\\|false\\.$#', + 'identifier' => 'return.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method Doctrine_Connection\\:\\:execute\\(\\) should return Doctrine_Adapter_Statement_Interface\\|PDOStatement but return statement is missing\\.$#', + 'identifier' => 'return.missing', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method Doctrine_Connection\\:\\:execute\\(\\) should return Doctrine_Adapter_Statement_Interface\\|PDOStatement but returns Doctrine_Adapter_Statement_Interface\\|PDOStatement\\|false\\.$#', + 'identifier' => 'return.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method Doctrine_Connection\\:\\:execute\\(\\) should return Doctrine_Adapter_Statement_Interface\\|PDOStatement but returns Doctrine_Connection_Statement\\|null\\.$#', + 'identifier' => 'return.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method Doctrine_Connection\\:\\:prepare\\(\\) should return Doctrine_Connection_Statement\\|null but return statement is missing\\.$#', + 'identifier' => 'return.missing', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#2 \\$stmt of class Doctrine_Connection_Statement constructor expects Doctrine_Adapter_Statement_Interface\\|PDOStatement, Doctrine_Adapter_Statement_Interface\\|PDOStatement\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot access offset \'type\' on array\\|false\\.$#', + 'identifier' => 'offsetAccess.nonOffsetAccessible', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method getDqlPart\\(\\) on Doctrine_Query\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method getExpressionOwner\\(\\) on Doctrine_Query\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method getQueryComponent\\(\\) on Doctrine_Query\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method getSqlQueryPart\\(\\) on Doctrine_Query\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method getSqlTableAlias\\(\\) on Doctrine_Query\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Offset numeric\\-string does not exist on list\\<\'ASC\'\\|\'DESC\'\\>\\.$#', + 'identifier' => 'offsetAccess.notFound', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$array of function end expects array\\|object, list\\\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#3 \\$subject of function preg_replace expects array\\\\|string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#3 \\$subject of function preg_replace_callback expects array\\\\|string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Offset 2 does not exist on array\\{\\}\\.$#', + 'identifier' => 'offsetAccess.notFound', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Pgsql.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Offset 3 does not exist on array\\{\\}\\.$#', + 'identifier' => 'offsetAccess.notFound', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Pgsql.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method postFetch\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Statement.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method postFetchAll\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Statement.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method postStmtExecute\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Statement.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method preFetch\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Statement.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method preFetchAll\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Statement.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method preStmtExecute\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Statement.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#2 \\$arg1 \\(string\\) of method Doctrine_Connection_Statement\\:\\:setFetchMode\\(\\) should be compatible with parameter \\$arg1 \\(int\\) of method Doctrine_Adapter_Statement_Interface\\:\\:setFetchMode\\(\\)$#', + 'identifier' => 'method.childParameterType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Statement.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method postDelete\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/UnitOfWork.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method preDelete\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/UnitOfWork.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$table of method Doctrine_Sequence\\:\\:lastInsertId\\(\\) expects string\\|null, array\\|float\\|int\\|string\\|false\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/UnitOfWork.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#2 \\$fields of method Doctrine_Connection\\:\\:insert\\(\\) expects array, array\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/UnitOfWork.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#2 \\$offset of function array_splice expects int, int\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Connection/UnitOfWork.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Possibly invalid array key type array\\|string\\.$#', + 'identifier' => 'offsetAccess.invalidOffset', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/UnitOfWork.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method Doctrine_Core\\:\\:migrate\\(\\) should return bool\\|int but returns int\\|false\\|null\\.$#', + 'identifier' => 'return.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Core.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$array \\(non\\-empty\\-list\\<\\(int\\|string\\)\\>\\) of array_values is already a list, call has no effect\\.$#', + 'identifier' => 'arrayValues.list', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Core.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$haystack of function strpos expects string, list\\\\|string given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Core.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$string of function substr expects string, list\\\\|string given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Core.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Binary operation "\\.\\=" between array\\|string\\|null and non\\-falsy\\-string results in an error\\.$#', + 'identifier' => 'assignOp.invalid', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Data/Export.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$filename of function is_dir expects string, array\\|string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Data/Export.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$filename of function is_dir expects string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Data/Export.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$filename of function is_file expects string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Data/Export.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$path of function dirname expects string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Data/Export.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to function is_array\\(\\) with array will always evaluate to true\\.$#', + 'identifier' => 'function.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Data/Import.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$haystack of function strstr expects string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/DataDict/Mssql.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to function is_array\\(\\) with array\\{list\\, list\\\\} will always evaluate to true\\.$#', + 'identifier' => 'function.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/DataDict/Mysql.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$haystack of function strstr expects string, string\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/DataDict/Mysql.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\.\\.\\.\\$arg1 of function max expects non\\-empty\\-array, array\\\\> given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/DataDict/Mysql.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method Doctrine_Export\\:\\:createSequenceSql\\(\\) has Doctrine_Connection_Exception in PHPDoc @throws tag but it\'s not thrown\\.$#', + 'identifier' => 'throws.unusedType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Export.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method Doctrine_Export\\:\\:dropSequenceSql\\(\\) has Doctrine_Connection_Exception in PHPDoc @throws tag but it\'s not thrown\\.$#', + 'identifier' => 'throws.unusedType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Export.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$str of method Doctrine_Connection\\:\\:quoteIdentifier\\(\\) expects string, int\\|string given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Export.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to function is_array\\(\\) with non\\-empty\\-array\\<\\(int\\|string\\)\\> will always evaluate to true\\.$#', + 'identifier' => 'function.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Export/Mssql.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(true\\) of method Doctrine_Export_Mssql\\:\\:createSequence\\(\\) should be compatible with return type \\(Doctrine_Adapter_Statement_Interface\\|PDOStatement\\) of method Doctrine_Export\\:\\:createSequence\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Export/Mssql.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to function is_array\\(\\) with non\\-empty\\-array\\<\\(int\\|string\\)\\> will always evaluate to true\\.$#', + 'identifier' => 'function.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Export/Mysql.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(bool\\|null\\) of method Doctrine_Export_Mysql\\:\\:createSequence\\(\\) should be compatible with return type \\(Doctrine_Adapter_Statement_Interface\\|PDOStatement\\) of method Doctrine_Export\\:\\:createSequence\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Export/Mysql.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Offset \'password\' might not exist on array\\|string\\.$#', + 'identifier' => 'offsetAccess.notFound', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Export/Oracle.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(array\\|true\\) of method Doctrine_Export_Pgsql\\:\\:alterTableSql\\(\\) should be compatible with return type \\(string\\) of method Doctrine_Export\\:\\:alterTableSql\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Export/Pgsql.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to function is_array\\(\\) with non\\-empty\\-array\\<\\(int\\|string\\)\\> will always evaluate to true\\.$#', + 'identifier' => 'function.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Export/Sqlite.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(bool\\) of method Doctrine_Export_Sqlite\\:\\:createSequence\\(\\) should be compatible with return type \\(Doctrine_Adapter_Statement_Interface\\|PDOStatement\\) of method Doctrine_Export\\:\\:createSequence\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Export/Sqlite.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(false\\) of method Doctrine_Export_Sqlite\\:\\:createForeignKey\\(\\) should be compatible with return type \\(Doctrine_Adapter_Statement_Interface\\|PDOStatement\\) of method Doctrine_Export\\:\\:createForeignKey\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Export/Sqlite.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$callback of function call_user_func_array expects callable\\(\\)\\: mixed, array\\{Doctrine_Expression_Driver, string\\} given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Expression.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$alias of method Doctrine_Hydrator_Graph\\:\\:_getCustomIndexField\\(\\) expects string, int\\|string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Hydrator/Graph.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#4 \\$dqlAlias of method Doctrine_Hydrator_Graph\\:\\:setLastElement\\(\\) expects string, int\\|string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Hydrator/Graph.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property Doctrine_Hydrator_Graph\\:\\:\\$_rootAlias \\(string\\|null\\) does not accept int\\|string\\|null\\.$#', + 'identifier' => 'assign.propertyType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Hydrator/Graph.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Offset string might not exist on array\\|null\\.$#', + 'identifier' => 'offsetAccess.notFound', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Hydrator/RecordDriver.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method Doctrine_Hydrator_SingleScalarDriver\\:\\:hydrateResultSet\\(\\) should return array\\|bool\\|float\\|int\\|string but returns float\\|int\\|string\\|true\\|null\\.$#', + 'identifier' => 'return.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Hydrator/SingleScalarDriver.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#3 \\$parent of method Doctrine_Import_Builder\\:\\:innerBuildActAs\\(\\) expects string\\|null, int\\|string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Import/Builder.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$str of method Doctrine_Connection\\:\\:quoteIdentifier\\(\\) expects string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Import/Mssql.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(bool\\|float\\|int\\|string\\|null\\) of method Doctrine_Import_Oracle\\:\\:listDatabases\\(\\) should be compatible with return type \\(array\\) of method Doctrine_Import\\:\\:listDatabases\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Import/Oracle.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#2 \\$string of function explode expects string, list\\\\|string given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Import/Pgsql.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot access offset \'className\' on array\\|false\\.$#', + 'identifier' => 'offsetAccess.nonOffsetAccessible', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Import/Schema.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot access offset \'connectionClassName\' on array\\|false\\.$#', + 'identifier' => 'offsetAccess.nonOffsetAccessible', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Import/Schema.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#3 \\$subject of function preg_replace expects array\\\\|string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 4, + 'path' => __DIR__ . '/lib/Doctrine/Inflector.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method close\\(\\) on Directory\\|false\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Lib.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method read\\(\\) on Directory\\|false\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Lib.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method Doctrine_Locking_Manager_Pessimistic\\:\\:_getLockingUserIdent\\(\\) never returns float so it can be removed from the return type\\.$#', + 'identifier' => 'return.unusedType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Locking/Manager/Pessimistic.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Array has 2 duplicate keys with value 150 \\(\\\\Doctrine_Core\\:\\:ATTR_CACHE, \\\\Doctrine_Core\\:\\:ATTR_RESULT_CACHE\\)\\.$#', + 'identifier' => 'array.duplicateKey', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Manager.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Binary operation "\\." between \';charset\\=\' and array\\\\|string results in an error\\.$#', + 'identifier' => 'binaryOp.invalid', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Manager.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$url of function parse_url expects string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Manager.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$value of function count expects array\\|Countable, array\\\\|string\\|null\\>\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Manager.php', +]; +$ignoreErrors[] = [ + 'message' => '#^If condition is always false\\.$#', + 'identifier' => 'if.alwaysFalse', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Migration.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method Doctrine_Migration\\:\\:migrateDryRun\\(\\) should return bool\\|int but returns int\\|false\\|null\\.$#', + 'identifier' => 'return.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Migration.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Strict comparison using \\!\\=\\= between mixed and null will always evaluate to true\\.$#', + 'identifier' => 'notIdentical.alwaysTrue', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Migration/Base.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Binary operation "\\." between array\\|string and string results in an error\\.$#', + 'identifier' => 'binaryOp.invalid', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Migration/Diff.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Offset \'extension\' might not exist on array\\{dirname\\?\\: string, basename\\: string, extension\\?\\: string, filename\\: string\\}\\.$#', + 'identifier' => 'offsetAccess.notFound', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Migration/Diff.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method delete\\(\\) on array\\|Doctrine_Collection\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Node/NestedSet.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method Doctrine_Node_NestedSet\\:\\:getChildren\\(\\) should return Doctrine_Collection\\|false but returns array\\|Doctrine_Collection\\|false\\.$#', + 'identifier' => 'return.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Node/NestedSet.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(Doctrine_Collection\\|false\\) of method Doctrine_Node_NestedSet\\:\\:getChildren\\(\\) should be compatible with return type \\(array\\) of method Doctrine_Node_Interface\\:\\:getChildren\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Node/NestedSet.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method Doctrine_Parser\\:\\:doLoad\\(\\) should return string but returns string\\|false\\.$#', + 'identifier' => 'return.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Parser.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$data of method Doctrine_Parser\\:\\:doDump\\(\\) expects string, string\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Parser/Json.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Argument of an invalid type array\\|SimpleXMLElement\\|null supplied for foreach, only iterables are supported\\.$#', + 'identifier' => 'foreach.nonIterable', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Parser/Xml.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to function is_int\\(\\) with array\\|string\\|null will always evaluate to false\\.$#', + 'identifier' => 'function.impossibleType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Parser/Xml.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$simpleXml of method Doctrine_Parser_Xml\\:\\:prepareData\\(\\) expects SimpleXMLElement\\|string, SimpleXMLElement\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Parser/Xml.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Argument of an invalid type list\\\\|false supplied for foreach, only iterables are supported\\.$#', + 'identifier' => 'foreach.nonIterable', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Query.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot access offset 0 on list\\\\|false\\.$#', + 'identifier' => 'offsetAccess.nonOffsetAccessible', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Query.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Left side of && is always true\\.$#', + 'identifier' => 'booleanAnd.leftAlwaysTrue', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Query.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$callback of function call_user_func_array expects callable\\(\\)\\: mixed, array\\{Doctrine_Expression_Driver, non\\-empty\\-string\\} given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Query.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$componentAlias of method Doctrine_Query\\:\\:buildIndexBy\\(\\) expects string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Query.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#2 \\$subject of function preg_match_all expects string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Query.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property Doctrine_Query_Abstract\\:\\:\\$_rootAlias \\(string\\) does not accept int\\|string\\|null\\.$#', + 'identifier' => 'assign.propertyType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Query.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to function is_array\\(\\) with array will always evaluate to true\\.$#', + 'identifier' => 'function.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Query/Abstract.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method Doctrine_Query_Abstract\\:\\:getSqlTableAlias\\(\\) should return string but returns int\\|string\\.$#', + 'identifier' => 'return.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Query/Abstract.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$customComponent of method Doctrine_Query_Abstract\\:\\:getCachedForm\\(\\) expects array\\|Doctrine_Collection\\|string\\|null, string\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Query/Abstract.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$query of method Doctrine_Connection\\:\\:exec\\(\\) expects string, array\\|string\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Query/Abstract.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$query of method Doctrine_Connection\\:\\:execute\\(\\) expects string, array\\|string\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Query/Abstract.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Strict comparison using \\!\\=\\= between mixed and false will always evaluate to true\\.$#', + 'identifier' => 'notIdentical.alwaysTrue', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Query/Abstract.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Argument of an invalid type list\\\\|false supplied for foreach, only iterables are supported\\.$#', + 'identifier' => 'foreach.nonIterable', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Query/Tokenizer.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$componentAlias of method Doctrine_Query_Abstract\\:\\:getSqlTableAlias\\(\\) expects string, int\\|string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/RawSql.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Property Doctrine_Query_Abstract\\:\\:\\$_rootAlias \\(string\\) does not accept int\\|string\\|null\\.$#', + 'identifier' => 'assign.propertyType', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/RawSql.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Variable \\$fields in empty\\(\\) always exists and is not falsy\\.$#', + 'identifier' => 'empty.variable', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/RawSql.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Argument of an invalid type array\\|string supplied for foreach, only iterables are supported\\.$#', + 'identifier' => 'foreach.nonIterable', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot access offset \'type\' on array\\|false\\.$#', + 'identifier' => 'offsetAccess.nonOffsetAccessible', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Record.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method postSerialize\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method postUnserialize\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method postValidate\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method preSerialize\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method preUnserialize\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method preValidate\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method setInvoker\\(\\) on string\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Method Doctrine_Record\\:\\:copy\\(\\) should return static\\(Doctrine_Record\\) but returns Doctrine_Record\\.$#', + 'identifier' => 'return.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$array of method Doctrine_Record\\:\\:fromArray\\(\\) expects array, array\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$array of static method Doctrine_Parser\\:\\:dump\\(\\) expects array, array\\\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#2 \\$method of function method_exists expects string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Record.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Possibly invalid array key type array\\|string\\.$#', + 'identifier' => 'offsetAccess.invalidOffset', + 'count' => 4, + 'path' => __DIR__ . '/lib/Doctrine/Record.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$listener of method Doctrine_Configurable\\:\\:addRecordListener\\(\\) expects Doctrine_EventListener_Interface\\|Doctrine_Overloadable, Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|Doctrine_Record_Listener_Interface given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record/Abstract.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$listener of method Doctrine_Configurable\\:\\:setRecordListener\\(\\) expects Doctrine_EventListener_Interface\\|Doctrine_Overloadable, Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|Doctrine_Record_Listener_Interface given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record/Abstract.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Result of method Doctrine_Table\\:\\:addIndex\\(\\) \\(void\\) is used\\.$#', + 'identifier' => 'method.void', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record/Abstract.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(void\\) of method Doctrine_Record_Filter_Standard\\:\\:filterSet\\(\\) should be compatible with return type \\(Doctrine_Record\\) of method Doctrine_Record_Filter\\:\\:filterSet\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record/Filter/Standard.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#2 \\$name of method Doctrine_Table\\:\\:addGenerator\\(\\) expects string\\|null, class\\-string\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record/Generator.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method getConnection\\(\\) on array\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Relation.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot access offset \'length\' on array\\|false\\.$#', + 'identifier' => 'offsetAccess.nonOffsetAccessible', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Relation/Parser.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot access offset \'type\' on array\\|false\\.$#', + 'identifier' => 'offsetAccess.nonOffsetAccessible', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Relation/Parser.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method addIndex\\(\\) on array\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Relation/Parser.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method getFieldName\\(\\) on array\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Relation/Parser.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method isIdentifier\\(\\) on array\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Relation/Parser.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Access to an undefined property Doctrine_Record\\:\\:\\$field\\.$#', + 'identifier' => 'property.notFound', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Search.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Access to an undefined property Doctrine_Record\\:\\:\\$keyword\\.$#', + 'identifier' => 'property.notFound', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Search.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Access to an undefined property Doctrine_Record\\:\\:\\$position\\.$#', + 'identifier' => 'property.notFound', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Search.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Argument of an invalid type array\\|string supplied for foreach, only iterables are supported\\.$#', + 'identifier' => 'foreach.nonIterable', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Search.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot access offset \'analyzer\' on array\\|false\\.$#', + 'identifier' => 'offsetAccess.nonOffsetAccessible', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Search.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$string of static method Doctrine_Inflector\\:\\:unaccent\\(\\) expects string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Search/Analyzer/Standard.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#3 \\$subject of function str_replace expects array\\\\|string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Search/Analyzer/Standard.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(array\\) of method Doctrine_Search_Analyzer_Standard\\:\\:analyze\\(\\) should be compatible with return type \\(string\\) of method Doctrine_Search_Analyzer\\:\\:analyze\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Search/Analyzer/Standard.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#3 \\$subject of function preg_replace expects array\\\\|string, string\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Search/Analyzer/Utf8.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#3 \\$subject of function str_replace expects array\\\\|string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Search/Analyzer/Utf8.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(string\\) of method Doctrine_Sequence_Mssql\\:\\:lastInsertId\\(\\) should be compatible with return type \\(bool\\|int\\) of method Doctrine_Sequence\\:\\:lastInsertId\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Sequence/Mssql.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Argument of an invalid type Doctrine_Record\\|int\\|list\\\\|null supplied for foreach, only iterables are supported\\.$#', + 'identifier' => 'foreach.nonIterable', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Table.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Argument of an invalid type array\\|string supplied for foreach, only iterables are supported\\.$#', + 'identifier' => 'foreach.nonIterable', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Table.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$callback of function call_user_func_array expects callable\\(\\)\\: mixed, array\\{Doctrine_Record, non\\-falsy\\-string\\} given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Table.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$fieldName of method Doctrine_Table\\:\\:hasField\\(\\) expects string, string\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Table.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$name \\(array\\) of method Doctrine_Table\\:\\:bind\\(\\) should be compatible with parameter \\$name \\(string\\) of method Doctrine_Locator_Injectable\\:\\:bind\\(\\)$#', + 'identifier' => 'method.childParameterType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Table.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$value of static method Doctrine_Validator\\:\\:validateLength\\(\\) expects string, Doctrine_Record\\|int\\|list\\\\|string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Table.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Strict comparison using \\!\\=\\= between mixed and null will always evaluate to true\\.$#', + 'identifier' => 'notIdentical.alwaysTrue', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Task.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method getConfig\\(\\) on Doctrine_Cli\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Task/GenerateModelsDb.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Binary operation "\\." between non\\-falsy\\-string and array\\|int results in an error\\.$#', + 'identifier' => 'binaryOp.invalid', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/Sluggable.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Binary operation "\\." between non\\-falsy\\-string and array\\|int results in an error\\.$#', + 'identifier' => 'binaryOp.invalid', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method addPendingJoinCondition\\(\\) on Doctrine_Query\\|string\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method addWhere\\(\\) on Doctrine_Query\\|string\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method contains\\(\\) on Doctrine_Query\\|string\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 3, + 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method from\\(\\) on Doctrine_Query\\|string\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method getConnection\\(\\) on Doctrine_Query\\|string\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 3, + 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method isSubquery\\(\\) on Doctrine_Query\\|string\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method set\\(\\) on Doctrine_Query\\|string\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Left side of && is always true\\.$#', + 'identifier' => 'booleanAnd.leftAlwaysTrue', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method contains\\(\\) on Doctrine_Query\\|string\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/Timestampable.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot call method set\\(\\) on Doctrine_Query\\|string\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/Timestampable.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(void\\) of method Doctrine_Transaction_Mssql\\:\\:setIsolation\\(\\) should be compatible with return type \\(Doctrine_Adapter_Statement_Interface\\|PDOStatement\\) of method Doctrine_Transaction\\:\\:setIsolation\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Transaction/Mssql.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Return type \\(true\\) of method Doctrine_Transaction_Oracle\\:\\:releaseSavePoint\\(\\) should be compatible with return type \\(Doctrine_Adapter_Statement_Interface\\|PDOStatement\\) of method Doctrine_Transaction\\:\\:releaseSavePoint\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Transaction/Oracle.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Cannot access offset \'level\' on Doctrine_Record\\|false\\.$#', + 'identifier' => 'offsetAccess.nonOffsetAccessible', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Tree/NestedSet.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Call to function is_array\\(\\) with mixed will always evaluate to false\\.$#', + 'identifier' => 'function.impossibleType', + 'count' => 3, + 'path' => __DIR__ . '/lib/Doctrine/Validator.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$num of function abs expects float\\|int, string given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Validator.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$key of function array_key_exists expects int\\|string, bool\\|float\\|int\\|string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Validator/ErrorStack.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Comparison operation "\\<" between int\\<0, max\\> and array results in an error\\.$#', + 'identifier' => 'smaller.invalid', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Validator/Minlength.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Strict comparison using \\=\\=\\= between mixed and null will always evaluate to false\\.$#', + 'identifier' => 'identical.alwaysFalse', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Validator/Nospace.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Parameter \\#1 \\$key of function array_key_exists expects int\\|string, array\\|string given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Validator/Readonly.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Offset 1 on list\\{0\\: non\\-falsy\\-string, 1\\: non\\-falsy\\-string&numeric\\-string, 2\\: non\\-falsy\\-string&numeric\\-string, 3\\?\\: string, 4\\?\\: \'\'\\|\\(non\\-falsy\\-string&numeric\\-string\\), 5\\?\\: string, 6\\?\\: \'\'\\|numeric\\-string, 7\\?\\: string, \\.\\.\\.\\} in isset\\(\\) always exists and is not nullable\\.$#', + 'identifier' => 'isset.offset', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Validator/Time.php', +]; +$ignoreErrors[] = [ + 'message' => '#^Offset 2 on list\\{0\\: non\\-falsy\\-string, 1\\: non\\-falsy\\-string&numeric\\-string, 2\\: non\\-falsy\\-string&numeric\\-string, 3\\?\\: string, 4\\?\\: \'\'\\|\\(non\\-falsy\\-string&numeric\\-string\\), 5\\?\\: string, 6\\?\\: \'\'\\|numeric\\-string, 7\\?\\: string, \\.\\.\\.\\} in isset\\(\\) always exists and is not nullable\\.$#', + 'identifier' => 'isset.offset', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Validator/Time.php', +]; -return array('parameters' => array('ignoreErrors' => $ignoreErrors)); +return ['parameters' => ['ignoreErrors' => $ignoreErrors]]; diff --git a/phpstan-php7.php b/phpstan-php7.php deleted file mode 100644 index e264a12e2..000000000 --- a/phpstan-php7.php +++ /dev/null @@ -1,39 +0,0 @@ -=')) { - return array(); -} - -$ignoreErrors = array(); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#2 \\$pieces of function implode expects array, array\\\\|false given\\.$#', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Connection/UnitOfWork.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$function of function call_user_func_array expects callable\\(\\)\\: mixed, array\\{Doctrine_Expression_Driver, \\(string\\|false\\)\\} given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Expression.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#2 \\$str of function explode expects string, array\\\\|string given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Import/Pgsql.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$var of function count expects array\\|Countable, array\\\\|string\\|null\\>\\|false given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Manager.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$function of function call_user_func_array expects callable\\(\\)\\: mixed, array\\{Doctrine_Expression_Driver, \\(non\\-empty\\-string\\|false\\)\\} given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Query.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$function of function call_user_func_array expects callable\\(\\)\\: mixed, array\\{Doctrine_Record, non\\-falsy\\-string\\} given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Table.php', -); - -return array('parameters' => array('ignoreErrors' => $ignoreErrors)); diff --git a/phpstan-php8.php b/phpstan-php8.php deleted file mode 100644 index 6b958bb86..000000000 --- a/phpstan-php8.php +++ /dev/null @@ -1,34 +0,0 @@ - '#^Parameter \\#1 \\$callback of function call_user_func_array expects callable\\(\\)\\: mixed, array\\{Doctrine_Expression_Driver, string\\} given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Expression.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#2 \\$string of function explode expects string, array\\\\|string given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Import/Pgsql.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$value of function count expects array\\|Countable, array\\\\|string\\|null\\>\\|false given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Manager.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$callback of function call_user_func_array expects callable\\(\\)\\: mixed, array\\{Doctrine_Expression_Driver, non\\-empty\\-string\\} given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Query.php', -); -$ignoreErrors[] = array( - 'message' => '#^Parameter \\#1 \\$callback of function call_user_func_array expects callable\\(\\)\\: mixed, array\\{Doctrine_Record, non\\-falsy\\-string\\} given\\.$#', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Table.php', -); - -return array('parameters' => array('ignoreErrors' => $ignoreErrors)); diff --git a/phpstan-php84.php b/phpstan-php84.php new file mode 100644 index 000000000..3d4bc263d --- /dev/null +++ b/phpstan-php84.php @@ -0,0 +1,15 @@ + '#^Cannot unset property Doctrine_Connection\\:\\:\\$dbh because it might have hooks in a subclass\\.$#', + 'identifier' => 'unset.possiblyHookedProperty', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +]; + +return ['parameters' => ['ignoreErrors' => $ignoreErrors]]; diff --git a/phpstan.neon b/phpstan.neon index e46523708..efd7e1ce5 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -1,8 +1,7 @@ includes: - ./phpstan-baseline.php - - ./phpstan-php7.php - - ./phpstan-php8.php - ./phpstan-php82.php + - ./phpstan-php84.php parameters: inferPrivatePropertyTypeFromConstructor: true treatPhpDocTypesAsCertain: false @@ -292,18 +291,10 @@ parameters: message: "#^Parameter \\#1 \\$(argument|objectOrClass) of class ReflectionClass constructor expects class\\-string\\\\|T of object, string given\\.$#" count: 1 path: lib/Doctrine/Migration.php - - - message: "#^Parameter \\#1 \\$(input|array) of function array_slice expects array, array\\\\|false given\\.$#" - count: 1 - path: lib/Doctrine/Compiler.php - message: "#^Parameter \\#1 \\$(str|string) of function trim expects string, string\\|null given\\.$#" count: 1 path: lib/Doctrine/Connection/Mssql.php - - - message: "#^Parameter \\#1 \\$(array_arg|array) of function end expects (array\\|object|array), array\\\\|false given\\.$#" - count: 1 - path: lib/Doctrine/Connection/Mssql.php - message: "#^Parameter \\#3 \\$length of function substr expects (int|int\\|null), int\\<0, max\\>\\|false given\\.$#" count: 1 @@ -336,10 +327,6 @@ parameters: message: "#^Parameter \\#1 \\$(name|qualifiedName) of method SimpleXMLElement\\:\\:addChild\\(\\) expects string, string\\|null given\\.$#" count: 2 path: lib/Doctrine/Parser/Xml.php - - - message: "#^Parameter \\#1 \\$(stack|array) of function array_shift expects array, array\\\\|false given\\.$#" - count: 1 - path: lib/Doctrine/Query.php - message: "#^Parameter \\#1 \\$(str|string) of function trim expects string, string\\|false given\\.$#" count: 1 diff --git a/psalm-baseline.xml b/psalm-baseline.xml index a68a9a339..0a454237f 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -1,20 +1,124 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + _queries)]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -23,27 +127,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + _memcache]]> _memcache]]> @@ -56,11 +254,24 @@ + + + + + + + + + + + + + isSubclassOf(self::TASK_BASE_CLASS)]]> @@ -74,10 +285,23 @@ + + + + + + + + + + + + + @@ -93,25 +317,114 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + execute($statement, $params)->fetch(Doctrine_Core::FETCH_ASSOC)]]> @@ -124,12 +437,27 @@ + + + formatter->convertBooleans($item)]]> + + + + + + + + + + + + @@ -155,8 +483,48 @@ isConnected]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -164,19 +532,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -184,16 +639,61 @@ isConnected]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + @@ -204,6 +704,14 @@ getOption('joinedParents')]]> getOption('joinedParents')]]> + + + + + + + + @@ -229,24 +737,46 @@ + + + + + + + + isRelation($record, $key)]]> + + + + + + + + + + + + + + @@ -256,6 +786,9 @@ + + + @@ -268,6 +801,12 @@ + + + + + + @@ -276,42 +815,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + messages)]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -321,16 +1131,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -342,12 +1196,34 @@ + + + + + + + + + + + + + + + + + + + + + + _queryComponents[$alias]['map']) ? $this->_queryComponents[$alias]['map'] : null]]> @@ -357,26 +1233,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -407,17 +1335,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -426,17 +1423,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -445,6 +1500,13 @@ + + + + + + + @@ -457,7 +1519,15 @@ + + + + + + + + @@ -477,6 +1547,9 @@ + + + @@ -485,11 +1558,30 @@ + + + + + + + + + + + + + + + + + + + @@ -516,22 +1608,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ', $includeNode = false)]]> + + + + + + + + + + + + + + + + + + + + + + @@ -542,25 +1708,138 @@ _tree->getAttribute('hasManyRoots')]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + @@ -572,14 +1851,11 @@ - - - _sqlParts['limit'])]]> @@ -601,18 +1877,58 @@ _tableAliasMap = & $query->_tableAliasMap]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -621,22 +1937,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -644,14 +2024,39 @@ + + + + + + + + + _data]]> _id]]> + + + + + + + + + + + + + + + + @@ -665,21 +2070,135 @@ _table->getAttribute(Doctrine_Core::ATTR_AUTO_ACCESSOR_OVERRIDE)]]> _table->getAttribute(Doctrine_Core::ATTR_AUTO_ACCESSOR_OVERRIDE)]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + _options['className'], $conn)]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -690,27 +2209,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + getOrderByStatement($tableName, true)]]> + + + @@ -723,23 +2276,121 @@ + + + + + + + + + + + field]]> + field]]> + keyword]]> + keyword]]> + position]]> + position]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -747,31 +2398,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + _columns[$columnName]) ? $this->_columns[$columnName]['type'] : false]]> - - - + + + + @@ -789,141 +2493,457 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + convertBooleans(false)]]> + convertBooleans(true)]]> + + + + + getTable()->getOption('inheritanceMap')]]> + + + + + + getConnection()->convertBooleans(false)]]> + getConnection()->convertBooleans(false)]]> + + + + + + + + + + + getTimestamp('updated', $event->getInvoker()->getTable()->getConnection())]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + getOption('inheritanceMap')]]> @@ -932,7 +2952,22 @@ + + + + + + + + + + + + + + + getAttribute('levelColumnName')]]> @@ -942,19 +2977,156 @@ getAttribute('rootColumnName')]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + args]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/DoctrineTest/GroupTest.php b/tests/DoctrineTest/GroupTest.php index 68e0bf6b6..1054c85d0 100644 --- a/tests/DoctrineTest/GroupTest.php +++ b/tests/DoctrineTest/GroupTest.php @@ -51,7 +51,7 @@ public function shouldBeRun($testCase, $filter) } return true; } - public function run(DoctrineTest_Reporter $reporter = null, $filter = null) + public function run(?DoctrineTest_Reporter $reporter = null, $filter = null) { set_time_limit(900); diff --git a/tests/DoctrineTest/UnitTestCase.php b/tests/DoctrineTest/UnitTestCase.php index 91c2bff63..d837b460e 100644 --- a/tests/DoctrineTest/UnitTestCase.php +++ b/tests/DoctrineTest/UnitTestCase.php @@ -164,7 +164,7 @@ public function _fail($message = '') self::$_passesAndFails['fails'][$class] = $class; } - public function run(DoctrineTest_Reporter $reporter = null, $filter = null) + public function run(?DoctrineTest_Reporter $reporter = null, $filter = null) { foreach (get_class_methods($this) as $method) { if (substr($method, 0, 4) === 'test') { diff --git a/tests/bootstrap.php b/tests/bootstrap.php index fd892d1a6..367051f2d 100755 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -6,7 +6,7 @@ // More info about that: http://bugs.php.net/bugs-generating-backtrace-win32.php //sleep(10); -error_reporting(E_ALL | E_STRICT); +error_reporting(E_ALL); ini_set('max_execution_time', 900); ini_set('date.timezone', 'GMT+0'); From bcb836b924991ea083f2c88230f66d27b9fce7f4 Mon Sep 17 00:00:00 2001 From: Jay Klehr Date: Fri, 23 May 2025 12:49:47 -0600 Subject: [PATCH 2/2] php-cs-fixer fixes --- phpstan-baseline.php | 2536 +++++++++++++++++++++--------------------- phpstan-php84.php | 18 +- 2 files changed, 1277 insertions(+), 1277 deletions(-) diff --git a/phpstan-baseline.php b/phpstan-baseline.php index d0650e0f3..521e7f275 100644 --- a/phpstan-baseline.php +++ b/phpstan-baseline.php @@ -1,1271 +1,1271 @@ '#^Cannot access offset \'code\' on array\\|false\\.$#', - 'identifier' => 'offsetAccess.nonOffsetAccessible', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Adapter/Oracle.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot access offset \'message\' on array\\|false\\.$#', - 'identifier' => 'offsetAccess.nonOffsetAccessible', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Adapter/Oracle.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$connection of function oci_commit expects resource, resource\\|false given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Adapter/Oracle.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$connection of function oci_rollback expects resource, resource\\|false given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Adapter/Oracle.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Return type \\(array\\) of method Doctrine_Adapter_Statement_Mock\\:\\:errorCode\\(\\) should be compatible with return type \\(string\\) of method Doctrine_Adapter_Statement_Interface\\:\\:errorCode\\(\\)$#', - 'identifier' => 'method.childReturnType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Mock.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Return type \\(int\\) of method Doctrine_Adapter_Statement_Mock\\:\\:fetchColumn\\(\\) should be compatible with return type \\(string\\) of method Doctrine_Adapter_Statement_Interface\\:\\:fetchColumn\\(\\)$#', - 'identifier' => 'method.childReturnType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Mock.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot access offset \'code\' on array\\|false\\.$#', - 'identifier' => 'offsetAccess.nonOffsetAccessible', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Oracle.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot access offset \'message\' on array\\|false\\.$#', - 'identifier' => 'offsetAccess.nonOffsetAccessible', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Oracle.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot access offset \'sqltext\' on array\\|false\\.$#', - 'identifier' => 'offsetAccess.nonOffsetAccessible', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Oracle.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$connection of function oci_parse expects resource, resource\\|false given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Oracle.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Return type \\(string\\) of method Doctrine_Adapter_Statement_Oracle\\:\\:errorInfo\\(\\) should be compatible with return type \\(array\\) of method Doctrine_Adapter_Statement_Interface\\:\\:errorInfo\\(\\)$#', - 'identifier' => 'method.childReturnType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Oracle.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Return type \\(void\\) of method Doctrine_Adapter_Statement_Oracle\\:\\:bindValue\\(\\) should be compatible with return type \\(bool\\) of method Doctrine_Adapter_Statement_Interface\\:\\:bindValue\\(\\)$#', - 'identifier' => 'method.childReturnType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Oracle.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Return type \\(void\\) of method Doctrine_Adapter_Statement_Oracle\\:\\:setAttribute\\(\\) should be compatible with return type \\(bool\\) of method Doctrine_Adapter_Statement_Interface\\:\\:setAttribute\\(\\)$#', - 'identifier' => 'method.childReturnType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Oracle.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Method Doctrine_AuditLog\\:\\:getVersion\\(\\) should return array but returns array\\|Doctrine_Collection\\|Doctrine_Record\\|false\\.$#', - 'identifier' => 'return.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/AuditLog.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Return type \\(string\\) of method Doctrine_AuditLog_Listener_Microtime\\:\\:_getInitialVersion\\(\\) should be compatible with return type \\(int\\) of method Doctrine_AuditLog_Listener\\:\\:_getInitialVersion\\(\\)$#', - 'identifier' => 'method.childReturnType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/AuditLog/Listener/Microtime.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Return type \\(string\\) of method Doctrine_AuditLog_Listener_Microtime\\:\\:_getNextVersion\\(\\) should be compatible with return type \\(int\\|null\\) of method Doctrine_AuditLog_Listener\\:\\:_getNextVersion\\(\\)$#', - 'identifier' => 'method.childReturnType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/AuditLog/Listener/Microtime.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Return type \\(int\\) of method Doctrine_Cache_Db\\:\\:_doDelete\\(\\) should be compatible with return type \\(bool\\) of method Doctrine_Cache_Driver\\:\\:_doDelete\\(\\)$#', - 'identifier' => 'method.childReturnType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Cache/Db.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Return type \\(int\\) of method Doctrine_Cache_Db\\:\\:_doSave\\(\\) should be compatible with return type \\(bool\\) of method Doctrine_Cache_Driver\\:\\:_doSave\\(\\)$#', - 'identifier' => 'method.childReturnType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Cache/Db.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#4 \\$expire of method MemcachePool\\:\\:set\\(\\) expects int, int\\|null given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Cache/Memcache.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Constant XC_TYPE_VAR not found\\.$#', - 'identifier' => 'constant.notFound', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Cache/Xcache.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$className of method Doctrine_Cli\\:\\:createTaskInstance\\(\\) expects class\\-string\\, class\\-string\\|null given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Cli.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter &\\$className by\\-ref type of method Doctrine_Cli\\:\\:taskNameIsRegistered\\(\\) expects class\\-string\\|null, \\(int\\|string\\) given\\.$#', - 'identifier' => 'parameterByRef.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Cli.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method get\\(\\) on Doctrine_Record\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Collection.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method getRelations\\(\\) on array\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Collection.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Possibly invalid array key type array\\|string\\.$#', - 'identifier' => 'offsetAccess.invalidOffset', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Collection.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Return type \\(Doctrine_Collection_Iterator_Expandable\\) of method Doctrine_Collection_Offset\\:\\:getIterator\\(\\) should be compatible with return type \\(ArrayIterator\\) of method Doctrine_Collection\\:\\:getIterator\\(\\)$#', - 'identifier' => 'method.childReturnType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Collection/Offset.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$array of function array_slice expects array, list\\\\|false given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Compiler.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$filename of function file expects string, string\\|false given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Compiler.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method execute\\(\\) on Doctrine_Connection_Statement\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method getTableName\\(\\) on array\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method postConnect\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method postError\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method preConnect\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method preError\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method rowCount\\(\\) on Doctrine_Connection_Statement\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Method Doctrine_Connection\\:\\:convertBooleans\\(\\) should return array\\|int but returns array\\\\|bool\\|int\\.$#', - 'identifier' => 'return.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Method Doctrine_Connection\\:\\:exec\\(\\) should return int but return statement is missing\\.$#', - 'identifier' => 'return.missing', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Method Doctrine_Connection\\:\\:exec\\(\\) should return int but returns int\\|false\\.$#', - 'identifier' => 'return.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Method Doctrine_Connection\\:\\:execute\\(\\) should return Doctrine_Adapter_Statement_Interface\\|PDOStatement but return statement is missing\\.$#', - 'identifier' => 'return.missing', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Method Doctrine_Connection\\:\\:execute\\(\\) should return Doctrine_Adapter_Statement_Interface\\|PDOStatement but returns Doctrine_Adapter_Statement_Interface\\|PDOStatement\\|false\\.$#', - 'identifier' => 'return.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Method Doctrine_Connection\\:\\:execute\\(\\) should return Doctrine_Adapter_Statement_Interface\\|PDOStatement but returns Doctrine_Connection_Statement\\|null\\.$#', - 'identifier' => 'return.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Method Doctrine_Connection\\:\\:prepare\\(\\) should return Doctrine_Connection_Statement\\|null but return statement is missing\\.$#', - 'identifier' => 'return.missing', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#2 \\$stmt of class Doctrine_Connection_Statement constructor expects Doctrine_Adapter_Statement_Interface\\|PDOStatement, Doctrine_Adapter_Statement_Interface\\|PDOStatement\\|false given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot access offset \'type\' on array\\|false\\.$#', - 'identifier' => 'offsetAccess.nonOffsetAccessible', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method getDqlPart\\(\\) on Doctrine_Query\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method getExpressionOwner\\(\\) on Doctrine_Query\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method getQueryComponent\\(\\) on Doctrine_Query\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method getSqlQueryPart\\(\\) on Doctrine_Query\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method getSqlTableAlias\\(\\) on Doctrine_Query\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Offset numeric\\-string does not exist on list\\<\'ASC\'\\|\'DESC\'\\>\\.$#', - 'identifier' => 'offsetAccess.notFound', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$array of function end expects array\\|object, list\\\\|false given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#3 \\$subject of function preg_replace expects array\\\\|string, string\\|null given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#3 \\$subject of function preg_replace_callback expects array\\\\|string, string\\|null given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Offset 2 does not exist on array\\{\\}\\.$#', - 'identifier' => 'offsetAccess.notFound', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Pgsql.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Offset 3 does not exist on array\\{\\}\\.$#', - 'identifier' => 'offsetAccess.notFound', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Pgsql.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method postFetch\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Statement.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method postFetchAll\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Statement.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method postStmtExecute\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Statement.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method preFetch\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Statement.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method preFetchAll\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Statement.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method preStmtExecute\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Statement.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#2 \\$arg1 \\(string\\) of method Doctrine_Connection_Statement\\:\\:setFetchMode\\(\\) should be compatible with parameter \\$arg1 \\(int\\) of method Doctrine_Adapter_Statement_Interface\\:\\:setFetchMode\\(\\)$#', - 'identifier' => 'method.childParameterType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/Statement.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method postDelete\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/UnitOfWork.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method preDelete\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/UnitOfWork.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$table of method Doctrine_Sequence\\:\\:lastInsertId\\(\\) expects string\\|null, array\\|float\\|int\\|string\\|false\\|null given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/UnitOfWork.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#2 \\$fields of method Doctrine_Connection\\:\\:insert\\(\\) expects array, array\\|null given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/UnitOfWork.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#2 \\$offset of function array_splice expects int, int\\|false given\\.$#', - 'identifier' => 'argument.type', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Connection/UnitOfWork.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Possibly invalid array key type array\\|string\\.$#', - 'identifier' => 'offsetAccess.invalidOffset', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection/UnitOfWork.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Method Doctrine_Core\\:\\:migrate\\(\\) should return bool\\|int but returns int\\|false\\|null\\.$#', - 'identifier' => 'return.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Core.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$array \\(non\\-empty\\-list\\<\\(int\\|string\\)\\>\\) of array_values is already a list, call has no effect\\.$#', - 'identifier' => 'arrayValues.list', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Core.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$haystack of function strpos expects string, list\\\\|string given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Core.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$string of function substr expects string, list\\\\|string given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Core.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Binary operation "\\.\\=" between array\\|string\\|null and non\\-falsy\\-string results in an error\\.$#', - 'identifier' => 'assignOp.invalid', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Data/Export.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$filename of function is_dir expects string, array\\|string\\|null given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Data/Export.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$filename of function is_dir expects string, string\\|null given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Data/Export.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$filename of function is_file expects string, string\\|null given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Data/Export.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$path of function dirname expects string, string\\|null given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Data/Export.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Call to function is_array\\(\\) with array will always evaluate to true\\.$#', - 'identifier' => 'function.alreadyNarrowedType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Data/Import.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$haystack of function strstr expects string, string\\|null given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/DataDict/Mssql.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Call to function is_array\\(\\) with array\\{list\\, list\\\\} will always evaluate to true\\.$#', - 'identifier' => 'function.alreadyNarrowedType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/DataDict/Mysql.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$haystack of function strstr expects string, string\\|false given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/DataDict/Mysql.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\.\\.\\.\\$arg1 of function max expects non\\-empty\\-array, array\\\\> given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/DataDict/Mysql.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Method Doctrine_Export\\:\\:createSequenceSql\\(\\) has Doctrine_Connection_Exception in PHPDoc @throws tag but it\'s not thrown\\.$#', - 'identifier' => 'throws.unusedType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Export.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Method Doctrine_Export\\:\\:dropSequenceSql\\(\\) has Doctrine_Connection_Exception in PHPDoc @throws tag but it\'s not thrown\\.$#', - 'identifier' => 'throws.unusedType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Export.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$str of method Doctrine_Connection\\:\\:quoteIdentifier\\(\\) expects string, int\\|string given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Export.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Call to function is_array\\(\\) with non\\-empty\\-array\\<\\(int\\|string\\)\\> will always evaluate to true\\.$#', - 'identifier' => 'function.alreadyNarrowedType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Export/Mssql.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Return type \\(true\\) of method Doctrine_Export_Mssql\\:\\:createSequence\\(\\) should be compatible with return type \\(Doctrine_Adapter_Statement_Interface\\|PDOStatement\\) of method Doctrine_Export\\:\\:createSequence\\(\\)$#', - 'identifier' => 'method.childReturnType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Export/Mssql.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Call to function is_array\\(\\) with non\\-empty\\-array\\<\\(int\\|string\\)\\> will always evaluate to true\\.$#', - 'identifier' => 'function.alreadyNarrowedType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Export/Mysql.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Return type \\(bool\\|null\\) of method Doctrine_Export_Mysql\\:\\:createSequence\\(\\) should be compatible with return type \\(Doctrine_Adapter_Statement_Interface\\|PDOStatement\\) of method Doctrine_Export\\:\\:createSequence\\(\\)$#', - 'identifier' => 'method.childReturnType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Export/Mysql.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Offset \'password\' might not exist on array\\|string\\.$#', - 'identifier' => 'offsetAccess.notFound', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Export/Oracle.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Return type \\(array\\|true\\) of method Doctrine_Export_Pgsql\\:\\:alterTableSql\\(\\) should be compatible with return type \\(string\\) of method Doctrine_Export\\:\\:alterTableSql\\(\\)$#', - 'identifier' => 'method.childReturnType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Export/Pgsql.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Call to function is_array\\(\\) with non\\-empty\\-array\\<\\(int\\|string\\)\\> will always evaluate to true\\.$#', - 'identifier' => 'function.alreadyNarrowedType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Export/Sqlite.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Return type \\(bool\\) of method Doctrine_Export_Sqlite\\:\\:createSequence\\(\\) should be compatible with return type \\(Doctrine_Adapter_Statement_Interface\\|PDOStatement\\) of method Doctrine_Export\\:\\:createSequence\\(\\)$#', - 'identifier' => 'method.childReturnType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Export/Sqlite.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Return type \\(false\\) of method Doctrine_Export_Sqlite\\:\\:createForeignKey\\(\\) should be compatible with return type \\(Doctrine_Adapter_Statement_Interface\\|PDOStatement\\) of method Doctrine_Export\\:\\:createForeignKey\\(\\)$#', - 'identifier' => 'method.childReturnType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Export/Sqlite.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$callback of function call_user_func_array expects callable\\(\\)\\: mixed, array\\{Doctrine_Expression_Driver, string\\} given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Expression.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$alias of method Doctrine_Hydrator_Graph\\:\\:_getCustomIndexField\\(\\) expects string, int\\|string\\|null given\\.$#', - 'identifier' => 'argument.type', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Hydrator/Graph.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#4 \\$dqlAlias of method Doctrine_Hydrator_Graph\\:\\:setLastElement\\(\\) expects string, int\\|string\\|null given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Hydrator/Graph.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Property Doctrine_Hydrator_Graph\\:\\:\\$_rootAlias \\(string\\|null\\) does not accept int\\|string\\|null\\.$#', - 'identifier' => 'assign.propertyType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Hydrator/Graph.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Offset string might not exist on array\\|null\\.$#', - 'identifier' => 'offsetAccess.notFound', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Hydrator/RecordDriver.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Method Doctrine_Hydrator_SingleScalarDriver\\:\\:hydrateResultSet\\(\\) should return array\\|bool\\|float\\|int\\|string but returns float\\|int\\|string\\|true\\|null\\.$#', - 'identifier' => 'return.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Hydrator/SingleScalarDriver.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#3 \\$parent of method Doctrine_Import_Builder\\:\\:innerBuildActAs\\(\\) expects string\\|null, int\\|string\\|null given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Import/Builder.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$str of method Doctrine_Connection\\:\\:quoteIdentifier\\(\\) expects string, string\\|null given\\.$#', - 'identifier' => 'argument.type', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Import/Mssql.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Return type \\(bool\\|float\\|int\\|string\\|null\\) of method Doctrine_Import_Oracle\\:\\:listDatabases\\(\\) should be compatible with return type \\(array\\) of method Doctrine_Import\\:\\:listDatabases\\(\\)$#', - 'identifier' => 'method.childReturnType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Import/Oracle.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#2 \\$string of function explode expects string, list\\\\|string given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Import/Pgsql.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot access offset \'className\' on array\\|false\\.$#', - 'identifier' => 'offsetAccess.nonOffsetAccessible', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Import/Schema.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot access offset \'connectionClassName\' on array\\|false\\.$#', - 'identifier' => 'offsetAccess.nonOffsetAccessible', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Import/Schema.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#3 \\$subject of function preg_replace expects array\\\\|string, string\\|null given\\.$#', - 'identifier' => 'argument.type', - 'count' => 4, - 'path' => __DIR__ . '/lib/Doctrine/Inflector.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method close\\(\\) on Directory\\|false\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Lib.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method read\\(\\) on Directory\\|false\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Lib.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Method Doctrine_Locking_Manager_Pessimistic\\:\\:_getLockingUserIdent\\(\\) never returns float so it can be removed from the return type\\.$#', - 'identifier' => 'return.unusedType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Locking/Manager/Pessimistic.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Array has 2 duplicate keys with value 150 \\(\\\\Doctrine_Core\\:\\:ATTR_CACHE, \\\\Doctrine_Core\\:\\:ATTR_RESULT_CACHE\\)\\.$#', - 'identifier' => 'array.duplicateKey', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Manager.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Binary operation "\\." between \';charset\\=\' and array\\\\|string results in an error\\.$#', - 'identifier' => 'binaryOp.invalid', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Manager.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$url of function parse_url expects string, string\\|null given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Manager.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$value of function count expects array\\|Countable, array\\\\|string\\|null\\>\\|false given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Manager.php', -]; -$ignoreErrors[] = [ - 'message' => '#^If condition is always false\\.$#', - 'identifier' => 'if.alwaysFalse', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Migration.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Method Doctrine_Migration\\:\\:migrateDryRun\\(\\) should return bool\\|int but returns int\\|false\\|null\\.$#', - 'identifier' => 'return.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Migration.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Strict comparison using \\!\\=\\= between mixed and null will always evaluate to true\\.$#', - 'identifier' => 'notIdentical.alwaysTrue', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Migration/Base.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Binary operation "\\." between array\\|string and string results in an error\\.$#', - 'identifier' => 'binaryOp.invalid', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Migration/Diff.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Offset \'extension\' might not exist on array\\{dirname\\?\\: string, basename\\: string, extension\\?\\: string, filename\\: string\\}\\.$#', - 'identifier' => 'offsetAccess.notFound', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Migration/Diff.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method delete\\(\\) on array\\|Doctrine_Collection\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Node/NestedSet.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Method Doctrine_Node_NestedSet\\:\\:getChildren\\(\\) should return Doctrine_Collection\\|false but returns array\\|Doctrine_Collection\\|false\\.$#', - 'identifier' => 'return.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Node/NestedSet.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Return type \\(Doctrine_Collection\\|false\\) of method Doctrine_Node_NestedSet\\:\\:getChildren\\(\\) should be compatible with return type \\(array\\) of method Doctrine_Node_Interface\\:\\:getChildren\\(\\)$#', - 'identifier' => 'method.childReturnType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Node/NestedSet.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Method Doctrine_Parser\\:\\:doLoad\\(\\) should return string but returns string\\|false\\.$#', - 'identifier' => 'return.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Parser.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$data of method Doctrine_Parser\\:\\:doDump\\(\\) expects string, string\\|false given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Parser/Json.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Argument of an invalid type array\\|SimpleXMLElement\\|null supplied for foreach, only iterables are supported\\.$#', - 'identifier' => 'foreach.nonIterable', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Parser/Xml.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Call to function is_int\\(\\) with array\\|string\\|null will always evaluate to false\\.$#', - 'identifier' => 'function.impossibleType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Parser/Xml.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$simpleXml of method Doctrine_Parser_Xml\\:\\:prepareData\\(\\) expects SimpleXMLElement\\|string, SimpleXMLElement\\|false given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Parser/Xml.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Argument of an invalid type list\\\\|false supplied for foreach, only iterables are supported\\.$#', - 'identifier' => 'foreach.nonIterable', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Query.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot access offset 0 on list\\\\|false\\.$#', - 'identifier' => 'offsetAccess.nonOffsetAccessible', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Query.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Left side of && is always true\\.$#', - 'identifier' => 'booleanAnd.leftAlwaysTrue', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Query.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$callback of function call_user_func_array expects callable\\(\\)\\: mixed, array\\{Doctrine_Expression_Driver, non\\-empty\\-string\\} given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Query.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$componentAlias of method Doctrine_Query\\:\\:buildIndexBy\\(\\) expects string, string\\|null given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Query.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#2 \\$subject of function preg_match_all expects string, string\\|null given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Query.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Property Doctrine_Query_Abstract\\:\\:\\$_rootAlias \\(string\\) does not accept int\\|string\\|null\\.$#', - 'identifier' => 'assign.propertyType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Query.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Call to function is_array\\(\\) with array will always evaluate to true\\.$#', - 'identifier' => 'function.alreadyNarrowedType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Query/Abstract.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Method Doctrine_Query_Abstract\\:\\:getSqlTableAlias\\(\\) should return string but returns int\\|string\\.$#', - 'identifier' => 'return.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Query/Abstract.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$customComponent of method Doctrine_Query_Abstract\\:\\:getCachedForm\\(\\) expects array\\|Doctrine_Collection\\|string\\|null, string\\|false given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Query/Abstract.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$query of method Doctrine_Connection\\:\\:exec\\(\\) expects string, array\\|string\\|false given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Query/Abstract.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$query of method Doctrine_Connection\\:\\:execute\\(\\) expects string, array\\|string\\|false given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Query/Abstract.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Strict comparison using \\!\\=\\= between mixed and false will always evaluate to true\\.$#', - 'identifier' => 'notIdentical.alwaysTrue', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Query/Abstract.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Argument of an invalid type list\\\\|false supplied for foreach, only iterables are supported\\.$#', - 'identifier' => 'foreach.nonIterable', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Query/Tokenizer.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$componentAlias of method Doctrine_Query_Abstract\\:\\:getSqlTableAlias\\(\\) expects string, int\\|string\\|null given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/RawSql.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Property Doctrine_Query_Abstract\\:\\:\\$_rootAlias \\(string\\) does not accept int\\|string\\|null\\.$#', - 'identifier' => 'assign.propertyType', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/RawSql.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Variable \\$fields in empty\\(\\) always exists and is not falsy\\.$#', - 'identifier' => 'empty.variable', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/RawSql.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Argument of an invalid type array\\|string supplied for foreach, only iterables are supported\\.$#', - 'identifier' => 'foreach.nonIterable', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot access offset \'type\' on array\\|false\\.$#', - 'identifier' => 'offsetAccess.nonOffsetAccessible', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Record.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method postSerialize\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method postUnserialize\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method postValidate\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method preSerialize\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method preUnserialize\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method preValidate\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method setInvoker\\(\\) on string\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Method Doctrine_Record\\:\\:copy\\(\\) should return static\\(Doctrine_Record\\) but returns Doctrine_Record\\.$#', - 'identifier' => 'return.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$array of method Doctrine_Record\\:\\:fromArray\\(\\) expects array, array\\|false given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$array of static method Doctrine_Parser\\:\\:dump\\(\\) expects array, array\\\\|false given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#2 \\$method of function method_exists expects string, string\\|null given\\.$#', - 'identifier' => 'argument.type', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Record.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Possibly invalid array key type array\\|string\\.$#', - 'identifier' => 'offsetAccess.invalidOffset', - 'count' => 4, - 'path' => __DIR__ . '/lib/Doctrine/Record.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$listener of method Doctrine_Configurable\\:\\:addRecordListener\\(\\) expects Doctrine_EventListener_Interface\\|Doctrine_Overloadable, Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|Doctrine_Record_Listener_Interface given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record/Abstract.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$listener of method Doctrine_Configurable\\:\\:setRecordListener\\(\\) expects Doctrine_EventListener_Interface\\|Doctrine_Overloadable, Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|Doctrine_Record_Listener_Interface given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record/Abstract.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Result of method Doctrine_Table\\:\\:addIndex\\(\\) \\(void\\) is used\\.$#', - 'identifier' => 'method.void', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record/Abstract.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Return type \\(void\\) of method Doctrine_Record_Filter_Standard\\:\\:filterSet\\(\\) should be compatible with return type \\(Doctrine_Record\\) of method Doctrine_Record_Filter\\:\\:filterSet\\(\\)$#', - 'identifier' => 'method.childReturnType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record/Filter/Standard.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#2 \\$name of method Doctrine_Table\\:\\:addGenerator\\(\\) expects string\\|null, class\\-string\\|false given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Record/Generator.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method getConnection\\(\\) on array\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Relation.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot access offset \'length\' on array\\|false\\.$#', - 'identifier' => 'offsetAccess.nonOffsetAccessible', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Relation/Parser.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot access offset \'type\' on array\\|false\\.$#', - 'identifier' => 'offsetAccess.nonOffsetAccessible', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Relation/Parser.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method addIndex\\(\\) on array\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Relation/Parser.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method getFieldName\\(\\) on array\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Relation/Parser.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method isIdentifier\\(\\) on array\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Relation/Parser.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Access to an undefined property Doctrine_Record\\:\\:\\$field\\.$#', - 'identifier' => 'property.notFound', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Search.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Access to an undefined property Doctrine_Record\\:\\:\\$keyword\\.$#', - 'identifier' => 'property.notFound', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Search.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Access to an undefined property Doctrine_Record\\:\\:\\$position\\.$#', - 'identifier' => 'property.notFound', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Search.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Argument of an invalid type array\\|string supplied for foreach, only iterables are supported\\.$#', - 'identifier' => 'foreach.nonIterable', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Search.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot access offset \'analyzer\' on array\\|false\\.$#', - 'identifier' => 'offsetAccess.nonOffsetAccessible', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Search.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$string of static method Doctrine_Inflector\\:\\:unaccent\\(\\) expects string, string\\|null given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Search/Analyzer/Standard.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#3 \\$subject of function str_replace expects array\\\\|string, string\\|null given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Search/Analyzer/Standard.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Return type \\(array\\) of method Doctrine_Search_Analyzer_Standard\\:\\:analyze\\(\\) should be compatible with return type \\(string\\) of method Doctrine_Search_Analyzer\\:\\:analyze\\(\\)$#', - 'identifier' => 'method.childReturnType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Search/Analyzer/Standard.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#3 \\$subject of function preg_replace expects array\\\\|string, string\\|false given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Search/Analyzer/Utf8.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#3 \\$subject of function str_replace expects array\\\\|string, string\\|null given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Search/Analyzer/Utf8.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Return type \\(string\\) of method Doctrine_Sequence_Mssql\\:\\:lastInsertId\\(\\) should be compatible with return type \\(bool\\|int\\) of method Doctrine_Sequence\\:\\:lastInsertId\\(\\)$#', - 'identifier' => 'method.childReturnType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Sequence/Mssql.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Argument of an invalid type Doctrine_Record\\|int\\|list\\\\|null supplied for foreach, only iterables are supported\\.$#', - 'identifier' => 'foreach.nonIterable', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Table.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Argument of an invalid type array\\|string supplied for foreach, only iterables are supported\\.$#', - 'identifier' => 'foreach.nonIterable', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Table.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$callback of function call_user_func_array expects callable\\(\\)\\: mixed, array\\{Doctrine_Record, non\\-falsy\\-string\\} given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Table.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$fieldName of method Doctrine_Table\\:\\:hasField\\(\\) expects string, string\\|false given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Table.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$name \\(array\\) of method Doctrine_Table\\:\\:bind\\(\\) should be compatible with parameter \\$name \\(string\\) of method Doctrine_Locator_Injectable\\:\\:bind\\(\\)$#', - 'identifier' => 'method.childParameterType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Table.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$value of static method Doctrine_Validator\\:\\:validateLength\\(\\) expects string, Doctrine_Record\\|int\\|list\\\\|string\\|null given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Table.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Strict comparison using \\!\\=\\= between mixed and null will always evaluate to true\\.$#', - 'identifier' => 'notIdentical.alwaysTrue', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Task.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method getConfig\\(\\) on Doctrine_Cli\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Task/GenerateModelsDb.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Binary operation "\\." between non\\-falsy\\-string and array\\|int results in an error\\.$#', - 'identifier' => 'binaryOp.invalid', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/Sluggable.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Binary operation "\\." between non\\-falsy\\-string and array\\|int results in an error\\.$#', - 'identifier' => 'binaryOp.invalid', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method addPendingJoinCondition\\(\\) on Doctrine_Query\\|string\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method addWhere\\(\\) on Doctrine_Query\\|string\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method contains\\(\\) on Doctrine_Query\\|string\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 3, - 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method from\\(\\) on Doctrine_Query\\|string\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method getConnection\\(\\) on Doctrine_Query\\|string\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 3, - 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method isSubquery\\(\\) on Doctrine_Query\\|string\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method set\\(\\) on Doctrine_Query\\|string\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 2, - 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Left side of && is always true\\.$#', - 'identifier' => 'booleanAnd.leftAlwaysTrue', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method contains\\(\\) on Doctrine_Query\\|string\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/Timestampable.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot call method set\\(\\) on Doctrine_Query\\|string\\|null\\.$#', - 'identifier' => 'method.nonObject', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/Timestampable.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Return type \\(void\\) of method Doctrine_Transaction_Mssql\\:\\:setIsolation\\(\\) should be compatible with return type \\(Doctrine_Adapter_Statement_Interface\\|PDOStatement\\) of method Doctrine_Transaction\\:\\:setIsolation\\(\\)$#', - 'identifier' => 'method.childReturnType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Transaction/Mssql.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Return type \\(true\\) of method Doctrine_Transaction_Oracle\\:\\:releaseSavePoint\\(\\) should be compatible with return type \\(Doctrine_Adapter_Statement_Interface\\|PDOStatement\\) of method Doctrine_Transaction\\:\\:releaseSavePoint\\(\\)$#', - 'identifier' => 'method.childReturnType', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Transaction/Oracle.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Cannot access offset \'level\' on Doctrine_Record\\|false\\.$#', - 'identifier' => 'offsetAccess.nonOffsetAccessible', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Tree/NestedSet.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Call to function is_array\\(\\) with mixed will always evaluate to false\\.$#', - 'identifier' => 'function.impossibleType', - 'count' => 3, - 'path' => __DIR__ . '/lib/Doctrine/Validator.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$num of function abs expects float\\|int, string given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Validator.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$key of function array_key_exists expects int\\|string, bool\\|float\\|int\\|string\\|null given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Validator/ErrorStack.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Comparison operation "\\<" between int\\<0, max\\> and array results in an error\\.$#', - 'identifier' => 'smaller.invalid', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Validator/Minlength.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Strict comparison using \\=\\=\\= between mixed and null will always evaluate to false\\.$#', - 'identifier' => 'identical.alwaysFalse', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Validator/Nospace.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Parameter \\#1 \\$key of function array_key_exists expects int\\|string, array\\|string given\\.$#', - 'identifier' => 'argument.type', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Validator/Readonly.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Offset 1 on list\\{0\\: non\\-falsy\\-string, 1\\: non\\-falsy\\-string&numeric\\-string, 2\\: non\\-falsy\\-string&numeric\\-string, 3\\?\\: string, 4\\?\\: \'\'\\|\\(non\\-falsy\\-string&numeric\\-string\\), 5\\?\\: string, 6\\?\\: \'\'\\|numeric\\-string, 7\\?\\: string, \\.\\.\\.\\} in isset\\(\\) always exists and is not nullable\\.$#', - 'identifier' => 'isset.offset', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Validator/Time.php', -]; -$ignoreErrors[] = [ - 'message' => '#^Offset 2 on list\\{0\\: non\\-falsy\\-string, 1\\: non\\-falsy\\-string&numeric\\-string, 2\\: non\\-falsy\\-string&numeric\\-string, 3\\?\\: string, 4\\?\\: \'\'\\|\\(non\\-falsy\\-string&numeric\\-string\\), 5\\?\\: string, 6\\?\\: \'\'\\|numeric\\-string, 7\\?\\: string, \\.\\.\\.\\} in isset\\(\\) always exists and is not nullable\\.$#', - 'identifier' => 'isset.offset', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Validator/Time.php', -]; +$ignoreErrors = array(); +$ignoreErrors[] = array( + 'message' => '#^Cannot access offset \'code\' on array\\|false\\.$#', + 'identifier' => 'offsetAccess.nonOffsetAccessible', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Adapter/Oracle.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot access offset \'message\' on array\\|false\\.$#', + 'identifier' => 'offsetAccess.nonOffsetAccessible', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Adapter/Oracle.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$connection of function oci_commit expects resource, resource\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Adapter/Oracle.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$connection of function oci_rollback expects resource, resource\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Adapter/Oracle.php', +); +$ignoreErrors[] = array( + 'message' => '#^Return type \\(array\\) of method Doctrine_Adapter_Statement_Mock\\:\\:errorCode\\(\\) should be compatible with return type \\(string\\) of method Doctrine_Adapter_Statement_Interface\\:\\:errorCode\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Mock.php', +); +$ignoreErrors[] = array( + 'message' => '#^Return type \\(int\\) of method Doctrine_Adapter_Statement_Mock\\:\\:fetchColumn\\(\\) should be compatible with return type \\(string\\) of method Doctrine_Adapter_Statement_Interface\\:\\:fetchColumn\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Mock.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot access offset \'code\' on array\\|false\\.$#', + 'identifier' => 'offsetAccess.nonOffsetAccessible', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Oracle.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot access offset \'message\' on array\\|false\\.$#', + 'identifier' => 'offsetAccess.nonOffsetAccessible', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Oracle.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot access offset \'sqltext\' on array\\|false\\.$#', + 'identifier' => 'offsetAccess.nonOffsetAccessible', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Oracle.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$connection of function oci_parse expects resource, resource\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Oracle.php', +); +$ignoreErrors[] = array( + 'message' => '#^Return type \\(string\\) of method Doctrine_Adapter_Statement_Oracle\\:\\:errorInfo\\(\\) should be compatible with return type \\(array\\) of method Doctrine_Adapter_Statement_Interface\\:\\:errorInfo\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Oracle.php', +); +$ignoreErrors[] = array( + 'message' => '#^Return type \\(void\\) of method Doctrine_Adapter_Statement_Oracle\\:\\:bindValue\\(\\) should be compatible with return type \\(bool\\) of method Doctrine_Adapter_Statement_Interface\\:\\:bindValue\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Oracle.php', +); +$ignoreErrors[] = array( + 'message' => '#^Return type \\(void\\) of method Doctrine_Adapter_Statement_Oracle\\:\\:setAttribute\\(\\) should be compatible with return type \\(bool\\) of method Doctrine_Adapter_Statement_Interface\\:\\:setAttribute\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Adapter/Statement/Oracle.php', +); +$ignoreErrors[] = array( + 'message' => '#^Method Doctrine_AuditLog\\:\\:getVersion\\(\\) should return array but returns array\\|Doctrine_Collection\\|Doctrine_Record\\|false\\.$#', + 'identifier' => 'return.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/AuditLog.php', +); +$ignoreErrors[] = array( + 'message' => '#^Return type \\(string\\) of method Doctrine_AuditLog_Listener_Microtime\\:\\:_getInitialVersion\\(\\) should be compatible with return type \\(int\\) of method Doctrine_AuditLog_Listener\\:\\:_getInitialVersion\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/AuditLog/Listener/Microtime.php', +); +$ignoreErrors[] = array( + 'message' => '#^Return type \\(string\\) of method Doctrine_AuditLog_Listener_Microtime\\:\\:_getNextVersion\\(\\) should be compatible with return type \\(int\\|null\\) of method Doctrine_AuditLog_Listener\\:\\:_getNextVersion\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/AuditLog/Listener/Microtime.php', +); +$ignoreErrors[] = array( + 'message' => '#^Return type \\(int\\) of method Doctrine_Cache_Db\\:\\:_doDelete\\(\\) should be compatible with return type \\(bool\\) of method Doctrine_Cache_Driver\\:\\:_doDelete\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Cache/Db.php', +); +$ignoreErrors[] = array( + 'message' => '#^Return type \\(int\\) of method Doctrine_Cache_Db\\:\\:_doSave\\(\\) should be compatible with return type \\(bool\\) of method Doctrine_Cache_Driver\\:\\:_doSave\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Cache/Db.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#4 \\$expire of method MemcachePool\\:\\:set\\(\\) expects int, int\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Cache/Memcache.php', +); +$ignoreErrors[] = array( + 'message' => '#^Constant XC_TYPE_VAR not found\\.$#', + 'identifier' => 'constant.notFound', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Cache/Xcache.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$className of method Doctrine_Cli\\:\\:createTaskInstance\\(\\) expects class\\-string\\, class\\-string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Cli.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter &\\$className by\\-ref type of method Doctrine_Cli\\:\\:taskNameIsRegistered\\(\\) expects class\\-string\\|null, \\(int\\|string\\) given\\.$#', + 'identifier' => 'parameterByRef.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Cli.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method get\\(\\) on Doctrine_Record\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Collection.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method getRelations\\(\\) on array\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Collection.php', +); +$ignoreErrors[] = array( + 'message' => '#^Possibly invalid array key type array\\|string\\.$#', + 'identifier' => 'offsetAccess.invalidOffset', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Collection.php', +); +$ignoreErrors[] = array( + 'message' => '#^Return type \\(Doctrine_Collection_Iterator_Expandable\\) of method Doctrine_Collection_Offset\\:\\:getIterator\\(\\) should be compatible with return type \\(ArrayIterator\\) of method Doctrine_Collection\\:\\:getIterator\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Collection/Offset.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$array of function array_slice expects array, list\\\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Compiler.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$filename of function file expects string, string\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Compiler.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method execute\\(\\) on Doctrine_Connection_Statement\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method getTableName\\(\\) on array\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method postConnect\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method postError\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method preConnect\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method preError\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method rowCount\\(\\) on Doctrine_Connection_Statement\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +); +$ignoreErrors[] = array( + 'message' => '#^Method Doctrine_Connection\\:\\:convertBooleans\\(\\) should return array\\|int but returns array\\\\|bool\\|int\\.$#', + 'identifier' => 'return.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +); +$ignoreErrors[] = array( + 'message' => '#^Method Doctrine_Connection\\:\\:exec\\(\\) should return int but return statement is missing\\.$#', + 'identifier' => 'return.missing', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +); +$ignoreErrors[] = array( + 'message' => '#^Method Doctrine_Connection\\:\\:exec\\(\\) should return int but returns int\\|false\\.$#', + 'identifier' => 'return.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +); +$ignoreErrors[] = array( + 'message' => '#^Method Doctrine_Connection\\:\\:execute\\(\\) should return Doctrine_Adapter_Statement_Interface\\|PDOStatement but return statement is missing\\.$#', + 'identifier' => 'return.missing', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +); +$ignoreErrors[] = array( + 'message' => '#^Method Doctrine_Connection\\:\\:execute\\(\\) should return Doctrine_Adapter_Statement_Interface\\|PDOStatement but returns Doctrine_Adapter_Statement_Interface\\|PDOStatement\\|false\\.$#', + 'identifier' => 'return.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +); +$ignoreErrors[] = array( + 'message' => '#^Method Doctrine_Connection\\:\\:execute\\(\\) should return Doctrine_Adapter_Statement_Interface\\|PDOStatement but returns Doctrine_Connection_Statement\\|null\\.$#', + 'identifier' => 'return.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +); +$ignoreErrors[] = array( + 'message' => '#^Method Doctrine_Connection\\:\\:prepare\\(\\) should return Doctrine_Connection_Statement\\|null but return statement is missing\\.$#', + 'identifier' => 'return.missing', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#2 \\$stmt of class Doctrine_Connection_Statement constructor expects Doctrine_Adapter_Statement_Interface\\|PDOStatement, Doctrine_Adapter_Statement_Interface\\|PDOStatement\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot access offset \'type\' on array\\|false\\.$#', + 'identifier' => 'offsetAccess.nonOffsetAccessible', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method getDqlPart\\(\\) on Doctrine_Query\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method getExpressionOwner\\(\\) on Doctrine_Query\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method getQueryComponent\\(\\) on Doctrine_Query\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method getSqlQueryPart\\(\\) on Doctrine_Query\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method getSqlTableAlias\\(\\) on Doctrine_Query\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', +); +$ignoreErrors[] = array( + 'message' => '#^Offset numeric\\-string does not exist on list\\<\'ASC\'\\|\'DESC\'\\>\\.$#', + 'identifier' => 'offsetAccess.notFound', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$array of function end expects array\\|object, list\\\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#3 \\$subject of function preg_replace expects array\\\\|string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#3 \\$subject of function preg_replace_callback expects array\\\\|string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Mssql.php', +); +$ignoreErrors[] = array( + 'message' => '#^Offset 2 does not exist on array\\{\\}\\.$#', + 'identifier' => 'offsetAccess.notFound', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Pgsql.php', +); +$ignoreErrors[] = array( + 'message' => '#^Offset 3 does not exist on array\\{\\}\\.$#', + 'identifier' => 'offsetAccess.notFound', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Pgsql.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method postFetch\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Statement.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method postFetchAll\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Statement.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method postStmtExecute\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Statement.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method preFetch\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Statement.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method preFetchAll\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Statement.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method preStmtExecute\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Statement.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#2 \\$arg1 \\(string\\) of method Doctrine_Connection_Statement\\:\\:setFetchMode\\(\\) should be compatible with parameter \\$arg1 \\(int\\) of method Doctrine_Adapter_Statement_Interface\\:\\:setFetchMode\\(\\)$#', + 'identifier' => 'method.childParameterType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/Statement.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method postDelete\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/UnitOfWork.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method preDelete\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/UnitOfWork.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$table of method Doctrine_Sequence\\:\\:lastInsertId\\(\\) expects string\\|null, array\\|float\\|int\\|string\\|false\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/UnitOfWork.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#2 \\$fields of method Doctrine_Connection\\:\\:insert\\(\\) expects array, array\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/UnitOfWork.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#2 \\$offset of function array_splice expects int, int\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Connection/UnitOfWork.php', +); +$ignoreErrors[] = array( + 'message' => '#^Possibly invalid array key type array\\|string\\.$#', + 'identifier' => 'offsetAccess.invalidOffset', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection/UnitOfWork.php', +); +$ignoreErrors[] = array( + 'message' => '#^Method Doctrine_Core\\:\\:migrate\\(\\) should return bool\\|int but returns int\\|false\\|null\\.$#', + 'identifier' => 'return.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Core.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$array \\(non\\-empty\\-list\\<\\(int\\|string\\)\\>\\) of array_values is already a list, call has no effect\\.$#', + 'identifier' => 'arrayValues.list', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Core.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$haystack of function strpos expects string, list\\\\|string given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Core.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$string of function substr expects string, list\\\\|string given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Core.php', +); +$ignoreErrors[] = array( + 'message' => '#^Binary operation "\\.\\=" between array\\|string\\|null and non\\-falsy\\-string results in an error\\.$#', + 'identifier' => 'assignOp.invalid', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Data/Export.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$filename of function is_dir expects string, array\\|string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Data/Export.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$filename of function is_dir expects string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Data/Export.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$filename of function is_file expects string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Data/Export.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$path of function dirname expects string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Data/Export.php', +); +$ignoreErrors[] = array( + 'message' => '#^Call to function is_array\\(\\) with array will always evaluate to true\\.$#', + 'identifier' => 'function.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Data/Import.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$haystack of function strstr expects string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/DataDict/Mssql.php', +); +$ignoreErrors[] = array( + 'message' => '#^Call to function is_array\\(\\) with array\\{list\\, list\\\\} will always evaluate to true\\.$#', + 'identifier' => 'function.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/DataDict/Mysql.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$haystack of function strstr expects string, string\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/DataDict/Mysql.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\.\\.\\.\\$arg1 of function max expects non\\-empty\\-array, array\\\\> given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/DataDict/Mysql.php', +); +$ignoreErrors[] = array( + 'message' => '#^Method Doctrine_Export\\:\\:createSequenceSql\\(\\) has Doctrine_Connection_Exception in PHPDoc @throws tag but it\'s not thrown\\.$#', + 'identifier' => 'throws.unusedType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Export.php', +); +$ignoreErrors[] = array( + 'message' => '#^Method Doctrine_Export\\:\\:dropSequenceSql\\(\\) has Doctrine_Connection_Exception in PHPDoc @throws tag but it\'s not thrown\\.$#', + 'identifier' => 'throws.unusedType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Export.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$str of method Doctrine_Connection\\:\\:quoteIdentifier\\(\\) expects string, int\\|string given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Export.php', +); +$ignoreErrors[] = array( + 'message' => '#^Call to function is_array\\(\\) with non\\-empty\\-array\\<\\(int\\|string\\)\\> will always evaluate to true\\.$#', + 'identifier' => 'function.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Export/Mssql.php', +); +$ignoreErrors[] = array( + 'message' => '#^Return type \\(true\\) of method Doctrine_Export_Mssql\\:\\:createSequence\\(\\) should be compatible with return type \\(Doctrine_Adapter_Statement_Interface\\|PDOStatement\\) of method Doctrine_Export\\:\\:createSequence\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Export/Mssql.php', +); +$ignoreErrors[] = array( + 'message' => '#^Call to function is_array\\(\\) with non\\-empty\\-array\\<\\(int\\|string\\)\\> will always evaluate to true\\.$#', + 'identifier' => 'function.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Export/Mysql.php', +); +$ignoreErrors[] = array( + 'message' => '#^Return type \\(bool\\|null\\) of method Doctrine_Export_Mysql\\:\\:createSequence\\(\\) should be compatible with return type \\(Doctrine_Adapter_Statement_Interface\\|PDOStatement\\) of method Doctrine_Export\\:\\:createSequence\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Export/Mysql.php', +); +$ignoreErrors[] = array( + 'message' => '#^Offset \'password\' might not exist on array\\|string\\.$#', + 'identifier' => 'offsetAccess.notFound', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Export/Oracle.php', +); +$ignoreErrors[] = array( + 'message' => '#^Return type \\(array\\|true\\) of method Doctrine_Export_Pgsql\\:\\:alterTableSql\\(\\) should be compatible with return type \\(string\\) of method Doctrine_Export\\:\\:alterTableSql\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Export/Pgsql.php', +); +$ignoreErrors[] = array( + 'message' => '#^Call to function is_array\\(\\) with non\\-empty\\-array\\<\\(int\\|string\\)\\> will always evaluate to true\\.$#', + 'identifier' => 'function.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Export/Sqlite.php', +); +$ignoreErrors[] = array( + 'message' => '#^Return type \\(bool\\) of method Doctrine_Export_Sqlite\\:\\:createSequence\\(\\) should be compatible with return type \\(Doctrine_Adapter_Statement_Interface\\|PDOStatement\\) of method Doctrine_Export\\:\\:createSequence\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Export/Sqlite.php', +); +$ignoreErrors[] = array( + 'message' => '#^Return type \\(false\\) of method Doctrine_Export_Sqlite\\:\\:createForeignKey\\(\\) should be compatible with return type \\(Doctrine_Adapter_Statement_Interface\\|PDOStatement\\) of method Doctrine_Export\\:\\:createForeignKey\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Export/Sqlite.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$callback of function call_user_func_array expects callable\\(\\)\\: mixed, array\\{Doctrine_Expression_Driver, string\\} given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Expression.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$alias of method Doctrine_Hydrator_Graph\\:\\:_getCustomIndexField\\(\\) expects string, int\\|string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Hydrator/Graph.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#4 \\$dqlAlias of method Doctrine_Hydrator_Graph\\:\\:setLastElement\\(\\) expects string, int\\|string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Hydrator/Graph.php', +); +$ignoreErrors[] = array( + 'message' => '#^Property Doctrine_Hydrator_Graph\\:\\:\\$_rootAlias \\(string\\|null\\) does not accept int\\|string\\|null\\.$#', + 'identifier' => 'assign.propertyType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Hydrator/Graph.php', +); +$ignoreErrors[] = array( + 'message' => '#^Offset string might not exist on array\\|null\\.$#', + 'identifier' => 'offsetAccess.notFound', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Hydrator/RecordDriver.php', +); +$ignoreErrors[] = array( + 'message' => '#^Method Doctrine_Hydrator_SingleScalarDriver\\:\\:hydrateResultSet\\(\\) should return array\\|bool\\|float\\|int\\|string but returns float\\|int\\|string\\|true\\|null\\.$#', + 'identifier' => 'return.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Hydrator/SingleScalarDriver.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#3 \\$parent of method Doctrine_Import_Builder\\:\\:innerBuildActAs\\(\\) expects string\\|null, int\\|string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Import/Builder.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$str of method Doctrine_Connection\\:\\:quoteIdentifier\\(\\) expects string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Import/Mssql.php', +); +$ignoreErrors[] = array( + 'message' => '#^Return type \\(bool\\|float\\|int\\|string\\|null\\) of method Doctrine_Import_Oracle\\:\\:listDatabases\\(\\) should be compatible with return type \\(array\\) of method Doctrine_Import\\:\\:listDatabases\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Import/Oracle.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#2 \\$string of function explode expects string, list\\\\|string given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Import/Pgsql.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot access offset \'className\' on array\\|false\\.$#', + 'identifier' => 'offsetAccess.nonOffsetAccessible', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Import/Schema.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot access offset \'connectionClassName\' on array\\|false\\.$#', + 'identifier' => 'offsetAccess.nonOffsetAccessible', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Import/Schema.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#3 \\$subject of function preg_replace expects array\\\\|string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 4, + 'path' => __DIR__ . '/lib/Doctrine/Inflector.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method close\\(\\) on Directory\\|false\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Lib.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method read\\(\\) on Directory\\|false\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Lib.php', +); +$ignoreErrors[] = array( + 'message' => '#^Method Doctrine_Locking_Manager_Pessimistic\\:\\:_getLockingUserIdent\\(\\) never returns float so it can be removed from the return type\\.$#', + 'identifier' => 'return.unusedType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Locking/Manager/Pessimistic.php', +); +$ignoreErrors[] = array( + 'message' => '#^Array has 2 duplicate keys with value 150 \\(\\\\Doctrine_Core\\:\\:ATTR_CACHE, \\\\Doctrine_Core\\:\\:ATTR_RESULT_CACHE\\)\\.$#', + 'identifier' => 'array.duplicateKey', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Manager.php', +); +$ignoreErrors[] = array( + 'message' => '#^Binary operation "\\." between \';charset\\=\' and array\\\\|string results in an error\\.$#', + 'identifier' => 'binaryOp.invalid', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Manager.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$url of function parse_url expects string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Manager.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$value of function count expects array\\|Countable, array\\\\|string\\|null\\>\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Manager.php', +); +$ignoreErrors[] = array( + 'message' => '#^If condition is always false\\.$#', + 'identifier' => 'if.alwaysFalse', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Migration.php', +); +$ignoreErrors[] = array( + 'message' => '#^Method Doctrine_Migration\\:\\:migrateDryRun\\(\\) should return bool\\|int but returns int\\|false\\|null\\.$#', + 'identifier' => 'return.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Migration.php', +); +$ignoreErrors[] = array( + 'message' => '#^Strict comparison using \\!\\=\\= between mixed and null will always evaluate to true\\.$#', + 'identifier' => 'notIdentical.alwaysTrue', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Migration/Base.php', +); +$ignoreErrors[] = array( + 'message' => '#^Binary operation "\\." between array\\|string and string results in an error\\.$#', + 'identifier' => 'binaryOp.invalid', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Migration/Diff.php', +); +$ignoreErrors[] = array( + 'message' => '#^Offset \'extension\' might not exist on array\\{dirname\\?\\: string, basename\\: string, extension\\?\\: string, filename\\: string\\}\\.$#', + 'identifier' => 'offsetAccess.notFound', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Migration/Diff.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method delete\\(\\) on array\\|Doctrine_Collection\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Node/NestedSet.php', +); +$ignoreErrors[] = array( + 'message' => '#^Method Doctrine_Node_NestedSet\\:\\:getChildren\\(\\) should return Doctrine_Collection\\|false but returns array\\|Doctrine_Collection\\|false\\.$#', + 'identifier' => 'return.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Node/NestedSet.php', +); +$ignoreErrors[] = array( + 'message' => '#^Return type \\(Doctrine_Collection\\|false\\) of method Doctrine_Node_NestedSet\\:\\:getChildren\\(\\) should be compatible with return type \\(array\\) of method Doctrine_Node_Interface\\:\\:getChildren\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Node/NestedSet.php', +); +$ignoreErrors[] = array( + 'message' => '#^Method Doctrine_Parser\\:\\:doLoad\\(\\) should return string but returns string\\|false\\.$#', + 'identifier' => 'return.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Parser.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$data of method Doctrine_Parser\\:\\:doDump\\(\\) expects string, string\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Parser/Json.php', +); +$ignoreErrors[] = array( + 'message' => '#^Argument of an invalid type array\\|SimpleXMLElement\\|null supplied for foreach, only iterables are supported\\.$#', + 'identifier' => 'foreach.nonIterable', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Parser/Xml.php', +); +$ignoreErrors[] = array( + 'message' => '#^Call to function is_int\\(\\) with array\\|string\\|null will always evaluate to false\\.$#', + 'identifier' => 'function.impossibleType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Parser/Xml.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$simpleXml of method Doctrine_Parser_Xml\\:\\:prepareData\\(\\) expects SimpleXMLElement\\|string, SimpleXMLElement\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Parser/Xml.php', +); +$ignoreErrors[] = array( + 'message' => '#^Argument of an invalid type list\\\\|false supplied for foreach, only iterables are supported\\.$#', + 'identifier' => 'foreach.nonIterable', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Query.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot access offset 0 on list\\\\|false\\.$#', + 'identifier' => 'offsetAccess.nonOffsetAccessible', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Query.php', +); +$ignoreErrors[] = array( + 'message' => '#^Left side of && is always true\\.$#', + 'identifier' => 'booleanAnd.leftAlwaysTrue', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Query.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$callback of function call_user_func_array expects callable\\(\\)\\: mixed, array\\{Doctrine_Expression_Driver, non\\-empty\\-string\\} given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Query.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$componentAlias of method Doctrine_Query\\:\\:buildIndexBy\\(\\) expects string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Query.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#2 \\$subject of function preg_match_all expects string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Query.php', +); +$ignoreErrors[] = array( + 'message' => '#^Property Doctrine_Query_Abstract\\:\\:\\$_rootAlias \\(string\\) does not accept int\\|string\\|null\\.$#', + 'identifier' => 'assign.propertyType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Query.php', +); +$ignoreErrors[] = array( + 'message' => '#^Call to function is_array\\(\\) with array will always evaluate to true\\.$#', + 'identifier' => 'function.alreadyNarrowedType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Query/Abstract.php', +); +$ignoreErrors[] = array( + 'message' => '#^Method Doctrine_Query_Abstract\\:\\:getSqlTableAlias\\(\\) should return string but returns int\\|string\\.$#', + 'identifier' => 'return.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Query/Abstract.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$customComponent of method Doctrine_Query_Abstract\\:\\:getCachedForm\\(\\) expects array\\|Doctrine_Collection\\|string\\|null, string\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Query/Abstract.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$query of method Doctrine_Connection\\:\\:exec\\(\\) expects string, array\\|string\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Query/Abstract.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$query of method Doctrine_Connection\\:\\:execute\\(\\) expects string, array\\|string\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Query/Abstract.php', +); +$ignoreErrors[] = array( + 'message' => '#^Strict comparison using \\!\\=\\= between mixed and false will always evaluate to true\\.$#', + 'identifier' => 'notIdentical.alwaysTrue', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Query/Abstract.php', +); +$ignoreErrors[] = array( + 'message' => '#^Argument of an invalid type list\\\\|false supplied for foreach, only iterables are supported\\.$#', + 'identifier' => 'foreach.nonIterable', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Query/Tokenizer.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$componentAlias of method Doctrine_Query_Abstract\\:\\:getSqlTableAlias\\(\\) expects string, int\\|string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/RawSql.php', +); +$ignoreErrors[] = array( + 'message' => '#^Property Doctrine_Query_Abstract\\:\\:\\$_rootAlias \\(string\\) does not accept int\\|string\\|null\\.$#', + 'identifier' => 'assign.propertyType', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/RawSql.php', +); +$ignoreErrors[] = array( + 'message' => '#^Variable \\$fields in empty\\(\\) always exists and is not falsy\\.$#', + 'identifier' => 'empty.variable', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/RawSql.php', +); +$ignoreErrors[] = array( + 'message' => '#^Argument of an invalid type array\\|string supplied for foreach, only iterables are supported\\.$#', + 'identifier' => 'foreach.nonIterable', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot access offset \'type\' on array\\|false\\.$#', + 'identifier' => 'offsetAccess.nonOffsetAccessible', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Record.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method postSerialize\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method postUnserialize\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method postValidate\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method preSerialize\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method preUnserialize\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method preValidate\\(\\) on Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method setInvoker\\(\\) on string\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record.php', +); +$ignoreErrors[] = array( + 'message' => '#^Method Doctrine_Record\\:\\:copy\\(\\) should return static\\(Doctrine_Record\\) but returns Doctrine_Record\\.$#', + 'identifier' => 'return.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$array of method Doctrine_Record\\:\\:fromArray\\(\\) expects array, array\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$array of static method Doctrine_Parser\\:\\:dump\\(\\) expects array, array\\\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#2 \\$method of function method_exists expects string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Record.php', +); +$ignoreErrors[] = array( + 'message' => '#^Possibly invalid array key type array\\|string\\.$#', + 'identifier' => 'offsetAccess.invalidOffset', + 'count' => 4, + 'path' => __DIR__ . '/lib/Doctrine/Record.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$listener of method Doctrine_Configurable\\:\\:addRecordListener\\(\\) expects Doctrine_EventListener_Interface\\|Doctrine_Overloadable, Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|Doctrine_Record_Listener_Interface given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record/Abstract.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$listener of method Doctrine_Configurable\\:\\:setRecordListener\\(\\) expects Doctrine_EventListener_Interface\\|Doctrine_Overloadable, Doctrine_EventListener_Interface\\|Doctrine_Overloadable\\|Doctrine_Record_Listener_Interface given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record/Abstract.php', +); +$ignoreErrors[] = array( + 'message' => '#^Result of method Doctrine_Table\\:\\:addIndex\\(\\) \\(void\\) is used\\.$#', + 'identifier' => 'method.void', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record/Abstract.php', +); +$ignoreErrors[] = array( + 'message' => '#^Return type \\(void\\) of method Doctrine_Record_Filter_Standard\\:\\:filterSet\\(\\) should be compatible with return type \\(Doctrine_Record\\) of method Doctrine_Record_Filter\\:\\:filterSet\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record/Filter/Standard.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#2 \\$name of method Doctrine_Table\\:\\:addGenerator\\(\\) expects string\\|null, class\\-string\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Record/Generator.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method getConnection\\(\\) on array\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Relation.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot access offset \'length\' on array\\|false\\.$#', + 'identifier' => 'offsetAccess.nonOffsetAccessible', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Relation/Parser.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot access offset \'type\' on array\\|false\\.$#', + 'identifier' => 'offsetAccess.nonOffsetAccessible', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Relation/Parser.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method addIndex\\(\\) on array\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Relation/Parser.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method getFieldName\\(\\) on array\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Relation/Parser.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method isIdentifier\\(\\) on array\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Relation/Parser.php', +); +$ignoreErrors[] = array( + 'message' => '#^Access to an undefined property Doctrine_Record\\:\\:\\$field\\.$#', + 'identifier' => 'property.notFound', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Search.php', +); +$ignoreErrors[] = array( + 'message' => '#^Access to an undefined property Doctrine_Record\\:\\:\\$keyword\\.$#', + 'identifier' => 'property.notFound', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Search.php', +); +$ignoreErrors[] = array( + 'message' => '#^Access to an undefined property Doctrine_Record\\:\\:\\$position\\.$#', + 'identifier' => 'property.notFound', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Search.php', +); +$ignoreErrors[] = array( + 'message' => '#^Argument of an invalid type array\\|string supplied for foreach, only iterables are supported\\.$#', + 'identifier' => 'foreach.nonIterable', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Search.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot access offset \'analyzer\' on array\\|false\\.$#', + 'identifier' => 'offsetAccess.nonOffsetAccessible', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Search.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$string of static method Doctrine_Inflector\\:\\:unaccent\\(\\) expects string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Search/Analyzer/Standard.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#3 \\$subject of function str_replace expects array\\\\|string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Search/Analyzer/Standard.php', +); +$ignoreErrors[] = array( + 'message' => '#^Return type \\(array\\) of method Doctrine_Search_Analyzer_Standard\\:\\:analyze\\(\\) should be compatible with return type \\(string\\) of method Doctrine_Search_Analyzer\\:\\:analyze\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Search/Analyzer/Standard.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#3 \\$subject of function preg_replace expects array\\\\|string, string\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Search/Analyzer/Utf8.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#3 \\$subject of function str_replace expects array\\\\|string, string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Search/Analyzer/Utf8.php', +); +$ignoreErrors[] = array( + 'message' => '#^Return type \\(string\\) of method Doctrine_Sequence_Mssql\\:\\:lastInsertId\\(\\) should be compatible with return type \\(bool\\|int\\) of method Doctrine_Sequence\\:\\:lastInsertId\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Sequence/Mssql.php', +); +$ignoreErrors[] = array( + 'message' => '#^Argument of an invalid type Doctrine_Record\\|int\\|list\\\\|null supplied for foreach, only iterables are supported\\.$#', + 'identifier' => 'foreach.nonIterable', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Table.php', +); +$ignoreErrors[] = array( + 'message' => '#^Argument of an invalid type array\\|string supplied for foreach, only iterables are supported\\.$#', + 'identifier' => 'foreach.nonIterable', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Table.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$callback of function call_user_func_array expects callable\\(\\)\\: mixed, array\\{Doctrine_Record, non\\-falsy\\-string\\} given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Table.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$fieldName of method Doctrine_Table\\:\\:hasField\\(\\) expects string, string\\|false given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Table.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$name \\(array\\) of method Doctrine_Table\\:\\:bind\\(\\) should be compatible with parameter \\$name \\(string\\) of method Doctrine_Locator_Injectable\\:\\:bind\\(\\)$#', + 'identifier' => 'method.childParameterType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Table.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$value of static method Doctrine_Validator\\:\\:validateLength\\(\\) expects string, Doctrine_Record\\|int\\|list\\\\|string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Table.php', +); +$ignoreErrors[] = array( + 'message' => '#^Strict comparison using \\!\\=\\= between mixed and null will always evaluate to true\\.$#', + 'identifier' => 'notIdentical.alwaysTrue', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Task.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method getConfig\\(\\) on Doctrine_Cli\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Task/GenerateModelsDb.php', +); +$ignoreErrors[] = array( + 'message' => '#^Binary operation "\\." between non\\-falsy\\-string and array\\|int results in an error\\.$#', + 'identifier' => 'binaryOp.invalid', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/Sluggable.php', +); +$ignoreErrors[] = array( + 'message' => '#^Binary operation "\\." between non\\-falsy\\-string and array\\|int results in an error\\.$#', + 'identifier' => 'binaryOp.invalid', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method addPendingJoinCondition\\(\\) on Doctrine_Query\\|string\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method addWhere\\(\\) on Doctrine_Query\\|string\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method contains\\(\\) on Doctrine_Query\\|string\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 3, + 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method from\\(\\) on Doctrine_Query\\|string\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method getConnection\\(\\) on Doctrine_Query\\|string\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 3, + 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method isSubquery\\(\\) on Doctrine_Query\\|string\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method set\\(\\) on Doctrine_Query\\|string\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 2, + 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', +); +$ignoreErrors[] = array( + 'message' => '#^Left side of && is always true\\.$#', + 'identifier' => 'booleanAnd.leftAlwaysTrue', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/SoftDelete.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method contains\\(\\) on Doctrine_Query\\|string\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/Timestampable.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot call method set\\(\\) on Doctrine_Query\\|string\\|null\\.$#', + 'identifier' => 'method.nonObject', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Template/Listener/Timestampable.php', +); +$ignoreErrors[] = array( + 'message' => '#^Return type \\(void\\) of method Doctrine_Transaction_Mssql\\:\\:setIsolation\\(\\) should be compatible with return type \\(Doctrine_Adapter_Statement_Interface\\|PDOStatement\\) of method Doctrine_Transaction\\:\\:setIsolation\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Transaction/Mssql.php', +); +$ignoreErrors[] = array( + 'message' => '#^Return type \\(true\\) of method Doctrine_Transaction_Oracle\\:\\:releaseSavePoint\\(\\) should be compatible with return type \\(Doctrine_Adapter_Statement_Interface\\|PDOStatement\\) of method Doctrine_Transaction\\:\\:releaseSavePoint\\(\\)$#', + 'identifier' => 'method.childReturnType', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Transaction/Oracle.php', +); +$ignoreErrors[] = array( + 'message' => '#^Cannot access offset \'level\' on Doctrine_Record\\|false\\.$#', + 'identifier' => 'offsetAccess.nonOffsetAccessible', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Tree/NestedSet.php', +); +$ignoreErrors[] = array( + 'message' => '#^Call to function is_array\\(\\) with mixed will always evaluate to false\\.$#', + 'identifier' => 'function.impossibleType', + 'count' => 3, + 'path' => __DIR__ . '/lib/Doctrine/Validator.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$num of function abs expects float\\|int, string given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Validator.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$key of function array_key_exists expects int\\|string, bool\\|float\\|int\\|string\\|null given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Validator/ErrorStack.php', +); +$ignoreErrors[] = array( + 'message' => '#^Comparison operation "\\<" between int\\<0, max\\> and array results in an error\\.$#', + 'identifier' => 'smaller.invalid', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Validator/Minlength.php', +); +$ignoreErrors[] = array( + 'message' => '#^Strict comparison using \\=\\=\\= between mixed and null will always evaluate to false\\.$#', + 'identifier' => 'identical.alwaysFalse', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Validator/Nospace.php', +); +$ignoreErrors[] = array( + 'message' => '#^Parameter \\#1 \\$key of function array_key_exists expects int\\|string, array\\|string given\\.$#', + 'identifier' => 'argument.type', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Validator/Readonly.php', +); +$ignoreErrors[] = array( + 'message' => '#^Offset 1 on list\\{0\\: non\\-falsy\\-string, 1\\: non\\-falsy\\-string&numeric\\-string, 2\\: non\\-falsy\\-string&numeric\\-string, 3\\?\\: string, 4\\?\\: \'\'\\|\\(non\\-falsy\\-string&numeric\\-string\\), 5\\?\\: string, 6\\?\\: \'\'\\|numeric\\-string, 7\\?\\: string, \\.\\.\\.\\} in isset\\(\\) always exists and is not nullable\\.$#', + 'identifier' => 'isset.offset', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Validator/Time.php', +); +$ignoreErrors[] = array( + 'message' => '#^Offset 2 on list\\{0\\: non\\-falsy\\-string, 1\\: non\\-falsy\\-string&numeric\\-string, 2\\: non\\-falsy\\-string&numeric\\-string, 3\\?\\: string, 4\\?\\: \'\'\\|\\(non\\-falsy\\-string&numeric\\-string\\), 5\\?\\: string, 6\\?\\: \'\'\\|numeric\\-string, 7\\?\\: string, \\.\\.\\.\\} in isset\\(\\) always exists and is not nullable\\.$#', + 'identifier' => 'isset.offset', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Validator/Time.php', +); -return ['parameters' => ['ignoreErrors' => $ignoreErrors]]; +return array('parameters' => array('ignoreErrors' => $ignoreErrors)); diff --git a/phpstan-php84.php b/phpstan-php84.php index 3d4bc263d..dc5562a0e 100644 --- a/phpstan-php84.php +++ b/phpstan-php84.php @@ -1,15 +1,15 @@ '#^Cannot unset property Doctrine_Connection\\:\\:\\$dbh because it might have hooks in a subclass\\.$#', - 'identifier' => 'unset.possiblyHookedProperty', - 'count' => 1, - 'path' => __DIR__ . '/lib/Doctrine/Connection.php', -]; +$ignoreErrors = array(); +$ignoreErrors[] = array( + 'message' => '#^Cannot unset property Doctrine_Connection\\:\\:\\$dbh because it might have hooks in a subclass\\.$#', + 'identifier' => 'unset.possiblyHookedProperty', + 'count' => 1, + 'path' => __DIR__ . '/lib/Doctrine/Connection.php', +); -return ['parameters' => ['ignoreErrors' => $ignoreErrors]]; +return array('parameters' => array('ignoreErrors' => $ignoreErrors));