diff --git a/Magento2/Internal/FileProxy.php b/Magento2/Internal/FileProxy.php
deleted file mode 100644
index a95043d7..00000000
--- a/Magento2/Internal/FileProxy.php
+++ /dev/null
@@ -1,465 +0,0 @@
- callable. For example: ['addError' => fn() => {}]
- */
- public function __construct(\PHP_CodeSniffer\Files\File $file, array $proxies = [])
- {
- $this->file = $file;
- $this->proxies = $proxies;
- // parent constructor is not called intentionally
- }
-
- /**
- * @inheritdoc
- */
- public function setContent($content)
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])($content);
- }
- return $this->file->setContent($content);
- }
-
- /**
- * @inheritdoc
- */
- public function reloadContent()
- {
- if (isset($this->proxies[__FUNCTION__])) {
- ($this->proxies[__FUNCTION__])();
- }
- $this->file->reloadContent();
- }
-
- /**
- * @inheritdoc
- */
- public function disableCaching()
- {
- if (isset($this->proxies[__FUNCTION__])) {
- ($this->proxies[__FUNCTION__])();
- }
- $this->file->disableCaching();
- }
-
- /**
- * @inheritdoc
- */
- public function process()
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])();
- }
- return $this->file->process();
- }
-
- /**
- * @inheritdoc
- */
- public function parse()
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])();
- }
- return $this->file->parse();
- }
-
- /**
- * @inheritdoc
- */
- public function getTokens()
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])();
- }
- return $this->file->getTokens();
- }
-
- /**
- * @inheritdoc
- */
- public function cleanUp()
- {
- if (isset($this->proxies[__FUNCTION__])) {
- ($this->proxies[__FUNCTION__])();
- }
- $this->file->cleanUp();
- }
-
- /**
- * @inheritdoc
- */
- public function addError($error, $stackPtr, $code, $data = [], $severity = 0, $fixable = false)
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])($error, $stackPtr, $code, $data, $severity, $fixable);
- }
- return $this->file->addError($error, $stackPtr, $code, $data, $severity, $fixable);
- }
-
- /**
- * @inheritdoc
- */
- public function addWarning($warning, $stackPtr, $code, $data = [], $severity = 0, $fixable = false)
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])($warning, $stackPtr, $code, $data, $severity, $fixable);
- }
- return $this->file->addFixableWarning($warning, $stackPtr, $code, $data, $severity);
- }
-
- /**
- * @inheritdoc
- */
- public function addErrorOnLine($error, $line, $code, $data = [], $severity = 0)
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])($error, $line, $code, $data, $severity);
- }
- return $this->file->addErrorOnLine($error, $line, $code, $data, $severity);
- }
-
- /**
- * @inheritdoc
- */
- public function addWarningOnLine($warning, $line, $code, $data = [], $severity = 0)
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])($warning, $line, $code, $data, $severity);
- }
- return $this->file->addWarningOnLine($warning, $line, $code, $data, $severity);
- }
-
- /**
- * @inheritdoc
- */
- public function addFixableError($error, $stackPtr, $code, $data = [], $severity = 0)
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])($error, $stackPtr, $code, $data, $severity);
- }
- return $this->file->addFixableError($error, $stackPtr, $code, $data, $severity);
- }
-
- /**
- * @inheritdoc
- */
- public function addFixableWarning($warning, $stackPtr, $code, $data = [], $severity = 0)
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])($warning, $stackPtr, $code, $data, $severity);
- }
- return $this->file->addFixableWarning($warning, $stackPtr, $code, $data, $severity);
- }
-
- /**
- * @inheritdoc
- */
- public function recordMetric($stackPtr, $metric, $value)
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])($stackPtr, $metric, $value);
- }
- return $this->file->recordMetric($stackPtr, $metric, $value);
- }
-
- /**
- * @inheritdoc
- */
- public function getErrorCount()
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])();
- }
- return $this->file->getErrorCount();
- }
-
- /**
- * @inheritdoc
- */
- public function getWarningCount()
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])();
- }
- return $this->file->getWarningCount();
- }
-
- /**
- * @inheritdoc
- */
- public function getFixableCount()
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])();
- }
- return $this->file->getFixableCount();
- }
-
- /**
- * @inheritdoc
- */
- public function getFixedCount()
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])();
- }
- return $this->file->getFixedCount();
- }
-
- /**
- * @inheritdoc
- */
- public function getIgnoredLines()
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])();
- }
- return $this->file->getIgnoredLines();
- }
-
- /**
- * @inheritdoc
- */
- public function getErrors()
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])();
- }
- return $this->file->getErrors();
- }
-
- /**
- * @inheritdoc
- */
- public function getWarnings()
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])();
- }
- return $this->file->getWarnings();
- }
-
- /**
- * @inheritdoc
- */
- public function getMetrics()
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])();
- }
- return $this->file->getMetrics();
- }
-
- /**
- * @inheritdoc
- */
- public function getFilename()
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])();
- }
- return $this->file->getFilename();
- }
-
- /**
- * @inheritdoc
- */
- public function getDeclarationName($stackPtr)
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])($stackPtr);
- }
- return $this->file->getDeclarationName($stackPtr);
- }
-
- /**
- * @inheritdoc
- */
- public function getMethodParameters($stackPtr)
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])($stackPtr);
- }
- return $this->file->getMethodParameters($stackPtr);
- }
-
- /**
- * @inheritdoc
- */
- public function getMethodProperties($stackPtr)
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])($stackPtr);
- }
- return $this->file->getMethodProperties($stackPtr);
- }
-
- /**
- * @inheritdoc
- */
- public function getMemberProperties($stackPtr)
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])($stackPtr);
- }
- return $this->file->getMemberProperties($stackPtr);
- }
-
- /**
- * @inheritdoc
- */
- public function getClassProperties($stackPtr)
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])($stackPtr);
- }
- return $this->file->getClassProperties($stackPtr);
- }
-
- /**
- * @inheritdoc
- */
- public function isReference($stackPtr)
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])($stackPtr);
- }
- return $this->file->isReference($stackPtr);
- }
-
- /**
- * @inheritdoc
- */
- public function getTokensAsString($start, $length, $origContent = false)
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])($start, $length, $origContent);
- }
- return $this->file->getTokensAsString($start, $length, $origContent);
- }
-
- /**
- * @inheritdoc
- */
- public function findPrevious($types, $start, $end = null, $exclude = false, $value = null, $local = false)
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])($types, $start, $end, $exclude, $value, $local);
- }
- return $this->file->findPrevious($types, $start, $end, $exclude, $value, $local);
- }
-
- /**
- * @inheritdoc
- */
- public function findNext($types, $start, $end = null, $exclude = false, $value = null, $local = false)
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])($types, $start, $end, $exclude, $value, $local);
- }
- return $this->file->findNext($types, $start, $end, $exclude, $value, $local);
- }
-
- /**
- * @inheritdoc
- */
- public function findStartOfStatement($start, $ignore = null)
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])($start, $ignore);
- }
- return $this->file->findStartOfStatement($start, $ignore);
- }
-
- /**
- * @inheritdoc
- */
- public function findEndOfStatement($start, $ignore = null)
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])($start, $ignore);
- }
- return $this->file->findEndOfStatement($start, $ignore);
- }
-
- /**
- * @inheritdoc
- */
- public function findFirstOnLine($types, $start, $exclude = false, $value = null)
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])($types, $start, $exclude, $value);
- }
- return $this->file->findFirstOnLine($types, $start, $exclude, $value);
- }
-
- /**
- * @inheritdoc
- */
- public function hasCondition($stackPtr, $types)
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])($stackPtr, $types);
- }
- return $this->file->hasCondition($stackPtr, $types);
- }
-
- /**
- * @inheritdoc
- */
- public function getCondition($stackPtr, $type, $first = true)
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])($stackPtr, $type, $first);
- }
- return $this->file->getCondition($stackPtr, $type, $first);
- }
-
- /**
- * @inheritdoc
- */
- public function findExtendedClassName($stackPtr)
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])($stackPtr);
- }
- return $this->file->findExtendedClassName($stackPtr);
- }
-
- /**
- * @inheritdoc
- */
- /**
- * @inheritdoc
- */
- public function findImplementedInterfaceNames($stackPtr)
- {
- if (isset($this->proxies[__FUNCTION__])) {
- return ($this->proxies[__FUNCTION__])($stackPtr);
- }
- return $this->file->findImplementedInterfaceNames($stackPtr);
- }
-}
diff --git a/Magento2/Sniffs/PHPCompatibility/ChangedIntToBoolParamTypeSniff.php b/Magento2/Sniffs/PHPCompatibility/ChangedIntToBoolParamTypeSniff.php
deleted file mode 100644
index e3aa6d87..00000000
--- a/Magento2/Sniffs/PHPCompatibility/ChangedIntToBoolParamTypeSniff.php
+++ /dev/null
@@ -1,14 +0,0 @@
-phpDocFormattingValidator = new PHPDocFormattingValidator();
- }
-
- /**
- * @inheritdoc
- */
- public function register()
- {
- return [
- \T_OBJECT_OPERATOR,
- \T_NULLSAFE_OBJECT_OPERATOR
- ];
- }
-
- /**
- * @inheritdoc
- */
- public function process(File $phpcsFile, $stackPtr)
- {
- if (!$this->supportsAbove('8.2')) {
- return;
- }
-
- $tokens = $phpcsFile->getTokens();
-
- // Check if pointer is inside a class.
- $classPtr = Conditions::getLastCondition($phpcsFile, $stackPtr, [\T_CLASS]);
- if ($classPtr === false) {
- return;
- }
-
- // Check if it is string.
- $propertyNamePtr = $phpcsFile->findNext(Tokens::$emptyTokens, $stackPtr + 1, null, true);
- if ($propertyNamePtr === false || $tokens[$propertyNamePtr]['code'] !== \T_STRING) {
- return;
- }
-
- $afterPropertyNamePtr = $phpcsFile->findNext(Tokens::$emptyTokens, ($propertyNamePtr + 1), null, true);
- // Check if it is not a method call.
- if ($tokens[$afterPropertyNamePtr]['code'] === \T_OPEN_PARENTHESIS) {
- return;
- }
-
- // Check if it is a property access on $this.
- $thisPtr = $phpcsFile->findPrevious(Tokens::$emptyTokens, $stackPtr - 1, null, true);
- if ($thisPtr === false
- || $tokens[$thisPtr]['code'] !== \T_VARIABLE
- || $tokens[$thisPtr]['content'] !== '$this'
- ) {
- return;
- }
-
- // Check if it is a direct property access.
- $beforeThisPtr = $phpcsFile->findPrevious(Tokens::$emptyTokens, $thisPtr - 1, null, true);
- if ($beforeThisPtr &&
- \in_array(
- $tokens[$beforeThisPtr]['code'],
- [\T_OBJECT_OPERATOR, \T_NULLSAFE_OBJECT_OPERATOR, \T_DOUBLE_COLON]
- )
- ) {
- return;
- }
-
- $propertyName = $tokens[$propertyNamePtr]['content'];
- if (\in_array($propertyName, $this->getClassDeclaredProperties($phpcsFile, $classPtr), true)
- || \in_array($propertyName, $this->getClassPromotedProperties($phpcsFile, $classPtr), true)
- || \in_array($propertyName, $this->getClassMagicProperties($phpcsFile, $classPtr), true)
- ) {
- return;
- }
-
- $className = ObjectDeclarations::getName($phpcsFile, $classPtr);
- $namespace = Namespaces::determineNamespace($phpcsFile, $classPtr);
- if ($namespace !== '') {
- $className = $namespace . '\\' . $className;
- }
- $isPropertyInherited = true;
- try {
- // Try to autoload the class and check if the property is inherited.
- if (\class_exists($className)) {
- $isPropertyInherited = \property_exists($className, $propertyName);
- }
- } catch (\Throwable $e) {
- unset($e);
- // Ignore any errors that may occur during autoloading.
- }
- if ($isPropertyInherited === false ||
- !$this->isClassUsingTraits($phpcsFile, $classPtr)
- && ObjectDeclarations::findExtendedClassName($phpcsFile, $classPtr) === false
- ) {
- $error = 'Access to an undefined property %s::$%s;' .
- ' Creation of dynamic property is deprecated since PHP 8.2';
- $data = [$className, $propertyName];
- $phpcsFile->addWarning($error, $propertyNamePtr, 'Deprecated', $data);
- }
- }
-
- /**
- * Get properties declared in the scope class
- *
- * @param File $phpcsFile
- * @param int $stackPtr
- * @return string[]
- */
- private function getClassDeclaredProperties(File $phpcsFile, int $stackPtr): array
- {
- if (Cache::isCached($phpcsFile, __METHOD__, $stackPtr) === true) {
- return Cache::get($phpcsFile, __METHOD__, $stackPtr);
- }
- $tokens = $phpcsFile->getTokens();
- $properties = [];
- $next = $stackPtr;
- while ($next = $this->findInClass($phpcsFile, $stackPtr, $next + 1, \T_VARIABLE)) {
- if (Scopes::isOOProperty($phpcsFile, $next) !== false) {
- $properties[] = \ltrim($tokens[$next]['content'], '$');
- }
- }
- Cache::set($phpcsFile, __METHOD__, $stackPtr, $properties);
- return $properties;
- }
-
- /**
- * Get properties declared in the constructor method
- *
- * @param File $phpcsFile
- * @param int $stackPtr
- * @return string[]
- */
- private function getClassPromotedProperties(File $phpcsFile, int $stackPtr): array
- {
- if (Cache::isCached($phpcsFile, __METHOD__, $stackPtr) === true) {
- return Cache::get($phpcsFile, __METHOD__, $stackPtr);
- }
- $properties = [];
- $next = $stackPtr;
- while ($next = $this->findInClass($phpcsFile, $stackPtr, $next + 1, \T_FUNCTION)) {
- if (Scopes::isOOMethod($phpcsFile, $next)
- && \strtolower(FunctionDeclarations::getName($phpcsFile, $next)) === '__construct'
- ) {
- $params = FunctionDeclarations::getParameters($phpcsFile, $next);
- foreach ($params as $param) {
- if (isset($param['property_visibility']) === true) {
- $properties[] = \ltrim($param['name'], '$');
- }
- }
- break;
- }
- }
- Cache::set($phpcsFile, __METHOD__, $stackPtr, $properties);
- return $properties;
- }
-
- /**
- * Find magic properties declared in the class PHPDoc
- *
- * @param File $phpcsFile
- * @param int $stackPtr
- * @return string[]
- */
- public function getClassMagicProperties(File $phpcsFile, int $stackPtr): array
- {
- if (Cache::isCached($phpcsFile, __METHOD__, $stackPtr) === true) {
- return Cache::get($phpcsFile, __METHOD__, $stackPtr);
- }
- $properties = [];
- $tokens = $phpcsFile->getTokens();
- $commentStartPtr = $this->phpDocFormattingValidator->findPHPDoc($stackPtr, $phpcsFile);
- if ($commentStartPtr === -1) {
- return [];
- }
- foreach ($tokens[$commentStartPtr]['comment_tags'] as $tag) {
- $token = $tokens[$tag];
- if (!\in_array($token['content'], $this->magicPropertyTags, true)
- || $tokens[($tag + 2)]['code'] !== \T_DOC_COMMENT_STRING
- ) {
- continue;
- }
- $commentParts = \preg_split('/\s+/', (string)$tokens[($tag + 2)]['content'], 3);
- if (\strpos($commentParts[0], '$') === 0) {
- $properties[] = \ltrim($commentParts[0], '$');
- } elseif (isset($commentParts[1])) {
- $properties[] = \ltrim($commentParts[1], '$');
- }
- }
- Cache::set($phpcsFile, __METHOD__, $stackPtr, $properties);
- return $properties;
- }
-
- /**
- * Check if class uses traits
- *
- * @param File $phpcsFile
- * @param int $stackPtr
- * @return bool
- */
- private function isClassUsingTraits(File $phpcsFile, int $stackPtr): bool
- {
- if (Cache::isCached($phpcsFile, __METHOD__, $stackPtr) === true) {
- return Cache::get($phpcsFile, __METHOD__, $stackPtr);
- }
- $usesTraits = false;
- $next = $stackPtr;
- while ($next = $this->findInClass($phpcsFile, $stackPtr, $next + 1, \T_USE)) {
- if (UseStatements::isTraitUse($phpcsFile, $next) === true) {
- $usesTraits = true;
- break;
- }
- }
- Cache::set($phpcsFile, __METHOD__, $stackPtr, $usesTraits);
- return $usesTraits;
- }
-
- /**
- * Find token in class scope
- *
- * @param File $phpcsFile
- * @param int $classPtr
- * @param int $currentPtr
- * @param array|int|string $needle
- * @return int|false
- */
- private function findInClass(File $phpcsFile, int $classPtr, int $currentPtr, $needle)
- {
- $tokens = $phpcsFile->getTokens();
- $classScopeEnd = $tokens[$classPtr]['scope_closer'];
- $classScopeStart = $tokens[$classPtr]['scope_opener'];
- return $phpcsFile->findNext($needle, \max($currentPtr, $classScopeStart), $classScopeEnd);
- }
-}
diff --git a/Magento2/Sniffs/PHPCompatibility/DeprecatedEncodingsForMBStringFunctionsSniff.php b/Magento2/Sniffs/PHPCompatibility/DeprecatedEncodingsForMBStringFunctionsSniff.php
deleted file mode 100644
index a2c1dc38..00000000
--- a/Magento2/Sniffs/PHPCompatibility/DeprecatedEncodingsForMBStringFunctionsSniff.php
+++ /dev/null
@@ -1,173 +0,0 @@
- [2],
- 'mb_chr' => [2],
- 'mb_convert_case' => [3],
- 'mb_convert_encoding' => [2],
- 'mb_convert_kana' => [3],
- 'mb_convert_variables' => [1],
- 'mb_decode_numericentity' => [3],
- 'mb_encode_numericentity' => [3],
- 'mb_encoding_aliases' => [1],
- 'mb_ord' => [2],
- 'mb_scrub' => [2],
- 'mb_str_split' => [3],
- 'mb_strcut' => [4],
- 'mb_strimwidth' => [5],
- 'mb_stripos' => [4],
- 'mb_stristr' => [4],
- 'mb_strlen' => [2],
- 'mb_strpos' => [4],
- 'mb_strrchr' => [4],
- 'mb_strrichr' => [4],
- 'mb_strripos' => [4],
- 'mb_strrpos' => [4],
- 'mb_strstr' => [4],
- 'mb_strtolower' => [2],
- 'mb_strtoupper' => [2],
- 'mb_strwidth' => [2],
- 'mb_substr_count' => [3],
- 'mb_substr' => [4],
- ];
-
- /**
- * Message per encoding
- *
- * @var string[]
- */
- protected $messages = [
- 'qprint' => 'Handling QPrint via mbstring is deprecated since PHP 8.2;' .
- ' Use quoted_printable_encode/quoted_printable_decode instead',
- 'quoted-printable' => 'Handling QPrint via mbstring is deprecated since PHP 8.2;' .
- ' Use quoted_printable_encode/quoted_printable_decode instead',
- 'base64' => 'Handling Base64 via mbstring is deprecated since PHP 8.2;' .
- ' Use base64_encode/base64_decode instead',
- 'uuencode' => 'Handling Uuencode via mbstring is deprecated since PHP 8.2;' .
- ' Use convert_uuencode/convert_uudecode instead',
- 'html-entities' => 'Handling HTML entities via mbstring is deprecated since PHP 8.2;' .
- ' Use htmlspecialchars, htmlentities, or mb_encode_numericentity/mb_decode_numericentity instead',
- 'html' => 'Handling HTML entities via mbstring is deprecated since PHP 8.2;' .
- ' Use htmlspecialchars, htmlentities, or mb_encode_numericentity/mb_decode_numericentity instead'
- ];
-
- /**
- * @inheritdoc
- */
- public function register()
- {
- return [\T_STRING];
- }
-
- /**
- * @inheritdoc
- */
- public function process(File $phpcsFile, $stackPtr)
- {
- if (!$this->supportsAbove('8.2')) {
- return;
- }
-
- $tokens = $phpcsFile->getTokens();
- $function = $tokens[$stackPtr]['content'];
- $functionLc = strtolower($function);
-
- if (!isset($this->targetFunctions[$functionLc]) || !Assert::isBuiltinFunctionCall($phpcsFile, $stackPtr)) {
- return;
- }
-
- $parameters = $this->getFunctionCallParameters($phpcsFile, $stackPtr);
-
- foreach ($parameters as $index => $parameter) {
- $this->processParameter($phpcsFile, $function, $index, $parameter);
- }
- }
-
- /**
- * Process function parameter
- *
- * @param File $phpcsFile
- * @param string $function
- * @param int $index
- * @param array $parameter
- * @return void
- */
- public function processParameter(File $phpcsFile, string $function, int $index, array $parameter)
- {
- $functionLc = strtolower($function);
- if (!in_array($index, $this->targetFunctions[$functionLc])) {
- return;
- }
-
- $tokens = $phpcsFile->getTokens();
- $targetParam = $parameter;
- $nextNonEmpty = $phpcsFile->findNext(Tokens::$emptyTokens, $targetParam['start'], $targetParam['end'], true);
-
- if ($nextNonEmpty !== false && in_array($tokens[$nextNonEmpty]['code'], [\T_ARRAY, \T_OPEN_SHORT_ARRAY])) {
- $items = $this->getFunctionCallParameters($phpcsFile, $nextNonEmpty);
- } else {
- $items = [$parameter];
- }
-
- $textStringTokens = [
- \T_CONSTANT_ENCAPSED_STRING => true,
- \T_DOUBLE_QUOTED_STRING => true,
- \T_INLINE_HTML => true,
- \T_HEREDOC => true,
- \T_NOWDOC => true,
- ];
-
- foreach ($items as $item) {
- for ($i = $item['start']; $i <= $item['end']; $i++) {
- if ($tokens[$i]['code'] === \T_STRING
- || $tokens[$i]['code'] === \T_VARIABLE
- ) {
- // Variable, constant, function call. Ignore complete item as undetermined.
- break;
- }
-
- if (isset($textStringTokens[$tokens[$i]['code']]) === true) {
- $encoding = $this->stripQuotes(strtolower(trim($tokens[$i]['content'])));
- $encodings = array_flip(explode(',', $encoding));
- if (count(array_intersect_key($encodings, $this->messages)) > 0) {
- $phpcsFile->addWarning(
- $this->messages[$encoding],
- $i,
- 'Deprecated',
- [$item['raw']]
- );
-
- }
-
- // Only throw one error per array item.
- break;
- }
- }
- }
- }
-}
diff --git a/Magento2/Sniffs/PHPCompatibility/ForbiddenFinalPrivateMethodsSniff.php b/Magento2/Sniffs/PHPCompatibility/ForbiddenFinalPrivateMethodsSniff.php
deleted file mode 100644
index bf5e4c6f..00000000
--- a/Magento2/Sniffs/PHPCompatibility/ForbiddenFinalPrivateMethodsSniff.php
+++ /dev/null
@@ -1,45 +0,0 @@
-fixer->enabled = true;
- $warningCount = $phpcsFile->getWarningCount();
- $phpcsFileProxy = new FileProxy(
- $phpcsFile,
- [
- 'addWarning' => function ($warning, $stackPtr, $code, $data = [], $severity = 0) use ($phpcsFile) {
- $phpcsFile->addFixableWarning($warning, $stackPtr, $code, $data, $severity);
- },
- ]
- );
- $result = parent::process($phpcsFileProxy, $stackPtr);
- if ($warningCount < $phpcsFile->getWarningCount() && $phpcsFile->fixer->enabled === true) {
- $phpcsFile->fixer->beginChangeset();
- $prev = $phpcsFile->findPrevious(\T_FINAL, ($stackPtr - 1));
- $phpcsFile->fixer->replaceToken($prev, null);
- // Remove extra space left out by previous replacement
- $next = $phpcsFile->findNext(\T_WHITESPACE, $prev);
- $phpcsFile->fixer->replaceToken($next, null);
- $phpcsFile->fixer->endChangeset();
- }
-
- return $result;
- }
-}
diff --git a/Magento2/Sniffs/PHPCompatibility/RemovedAssertStringAssertionSniff.php b/Magento2/Sniffs/PHPCompatibility/RemovedAssertStringAssertionSniff.php
deleted file mode 100644
index c1f1984e..00000000
--- a/Magento2/Sniffs/PHPCompatibility/RemovedAssertStringAssertionSniff.php
+++ /dev/null
@@ -1,14 +0,0 @@
- [
- '5.0' => true,
- ],
- 'crack_closedict' => [
- '5.0' => true,
- ],
- 'crack_getlastmessage' => [
- '5.0' => true,
- ],
- 'crack_opendict' => [
- '5.0' => true,
- ],
-
- 'php_check_syntax' => [
- '5.0.5' => true,
- ],
-
- 'pfpro_cleanup' => [
- '5.1' => true,
- ],
- 'pfpro_init' => [
- '5.1' => true,
- ],
- 'pfpro_process_raw' => [
- '5.1' => true,
- ],
- 'pfpro_process' => [
- '5.1' => true,
- ],
- 'pfpro_version' => [
- '5.1' => true,
- ],
- 'm_checkstatus' => [
- '5.1' => true,
- ],
- 'm_completeauthorizations' => [
- '5.1' => true,
- ],
- 'm_connect' => [
- '5.1' => true,
- ],
- 'm_connectionerror' => [
- '5.1' => true,
- ],
- 'm_deletetrans' => [
- '5.1' => true,
- ],
- 'm_destroyconn' => [
- '5.1' => true,
- ],
- 'm_destroyengine' => [
- '5.1' => true,
- ],
- 'm_getcell' => [
- '5.1' => true,
- ],
- 'm_getcellbynum' => [
- '5.1' => true,
- ],
- 'm_getcommadelimited' => [
- '5.1' => true,
- ],
- 'm_getheader' => [
- '5.1' => true,
- ],
- 'm_initconn' => [
- '5.1' => true,
- ],
- 'm_initengine' => [
- '5.1' => true,
- ],
- 'm_iscommadelimited' => [
- '5.1' => true,
- ],
- 'm_maxconntimeout' => [
- '5.1' => true,
- ],
- 'm_monitor' => [
- '5.1' => true,
- ],
- 'm_numcolumns' => [
- '5.1' => true,
- ],
- 'm_numrows' => [
- '5.1' => true,
- ],
- 'm_parsecommadelimited' => [
- '5.1' => true,
- ],
- 'm_responsekeys' => [
- '5.1' => true,
- ],
- 'm_responseparam' => [
- '5.1' => true,
- ],
- 'm_returnstatus' => [
- '5.1' => true,
- ],
- 'm_setblocking' => [
- '5.1' => true,
- ],
- 'm_setdropfile' => [
- '5.1' => true,
- ],
- 'm_setip' => [
- '5.1' => true,
- ],
- 'm_setssl_cafile' => [
- '5.1' => true,
- ],
- 'm_setssl_files' => [
- '5.1' => true,
- ],
- 'm_setssl' => [
- '5.1' => true,
- ],
- 'm_settimeout' => [
- '5.1' => true,
- ],
- 'm_sslcert_gen_hash' => [
- '5.1' => true,
- ],
- 'm_transactionssent' => [
- '5.1' => true,
- ],
- 'm_transinqueue' => [
- '5.1' => true,
- ],
- 'm_transkeyval' => [
- '5.1' => true,
- ],
- 'm_transnew' => [
- '5.1' => true,
- ],
- 'm_transsend' => [
- '5.1' => true,
- ],
- 'm_uwait' => [
- '5.1' => true,
- ],
- 'm_validateidentifier' => [
- '5.1' => true,
- ],
- 'm_verifyconnection' => [
- '5.1' => true,
- ],
- 'm_verifysslcert' => [
- '5.1' => true,
- ],
- 'dio_close' => [
- '5.1' => true,
- ],
- 'dio_fcntl' => [
- '5.1' => true,
- ],
- 'dio_open' => [
- '5.1' => true,
- ],
- 'dio_read' => [
- '5.1' => true,
- ],
- 'dio_seek' => [
- '5.1' => true,
- ],
- 'dio_stat' => [
- '5.1' => true,
- ],
- 'dio_tcsetattr' => [
- '5.1' => true,
- ],
- 'dio_truncate' => [
- '5.1' => true,
- ],
- 'dio_write' => [
- '5.1' => true,
- ],
- 'fam_cancel_monitor' => [
- '5.1' => true,
- ],
- 'fam_close' => [
- '5.1' => true,
- ],
- 'fam_monitor_collection' => [
- '5.1' => true,
- ],
- 'fam_monitor_directory' => [
- '5.1' => true,
- ],
- 'fam_monitor_file' => [
- '5.1' => true,
- ],
- 'fam_next_event' => [
- '5.1' => true,
- ],
- 'fam_open' => [
- '5.1' => true,
- ],
- 'fam_pending' => [
- '5.1' => true,
- ],
- 'fam_resume_monitor' => [
- '5.1' => true,
- ],
- 'fam_suspend_monitor' => [
- '5.1' => true,
- ],
- 'yp_all' => [
- '5.1' => true,
- ],
- 'yp_cat' => [
- '5.1' => true,
- ],
- 'yp_err_string' => [
- '5.1' => true,
- ],
- 'yp_errno' => [
- '5.1' => true,
- ],
- 'yp_first' => [
- '5.1' => true,
- ],
- 'yp_get_default_domain' => [
- '5.1' => true,
- ],
- 'yp_master' => [
- '5.1' => true,
- ],
- 'yp_match' => [
- '5.1' => true,
- ],
- 'yp_next' => [
- '5.1' => true,
- ],
- 'yp_order' => [
- '5.1' => true,
- ],
- 'udm_add_search_limit' => [
- '5.1' => true,
- ],
- 'udm_alloc_agent_array' => [
- '5.1' => true,
- ],
- 'udm_alloc_agent' => [
- '5.1' => true,
- ],
- 'udm_api_version' => [
- '5.1' => true,
- ],
- 'udm_cat_list' => [
- '5.1' => true,
- ],
- 'udm_cat_path' => [
- '5.1' => true,
- ],
- 'udm_check_charset' => [
- '5.1' => true,
- ],
- 'udm_clear_search_limits' => [
- '5.1' => true,
- ],
- 'udm_crc32' => [
- '5.1' => true,
- ],
- 'udm_errno' => [
- '5.1' => true,
- ],
- 'udm_error' => [
- '5.1' => true,
- ],
- 'udm_find' => [
- '5.1' => true,
- ],
- 'udm_free_agent' => [
- '5.1' => true,
- ],
- 'udm_free_ispell_data' => [
- '5.1' => true,
- ],
- 'udm_free_res' => [
- '5.1' => true,
- ],
- 'udm_get_doc_count' => [
- '5.1' => true,
- ],
- 'udm_get_res_field' => [
- '5.1' => true,
- ],
- 'udm_get_res_param' => [
- '5.1' => true,
- ],
- 'udm_hash32' => [
- '5.1' => true,
- ],
- 'udm_load_ispell_data' => [
- '5.1' => true,
- ],
- 'udm_set_agent_param' => [
- '5.1' => true,
- ],
- 'w32api_deftype' => [
- '5.1' => true,
- ],
- 'w32api_init_dtype' => [
- '5.1' => true,
- ],
- 'w32api_invoke_function' => [
- '5.1' => true,
- ],
- 'w32api_register_function' => [
- '5.1' => true,
- ],
- 'w32api_set_call_method' => [
- '5.1' => true,
- ],
- 'cpdf_add_annotation' => [
- '5.1' => true,
- ],
- 'cpdf_add_outline' => [
- '5.1' => true,
- ],
- 'cpdf_arc' => [
- '5.1' => true,
- ],
- 'cpdf_begin_text' => [
- '5.1' => true,
- ],
- 'cpdf_circle' => [
- '5.1' => true,
- ],
- 'cpdf_clip' => [
- '5.1' => true,
- ],
- 'cpdf_close' => [
- '5.1' => true,
- ],
- 'cpdf_closepath_fill_stroke' => [
- '5.1' => true,
- ],
- 'cpdf_closepath_stroke' => [
- '5.1' => true,
- ],
- 'cpdf_closepath' => [
- '5.1' => true,
- ],
- 'cpdf_continue_text' => [
- '5.1' => true,
- ],
- 'cpdf_curveto' => [
- '5.1' => true,
- ],
- 'cpdf_end_text' => [
- '5.1' => true,
- ],
- 'cpdf_fill_stroke' => [
- '5.1' => true,
- ],
- 'cpdf_fill' => [
- '5.1' => true,
- ],
- 'cpdf_finalize_page' => [
- '5.1' => true,
- ],
- 'cpdf_finalize' => [
- '5.1' => true,
- ],
- 'cpdf_global_set_document_limits' => [
- '5.1' => true,
- ],
- 'cpdf_import_jpeg' => [
- '5.1' => true,
- ],
- 'cpdf_lineto' => [
- '5.1' => true,
- ],
- 'cpdf_moveto' => [
- '5.1' => true,
- ],
- 'cpdf_newpath' => [
- '5.1' => true,
- ],
- 'cpdf_open' => [
- '5.1' => true,
- ],
- 'cpdf_output_buffer' => [
- '5.1' => true,
- ],
- 'cpdf_page_init' => [
- '5.1' => true,
- ],
- 'cpdf_place_inline_image' => [
- '5.1' => true,
- ],
- 'cpdf_rect' => [
- '5.1' => true,
- ],
- 'cpdf_restore' => [
- '5.1' => true,
- ],
- 'cpdf_rlineto' => [
- '5.1' => true,
- ],
- 'cpdf_rmoveto' => [
- '5.1' => true,
- ],
- 'cpdf_rotate_text' => [
- '5.1' => true,
- ],
- 'cpdf_rotate' => [
- '5.1' => true,
- ],
- 'cpdf_save_to_file' => [
- '5.1' => true,
- ],
- 'cpdf_save' => [
- '5.1' => true,
- ],
- 'cpdf_scale' => [
- '5.1' => true,
- ],
- 'cpdf_set_action_url' => [
- '5.1' => true,
- ],
- 'cpdf_set_char_spacing' => [
- '5.1' => true,
- ],
- 'cpdf_set_creator' => [
- '5.1' => true,
- ],
- 'cpdf_set_current_page' => [
- '5.1' => true,
- ],
- 'cpdf_set_font_directories' => [
- '5.1' => true,
- ],
- 'cpdf_set_font_map_file' => [
- '5.1' => true,
- ],
- 'cpdf_set_font' => [
- '5.1' => true,
- ],
- 'cpdf_set_horiz_scaling' => [
- '5.1' => true,
- ],
- 'cpdf_set_keywords' => [
- '5.1' => true,
- ],
- 'cpdf_set_leading' => [
- '5.1' => true,
- ],
- 'cpdf_set_page_animation' => [
- '5.1' => true,
- ],
- 'cpdf_set_subject' => [
- '5.1' => true,
- ],
- 'cpdf_set_text_matrix' => [
- '5.1' => true,
- ],
- 'cpdf_set_text_pos' => [
- '5.1' => true,
- ],
- 'cpdf_set_text_rendering' => [
- '5.1' => true,
- ],
- 'cpdf_set_text_rise' => [
- '5.1' => true,
- ],
- 'cpdf_set_title' => [
- '5.1' => true,
- ],
- 'cpdf_set_viewer_preferences' => [
- '5.1' => true,
- ],
- 'cpdf_set_word_spacing' => [
- '5.1' => true,
- ],
- 'cpdf_setdash' => [
- '5.1' => true,
- ],
- 'cpdf_setflat' => [
- '5.1' => true,
- ],
- 'cpdf_setgray_fill' => [
- '5.1' => true,
- ],
- 'cpdf_setgray_stroke' => [
- '5.1' => true,
- ],
- 'cpdf_setgray' => [
- '5.1' => true,
- ],
- 'cpdf_setlinecap' => [
- '5.1' => true,
- ],
- 'cpdf_setlinejoin' => [
- '5.1' => true,
- ],
- 'cpdf_setlinewidth' => [
- '5.1' => true,
- ],
- 'cpdf_setmiterlimit' => [
- '5.1' => true,
- ],
- 'cpdf_setrgbcolor_fill' => [
- '5.1' => true,
- ],
- 'cpdf_setrgbcolor_stroke' => [
- '5.1' => true,
- ],
- 'cpdf_setrgbcolor' => [
- '5.1' => true,
- ],
- 'cpdf_show_xy' => [
- '5.1' => true,
- ],
- 'cpdf_show' => [
- '5.1' => true,
- ],
- 'cpdf_stringwidth' => [
- '5.1' => true,
- ],
- 'cpdf_stroke' => [
- '5.1' => true,
- ],
- 'cpdf_text' => [
- '5.1' => true,
- ],
- 'cpdf_translate' => [
- '5.1' => true,
- ],
- 'ircg_channel_mode' => [
- '5.1' => true,
- ],
- 'ircg_disconnect' => [
- '5.1' => true,
- ],
- 'ircg_eval_ecmascript_params' => [
- '5.1' => true,
- ],
- 'ircg_fetch_error_msg' => [
- '5.1' => true,
- ],
- 'ircg_get_username' => [
- '5.1' => true,
- ],
- 'ircg_html_encode' => [
- '5.1' => true,
- ],
- 'ircg_ignore_add' => [
- '5.1' => true,
- ],
- 'ircg_ignore_del' => [
- '5.1' => true,
- ],
- 'ircg_invite' => [
- '5.1' => true,
- ],
- 'ircg_is_conn_alive' => [
- '5.1' => true,
- ],
- 'ircg_join' => [
- '5.1' => true,
- ],
- 'ircg_kick' => [
- '5.1' => true,
- ],
- 'ircg_list' => [
- '5.1' => true,
- ],
- 'ircg_lookup_format_messages' => [
- '5.1' => true,
- ],
- 'ircg_lusers' => [
- '5.1' => true,
- ],
- 'ircg_msg' => [
- '5.1' => true,
- ],
- 'ircg_names' => [
- '5.1' => true,
- ],
- 'ircg_nick' => [
- '5.1' => true,
- ],
- 'ircg_nickname_escape' => [
- '5.1' => true,
- ],
- 'ircg_nickname_unescape' => [
- '5.1' => true,
- ],
- 'ircg_notice' => [
- '5.1' => true,
- ],
- 'ircg_oper' => [
- '5.1' => true,
- ],
- 'ircg_part' => [
- '5.1' => true,
- ],
- 'ircg_pconnect' => [
- '5.1' => true,
- ],
- 'ircg_register_format_messages' => [
- '5.1' => true,
- ],
- 'ircg_set_current' => [
- '5.1' => true,
- ],
- 'ircg_set_file' => [
- '5.1' => true,
- ],
- 'ircg_set_on_die' => [
- '5.1' => true,
- ],
- 'ircg_topic' => [
- '5.1' => true,
- ],
- 'ircg_who' => [
- '5.1' => true,
- ],
- 'ircg_whois' => [
- '5.1' => true,
- ],
- 'dbx_close' => [
- '5.1' => true,
- ],
- 'dbx_compare' => [
- '5.1' => true,
- ],
- 'dbx_connect' => [
- '5.1' => true,
- ],
- 'dbx_error' => [
- '5.1' => true,
- ],
- 'dbx_escape_string' => [
- '5.1' => true,
- ],
- 'dbx_fetch_row' => [
- '5.1' => true,
- ],
- 'dbx_query' => [
- '5.1' => true,
- ],
- 'dbx_sort' => [
- '5.1' => true,
- ],
- 'ingres_autocommit' => [
- '5.1' => true,
- ],
- 'ingres_close' => [
- '5.1' => true,
- ],
- 'ingres_commit' => [
- '5.1' => true,
- ],
- 'ingres_connect' => [
- '5.1' => true,
- ],
- 'ingres_fetch_array' => [
- '5.1' => true,
- ],
- 'ingres_fetch_object' => [
- '5.1' => true,
- ],
- 'ingres_fetch_row' => [
- '5.1' => true,
- ],
- 'ingres_field_length' => [
- '5.1' => true,
- ],
- 'ingres_field_name' => [
- '5.1' => true,
- ],
- 'ingres_field_nullable' => [
- '5.1' => true,
- ],
- 'ingres_field_precision' => [
- '5.1' => true,
- ],
- 'ingres_field_scale' => [
- '5.1' => true,
- ],
- 'ingres_field_type' => [
- '5.1' => true,
- ],
- 'ingres_num_fields' => [
- '5.1' => true,
- ],
- 'ingres_num_rows' => [
- '5.1' => true,
- ],
- 'ingres_pconnect' => [
- '5.1' => true,
- ],
- 'ingres_query' => [
- '5.1' => true,
- ],
- 'ingres_rollback' => [
- '5.1' => true,
- ],
- 'ovrimos_close' => [
- '5.1' => true,
- ],
- 'ovrimos_commit' => [
- '5.1' => true,
- ],
- 'ovrimos_connect' => [
- '5.1' => true,
- ],
- 'ovrimos_cursor' => [
- '5.1' => true,
- ],
- 'ovrimos_exec' => [
- '5.1' => true,
- ],
- 'ovrimos_execute' => [
- '5.1' => true,
- ],
- 'ovrimos_fetch_into' => [
- '5.1' => true,
- ],
- 'ovrimos_fetch_row' => [
- '5.1' => true,
- ],
- 'ovrimos_field_len' => [
- '5.1' => true,
- ],
- 'ovrimos_field_name' => [
- '5.1' => true,
- ],
- 'ovrimos_field_num' => [
- '5.1' => true,
- ],
- 'ovrimos_field_type' => [
- '5.1' => true,
- ],
- 'ovrimos_free_result' => [
- '5.1' => true,
- ],
- 'ovrimos_longreadlen' => [
- '5.1' => true,
- ],
- 'ovrimos_num_fields' => [
- '5.1' => true,
- ],
- 'ovrimos_num_rows' => [
- '5.1' => true,
- ],
- 'ovrimos_prepare' => [
- '5.1' => true,
- ],
- 'ovrimos_result_all' => [
- '5.1' => true,
- ],
- 'ovrimos_result' => [
- '5.1' => true,
- ],
- 'ovrimos_rollback' => [
- '5.1' => true,
- ],
- 'ovrimos_close_all' => [
- '5.1' => true,
- ],
- 'ora_bind' => [
- '5.1' => true,
- ],
- 'ora_close' => [
- '5.1' => true,
- ],
- 'ora_columnname' => [
- '5.1' => true,
- ],
- 'ora_columnsize' => [
- '5.1' => true,
- ],
- 'ora_columntype' => [
- '5.1' => true,
- ],
- 'ora_commit' => [
- '5.1' => true,
- ],
- 'ora_commitoff' => [
- '5.1' => true,
- ],
- 'ora_commiton' => [
- '5.1' => true,
- ],
- 'ora_do' => [
- '5.1' => true,
- ],
- 'ora_error' => [
- '5.1' => true,
- ],
- 'ora_errorcode' => [
- '5.1' => true,
- ],
- 'ora_exec' => [
- '5.1' => true,
- ],
- 'ora_fetch_into' => [
- '5.1' => true,
- ],
- 'ora_fetch' => [
- '5.1' => true,
- ],
- 'ora_getcolumn' => [
- '5.1' => true,
- ],
- 'ora_logoff' => [
- '5.1' => true,
- ],
- 'ora_logon' => [
- '5.1' => true,
- ],
- 'ora_numcols' => [
- '5.1' => true,
- ],
- 'ora_numrows' => [
- '5.1' => true,
- ],
- 'ora_open' => [
- '5.1' => true,
- ],
- 'ora_parse' => [
- '5.1' => true,
- ],
- 'ora_plogon' => [
- '5.1' => true,
- ],
- 'ora_rollback' => [
- '5.1' => true,
- ],
- 'mysqli_embedded_connect' => [
- '5.1' => true,
- ],
- 'mysqli_server_end' => [
- '5.1' => true,
- ],
- 'mysqli_server_init' => [
- '5.1' => true,
- ],
-
- 'msession_connect' => [
- '5.1.3' => true,
- ],
- 'msession_count' => [
- '5.1.3' => true,
- ],
- 'msession_create' => [
- '5.1.3' => true,
- ],
- 'msession_destroy' => [
- '5.1.3' => true,
- ],
- 'msession_disconnect' => [
- '5.1.3' => true,
- ],
- 'msession_find' => [
- '5.1.3' => true,
- ],
- 'msession_get_array' => [
- '5.1.3' => true,
- ],
- 'msession_get_data' => [
- '5.1.3' => true,
- ],
- 'msession_get' => [
- '5.1.3' => true,
- ],
- 'msession_inc' => [
- '5.1.3' => true,
- ],
- 'msession_list' => [
- '5.1.3' => true,
- ],
- 'msession_listvar' => [
- '5.1.3' => true,
- ],
- 'msession_lock' => [
- '5.1.3' => true,
- ],
- 'msession_plugin' => [
- '5.1.3' => true,
- ],
- 'msession_randstr' => [
- '5.1.3' => true,
- ],
- 'msession_set_array' => [
- '5.1.3' => true,
- ],
- 'msession_set_data' => [
- '5.1.3' => true,
- ],
- 'msession_set' => [
- '5.1.3' => true,
- ],
- 'msession_timeout' => [
- '5.1.3' => true,
- ],
- 'msession_uniq' => [
- '5.1.3' => true,
- ],
- 'msession_unlock' => [
- '5.1.3' => true,
- ],
-
- 'mysqli_resource' => [
- '5.1.4' => true,
- ],
-
- 'mysql_createdb' => [
- '5.1.7' => true,
- ],
- 'mysql_dropdb' => [
- '5.1.7' => true,
- ],
- 'mysql_listtables' => [
- '5.1.7' => true,
- ],
-
- 'hwapi_attribute_new' => [
- '5.2' => true,
- ],
- 'hwapi_content_new' => [
- '5.2' => true,
- ],
- 'hwapi_hgcsp' => [
- '5.2' => true,
- ],
- 'hwapi_object_new' => [
- '5.2' => true,
- ],
- 'filepro_fieldcount' => [
- '5.2' => true,
- ],
- 'filepro_fieldname' => [
- '5.2' => true,
- ],
- 'filepro_fieldtype' => [
- '5.2' => true,
- ],
- 'filepro_fieldwidth' => [
- '5.2' => true,
- ],
- 'filepro_retrieve' => [
- '5.2' => true,
- ],
- 'filepro_rowcount' => [
- '5.2' => true,
- ],
- 'filepro' => [
- '5.2' => true,
- ],
-
- 'ifx_affected_rows' => [
- '5.2.1' => true,
- ],
- 'ifx_blobinfile_mode' => [
- '5.2.1' => true,
- ],
- 'ifx_byteasvarchar' => [
- '5.2.1' => true,
- ],
- 'ifx_close' => [
- '5.2.1' => true,
- ],
- 'ifx_connect' => [
- '5.2.1' => true,
- ],
- 'ifx_copy_blob' => [
- '5.2.1' => true,
- ],
- 'ifx_create_blob' => [
- '5.2.1' => true,
- ],
- 'ifx_create_char' => [
- '5.2.1' => true,
- ],
- 'ifx_do' => [
- '5.2.1' => true,
- ],
- 'ifx_error' => [
- '5.2.1' => true,
- ],
- 'ifx_errormsg' => [
- '5.2.1' => true,
- ],
- 'ifx_fetch_row' => [
- '5.2.1' => true,
- ],
- 'ifx_fieldproperties' => [
- '5.2.1' => true,
- ],
- 'ifx_fieldtypes' => [
- '5.2.1' => true,
- ],
- 'ifx_free_blob' => [
- '5.2.1' => true,
- ],
- 'ifx_free_char' => [
- '5.2.1' => true,
- ],
- 'ifx_free_result' => [
- '5.2.1' => true,
- ],
- 'ifx_get_blob' => [
- '5.2.1' => true,
- ],
- 'ifx_get_char' => [
- '5.2.1' => true,
- ],
- 'ifx_getsqlca' => [
- '5.2.1' => true,
- ],
- 'ifx_htmltbl_result' => [
- '5.2.1' => true,
- ],
- 'ifx_nullformat' => [
- '5.2.1' => true,
- ],
- 'ifx_num_fields' => [
- '5.2.1' => true,
- ],
- 'ifx_num_rows' => [
- '5.2.1' => true,
- ],
- 'ifx_pconnect' => [
- '5.2.1' => true,
- ],
- 'ifx_prepare' => [
- '5.2.1' => true,
- ],
- 'ifx_query' => [
- '5.2.1' => true,
- ],
- 'ifx_textasvarchar' => [
- '5.2.1' => true,
- ],
- 'ifx_update_blob' => [
- '5.2.1' => true,
- ],
- 'ifx_update_char' => [
- '5.2.1' => true,
- ],
- 'ifxus_close_slob' => [
- '5.2.1' => true,
- ],
- 'ifxus_create_slob' => [
- '5.2.1' => true,
- ],
- 'ifxus_free_slob' => [
- '5.2.1' => true,
- ],
- 'ifxus_open_slob' => [
- '5.2.1' => true,
- ],
- 'ifxus_read_slob' => [
- '5.2.1' => true,
- ],
- 'ifxus_seek_slob' => [
- '5.2.1' => true,
- ],
- 'ifxus_tell_slob' => [
- '5.2.1' => true,
- ],
- 'ifxus_write_slob' => [
- '5.2.1' => true,
- ],
-
- 'ncurses_addch' => [
- '5.3' => true,
- ],
- 'ncurses_addchnstr' => [
- '5.3' => true,
- ],
- 'ncurses_addchstr' => [
- '5.3' => true,
- ],
- 'ncurses_addnstr' => [
- '5.3' => true,
- ],
- 'ncurses_addstr' => [
- '5.3' => true,
- ],
- 'ncurses_assume_default_colors' => [
- '5.3' => true,
- ],
- 'ncurses_attroff' => [
- '5.3' => true,
- ],
- 'ncurses_attron' => [
- '5.3' => true,
- ],
- 'ncurses_attrset' => [
- '5.3' => true,
- ],
- 'ncurses_baudrate' => [
- '5.3' => true,
- ],
- 'ncurses_beep' => [
- '5.3' => true,
- ],
- 'ncurses_bkgd' => [
- '5.3' => true,
- ],
- 'ncurses_bkgdset' => [
- '5.3' => true,
- ],
- 'ncurses_border' => [
- '5.3' => true,
- ],
- 'ncurses_bottom_panel' => [
- '5.3' => true,
- ],
- 'ncurses_can_change_color' => [
- '5.3' => true,
- ],
- 'ncurses_cbreak' => [
- '5.3' => true,
- ],
- 'ncurses_clear' => [
- '5.3' => true,
- ],
- 'ncurses_clrtobot' => [
- '5.3' => true,
- ],
- 'ncurses_clrtoeol' => [
- '5.3' => true,
- ],
- 'ncurses_color_content' => [
- '5.3' => true,
- ],
- 'ncurses_color_set' => [
- '5.3' => true,
- ],
- 'ncurses_curs_set' => [
- '5.3' => true,
- ],
- 'ncurses_def_prog_mode' => [
- '5.3' => true,
- ],
- 'ncurses_def_shell_mode' => [
- '5.3' => true,
- ],
- 'ncurses_define_key' => [
- '5.3' => true,
- ],
- 'ncurses_del_panel' => [
- '5.3' => true,
- ],
- 'ncurses_delay_output' => [
- '5.3' => true,
- ],
- 'ncurses_delch' => [
- '5.3' => true,
- ],
- 'ncurses_deleteln' => [
- '5.3' => true,
- ],
- 'ncurses_delwin' => [
- '5.3' => true,
- ],
- 'ncurses_doupdate' => [
- '5.3' => true,
- ],
- 'ncurses_echo' => [
- '5.3' => true,
- ],
- 'ncurses_echochar' => [
- '5.3' => true,
- ],
- 'ncurses_end' => [
- '5.3' => true,
- ],
- 'ncurses_erase' => [
- '5.3' => true,
- ],
- 'ncurses_erasechar' => [
- '5.3' => true,
- ],
- 'ncurses_filter' => [
- '5.3' => true,
- ],
- 'ncurses_flash' => [
- '5.3' => true,
- ],
- 'ncurses_flushinp' => [
- '5.3' => true,
- ],
- 'ncurses_getch' => [
- '5.3' => true,
- ],
- 'ncurses_getmaxyx' => [
- '5.3' => true,
- ],
- 'ncurses_getmouse' => [
- '5.3' => true,
- ],
- 'ncurses_getyx' => [
- '5.3' => true,
- ],
- 'ncurses_halfdelay' => [
- '5.3' => true,
- ],
- 'ncurses_has_colors' => [
- '5.3' => true,
- ],
- 'ncurses_has_ic' => [
- '5.3' => true,
- ],
- 'ncurses_has_il' => [
- '5.3' => true,
- ],
- 'ncurses_has_key' => [
- '5.3' => true,
- ],
- 'ncurses_hide_panel' => [
- '5.3' => true,
- ],
- 'ncurses_hline' => [
- '5.3' => true,
- ],
- 'ncurses_inch' => [
- '5.3' => true,
- ],
- 'ncurses_init_color' => [
- '5.3' => true,
- ],
- 'ncurses_init_pair' => [
- '5.3' => true,
- ],
- 'ncurses_init' => [
- '5.3' => true,
- ],
- 'ncurses_insch' => [
- '5.3' => true,
- ],
- 'ncurses_insdelln' => [
- '5.3' => true,
- ],
- 'ncurses_insertln' => [
- '5.3' => true,
- ],
- 'ncurses_insstr' => [
- '5.3' => true,
- ],
- 'ncurses_instr' => [
- '5.3' => true,
- ],
- 'ncurses_isendwin' => [
- '5.3' => true,
- ],
- 'ncurses_keyok' => [
- '5.3' => true,
- ],
- 'ncurses_keypad' => [
- '5.3' => true,
- ],
- 'ncurses_killchar' => [
- '5.3' => true,
- ],
- 'ncurses_longname' => [
- '5.3' => true,
- ],
- 'ncurses_meta' => [
- '5.3' => true,
- ],
- 'ncurses_mouse_trafo' => [
- '5.3' => true,
- ],
- 'ncurses_mouseinterval' => [
- '5.3' => true,
- ],
- 'ncurses_mousemask' => [
- '5.3' => true,
- ],
- 'ncurses_move_panel' => [
- '5.3' => true,
- ],
- 'ncurses_move' => [
- '5.3' => true,
- ],
- 'ncurses_mvaddch' => [
- '5.3' => true,
- ],
- 'ncurses_mvaddchnstr' => [
- '5.3' => true,
- ],
- 'ncurses_mvaddchstr' => [
- '5.3' => true,
- ],
- 'ncurses_mvaddnstr' => [
- '5.3' => true,
- ],
- 'ncurses_mvaddstr' => [
- '5.3' => true,
- ],
- 'ncurses_mvcur' => [
- '5.3' => true,
- ],
- 'ncurses_mvdelch' => [
- '5.3' => true,
- ],
- 'ncurses_mvgetch' => [
- '5.3' => true,
- ],
- 'ncurses_mvhline' => [
- '5.3' => true,
- ],
- 'ncurses_mvinch' => [
- '5.3' => true,
- ],
- 'ncurses_mvvline' => [
- '5.3' => true,
- ],
- 'ncurses_mvwaddstr' => [
- '5.3' => true,
- ],
- 'ncurses_napms' => [
- '5.3' => true,
- ],
- 'ncurses_new_panel' => [
- '5.3' => true,
- ],
- 'ncurses_newpad' => [
- '5.3' => true,
- ],
- 'ncurses_newwin' => [
- '5.3' => true,
- ],
- 'ncurses_nl' => [
- '5.3' => true,
- ],
- 'ncurses_nocbreak' => [
- '5.3' => true,
- ],
- 'ncurses_noecho' => [
- '5.3' => true,
- ],
- 'ncurses_nonl' => [
- '5.3' => true,
- ],
- 'ncurses_noqiflush' => [
- '5.3' => true,
- ],
- 'ncurses_noraw' => [
- '5.3' => true,
- ],
- 'ncurses_pair_content' => [
- '5.3' => true,
- ],
- 'ncurses_panel_above' => [
- '5.3' => true,
- ],
- 'ncurses_panel_below' => [
- '5.3' => true,
- ],
- 'ncurses_panel_window' => [
- '5.3' => true,
- ],
- 'ncurses_pnoutrefresh' => [
- '5.3' => true,
- ],
- 'ncurses_prefresh' => [
- '5.3' => true,
- ],
- 'ncurses_putp' => [
- '5.3' => true,
- ],
- 'ncurses_qiflush' => [
- '5.3' => true,
- ],
- 'ncurses_raw' => [
- '5.3' => true,
- ],
- 'ncurses_refresh' => [
- '5.3' => true,
- ],
- 'ncurses_replace_panel' => [
- '5.3' => true,
- ],
- 'ncurses_reset_prog_mode' => [
- '5.3' => true,
- ],
- 'ncurses_reset_shell_mode' => [
- '5.3' => true,
- ],
- 'ncurses_resetty' => [
- '5.3' => true,
- ],
- 'ncurses_savetty' => [
- '5.3' => true,
- ],
- 'ncurses_scr_dump' => [
- '5.3' => true,
- ],
- 'ncurses_scr_init' => [
- '5.3' => true,
- ],
- 'ncurses_scr_restore' => [
- '5.3' => true,
- ],
- 'ncurses_scr_set' => [
- '5.3' => true,
- ],
- 'ncurses_scrl' => [
- '5.3' => true,
- ],
- 'ncurses_show_panel' => [
- '5.3' => true,
- ],
- 'ncurses_slk_attr' => [
- '5.3' => true,
- ],
- 'ncurses_slk_attroff' => [
- '5.3' => true,
- ],
- 'ncurses_slk_attron' => [
- '5.3' => true,
- ],
- 'ncurses_slk_attrset' => [
- '5.3' => true,
- ],
- 'ncurses_slk_clear' => [
- '5.3' => true,
- ],
- 'ncurses_slk_color' => [
- '5.3' => true,
- ],
- 'ncurses_slk_init' => [
- '5.3' => true,
- ],
- 'ncurses_slk_noutrefresh' => [
- '5.3' => true,
- ],
- 'ncurses_slk_refresh' => [
- '5.3' => true,
- ],
- 'ncurses_slk_restore' => [
- '5.3' => true,
- ],
- 'ncurses_slk_set' => [
- '5.3' => true,
- ],
- 'ncurses_slk_touch' => [
- '5.3' => true,
- ],
- 'ncurses_standend' => [
- '5.3' => true,
- ],
- 'ncurses_standout' => [
- '5.3' => true,
- ],
- 'ncurses_start_color' => [
- '5.3' => true,
- ],
- 'ncurses_termattrs' => [
- '5.3' => true,
- ],
- 'ncurses_termname' => [
- '5.3' => true,
- ],
- 'ncurses_timeout' => [
- '5.3' => true,
- ],
- 'ncurses_top_panel' => [
- '5.3' => true,
- ],
- 'ncurses_typeahead' => [
- '5.3' => true,
- ],
- 'ncurses_ungetch' => [
- '5.3' => true,
- ],
- 'ncurses_ungetmouse' => [
- '5.3' => true,
- ],
- 'ncurses_update_panels' => [
- '5.3' => true,
- ],
- 'ncurses_use_default_colors' => [
- '5.3' => true,
- ],
- 'ncurses_use_env' => [
- '5.3' => true,
- ],
- 'ncurses_use_extended_names' => [
- '5.3' => true,
- ],
- 'ncurses_vidattr' => [
- '5.3' => true,
- ],
- 'ncurses_vline' => [
- '5.3' => true,
- ],
- 'ncurses_waddch' => [
- '5.3' => true,
- ],
- 'ncurses_waddstr' => [
- '5.3' => true,
- ],
- 'ncurses_wattroff' => [
- '5.3' => true,
- ],
- 'ncurses_wattron' => [
- '5.3' => true,
- ],
- 'ncurses_wattrset' => [
- '5.3' => true,
- ],
- 'ncurses_wborder' => [
- '5.3' => true,
- ],
- 'ncurses_wclear' => [
- '5.3' => true,
- ],
- 'ncurses_wcolor_set' => [
- '5.3' => true,
- ],
- 'ncurses_werase' => [
- '5.3' => true,
- ],
- 'ncurses_wgetch' => [
- '5.3' => true,
- ],
- 'ncurses_whline' => [
- '5.3' => true,
- ],
- 'ncurses_wmouse_trafo' => [
- '5.3' => true,
- ],
- 'ncurses_wmove' => [
- '5.3' => true,
- ],
- 'ncurses_wnoutrefresh' => [
- '5.3' => true,
- ],
- 'ncurses_wrefresh' => [
- '5.3' => true,
- ],
- 'ncurses_wstandend' => [
- '5.3' => true,
- ],
- 'ncurses_wstandout' => [
- '5.3' => true,
- ],
- 'ncurses_wvline' => [
- '5.3' => true,
- ],
- 'fdf_add_doc_javascript' => [
- '5.3' => true,
- ],
- 'fdf_add_template' => [
- '5.3' => true,
- ],
- 'fdf_close' => [
- '5.3' => true,
- ],
- 'fdf_create' => [
- '5.3' => true,
- ],
- 'fdf_enum_values' => [
- '5.3' => true,
- ],
- 'fdf_errno' => [
- '5.3' => true,
- ],
- 'fdf_error' => [
- '5.3' => true,
- ],
- 'fdf_get_ap' => [
- '5.3' => true,
- ],
- 'fdf_get_attachment' => [
- '5.3' => true,
- ],
- 'fdf_get_encoding' => [
- '5.3' => true,
- ],
- 'fdf_get_file' => [
- '5.3' => true,
- ],
- 'fdf_get_flags' => [
- '5.3' => true,
- ],
- 'fdf_get_opt' => [
- '5.3' => true,
- ],
- 'fdf_get_status' => [
- '5.3' => true,
- ],
- 'fdf_get_value' => [
- '5.3' => true,
- ],
- 'fdf_get_version' => [
- '5.3' => true,
- ],
- 'fdf_header' => [
- '5.3' => true,
- ],
- 'fdf_next_field_name' => [
- '5.3' => true,
- ],
- 'fdf_open_string' => [
- '5.3' => true,
- ],
- 'fdf_open' => [
- '5.3' => true,
- ],
- 'fdf_remove_item' => [
- '5.3' => true,
- ],
- 'fdf_save_string' => [
- '5.3' => true,
- ],
- 'fdf_save' => [
- '5.3' => true,
- ],
- 'fdf_set_ap' => [
- '5.3' => true,
- ],
- 'fdf_set_encoding' => [
- '5.3' => true,
- ],
- 'fdf_set_file' => [
- '5.3' => true,
- ],
- 'fdf_set_flags' => [
- '5.3' => true,
- ],
- 'fdf_set_javascript_action' => [
- '5.3' => true,
- ],
- 'fdf_set_on_import_javascript' => [
- '5.3' => true,
- ],
- 'fdf_set_opt' => [
- '5.3' => true,
- ],
- 'fdf_set_status' => [
- '5.3' => true,
- ],
- 'fdf_set_submit_form_action' => [
- '5.3' => true,
- ],
- 'fdf_set_target_frame' => [
- '5.3' => true,
- ],
- 'fdf_set_value' => [
- '5.3' => true,
- ],
- 'fdf_set_version' => [
- '5.3' => true,
- ],
- 'ming_keypress' => [
- '5.3' => true,
- ],
- 'ming_setcubicthreshold' => [
- '5.3' => true,
- ],
- 'ming_setscale' => [
- '5.3' => true,
- ],
- 'ming_setswfcompression' => [
- '5.3' => true,
- ],
- 'ming_useconstants' => [
- '5.3' => true,
- ],
- 'ming_useswfversion' => [
- '5.3' => true,
- ],
- 'dbase_add_record' => [
- '5.3' => true,
- ],
- 'dbase_close' => [
- '5.3' => true,
- ],
- 'dbase_create' => [
- '5.3' => true,
- ],
- 'dbase_delete_record' => [
- '5.3' => true,
- ],
- 'dbase_get_header_info' => [
- '5.3' => true,
- ],
- 'dbase_get_record_with_names' => [
- '5.3' => true,
- ],
- 'dbase_get_record' => [
- '5.3' => true,
- ],
- 'dbase_numfields' => [
- '5.3' => true,
- ],
- 'dbase_numrecords' => [
- '5.3' => true,
- ],
- 'dbase_open' => [
- '5.3' => true,
- ],
- 'dbase_pack' => [
- '5.3' => true,
- ],
- 'dbase_replace_record' => [
- '5.3' => true,
- ],
- 'fbsql_affected_rows' => [
- '5.3' => true,
- ],
- 'fbsql_autocommit' => [
- '5.3' => true,
- ],
- 'fbsql_blob_size' => [
- '5.3' => true,
- ],
- 'fbsql_change_user' => [
- '5.3' => true,
- ],
- 'fbsql_clob_size' => [
- '5.3' => true,
- ],
- 'fbsql_close' => [
- '5.3' => true,
- ],
- 'fbsql_commit' => [
- '5.3' => true,
- ],
- 'fbsql_connect' => [
- '5.3' => true,
- ],
- 'fbsql_create_blob' => [
- '5.3' => true,
- ],
- 'fbsql_create_clob' => [
- '5.3' => true,
- ],
- 'fbsql_create_db' => [
- '5.3' => true,
- ],
- 'fbsql_data_seek' => [
- '5.3' => true,
- ],
- 'fbsql_database_password' => [
- '5.3' => true,
- ],
- 'fbsql_database' => [
- '5.3' => true,
- ],
- 'fbsql_db_query' => [
- '5.3' => true,
- ],
- 'fbsql_db_status' => [
- '5.3' => true,
- ],
- 'fbsql_drop_db' => [
- '5.3' => true,
- ],
- 'fbsql_errno' => [
- '5.3' => true,
- ],
- 'fbsql_error' => [
- '5.3' => true,
- ],
- 'fbsql_fetch_array' => [
- '5.3' => true,
- ],
- 'fbsql_fetch_assoc' => [
- '5.3' => true,
- ],
- 'fbsql_fetch_field' => [
- '5.3' => true,
- ],
- 'fbsql_fetch_lengths' => [
- '5.3' => true,
- ],
- 'fbsql_fetch_object' => [
- '5.3' => true,
- ],
- 'fbsql_fetch_row' => [
- '5.3' => true,
- ],
- 'fbsql_field_flags' => [
- '5.3' => true,
- ],
- 'fbsql_field_len' => [
- '5.3' => true,
- ],
- 'fbsql_field_name' => [
- '5.3' => true,
- ],
- 'fbsql_field_seek' => [
- '5.3' => true,
- ],
- 'fbsql_field_table' => [
- '5.3' => true,
- ],
- 'fbsql_field_type' => [
- '5.3' => true,
- ],
- 'fbsql_free_result' => [
- '5.3' => true,
- ],
- 'fbsql_get_autostart_info' => [
- '5.3' => true,
- ],
- 'fbsql_hostname' => [
- '5.3' => true,
- ],
- 'fbsql_insert_id' => [
- '5.3' => true,
- ],
- 'fbsql_list_dbs' => [
- '5.3' => true,
- ],
- 'fbsql_list_fields' => [
- '5.3' => true,
- ],
- 'fbsql_list_tables' => [
- '5.3' => true,
- ],
- 'fbsql_next_result' => [
- '5.3' => true,
- ],
- 'fbsql_num_fields' => [
- '5.3' => true,
- ],
- 'fbsql_num_rows' => [
- '5.3' => true,
- ],
- 'fbsql_password' => [
- '5.3' => true,
- ],
- 'fbsql_pconnect' => [
- '5.3' => true,
- ],
- 'fbsql_query' => [
- '5.3' => true,
- ],
- 'fbsql_read_blob' => [
- '5.3' => true,
- ],
- 'fbsql_read_clob' => [
- '5.3' => true,
- ],
- 'fbsql_result' => [
- '5.3' => true,
- ],
- 'fbsql_rollback' => [
- '5.3' => true,
- ],
- 'fbsql_rows_fetched' => [
- '5.3' => true,
- ],
- 'fbsql_select_db' => [
- '5.3' => true,
- ],
- 'fbsql_set_characterset' => [
- '5.3' => true,
- ],
- 'fbsql_set_lob_mode' => [
- '5.3' => true,
- ],
- 'fbsql_set_password' => [
- '5.3' => true,
- ],
- 'fbsql_set_transaction' => [
- '5.3' => true,
- ],
- 'fbsql_start_db' => [
- '5.3' => true,
- ],
- 'fbsql_stop_db' => [
- '5.3' => true,
- ],
- 'fbsql_table_name' => [
- '5.3' => true,
- ],
- 'fbsql_tablename' => [
- '5.3' => true,
- ],
- 'fbsql_username' => [
- '5.3' => true,
- ],
- 'fbsql_warnings' => [
- '5.3' => true,
- ],
- 'msql_affected_rows' => [
- '5.3' => true,
- ],
- 'msql_close' => [
- '5.3' => true,
- ],
- 'msql_connect' => [
- '5.3' => true,
- ],
- 'msql_create_db' => [
- '5.3' => true,
- ],
- 'msql_createdb' => [
- '5.3' => true,
- ],
- 'msql_data_seek' => [
- '5.3' => true,
- ],
- 'msql_db_query' => [
- '5.3' => true,
- ],
- 'msql_dbname' => [
- '5.3' => true,
- ],
- 'msql_drop_db' => [
- '5.3' => true,
- ],
- 'msql_error' => [
- '5.3' => true,
- ],
- 'msql_fetch_array' => [
- '5.3' => true,
- ],
- 'msql_fetch_field' => [
- '5.3' => true,
- ],
- 'msql_fetch_object' => [
- '5.3' => true,
- ],
- 'msql_fetch_row' => [
- '5.3' => true,
- ],
- 'msql_field_flags' => [
- '5.3' => true,
- ],
- 'msql_field_len' => [
- '5.3' => true,
- ],
- 'msql_field_name' => [
- '5.3' => true,
- ],
- 'msql_field_seek' => [
- '5.3' => true,
- ],
- 'msql_field_table' => [
- '5.3' => true,
- ],
- 'msql_field_type' => [
- '5.3' => true,
- ],
- 'msql_fieldflags' => [
- '5.3' => true,
- ],
- 'msql_fieldlen' => [
- '5.3' => true,
- ],
- 'msql_fieldname' => [
- '5.3' => true,
- ],
- 'msql_fieldtable' => [
- '5.3' => true,
- ],
- 'msql_fieldtype' => [
- '5.3' => true,
- ],
- 'msql_free_result' => [
- '5.3' => true,
- ],
- 'msql_list_dbs' => [
- '5.3' => true,
- ],
- 'msql_list_fields' => [
- '5.3' => true,
- ],
- 'msql_list_tables' => [
- '5.3' => true,
- ],
- 'msql_num_fields' => [
- '5.3' => true,
- ],
- 'msql_num_rows' => [
- '5.3' => true,
- ],
- 'msql_numfields' => [
- '5.3' => true,
- ],
- 'msql_numrows' => [
- '5.3' => true,
- ],
- 'msql_pconnect' => [
- '5.3' => true,
- ],
- 'msql_query' => [
- '5.3' => true,
- ],
- 'msql_regcase' => [
- '5.3' => true,
- ],
- 'msql_result' => [
- '5.3' => true,
- ],
- 'msql_select_db' => [
- '5.3' => true,
- ],
- 'msql_tablename' => [
- '5.3' => true,
- ],
- 'msql' => [
- '5.3' => true,
- ],
- 'mysqli_disable_reads_from_master' => [
- '5.3' => true,
- ],
- 'mysqli_disable_rpl_parse' => [
- '5.3' => true,
- ],
- 'mysqli_enable_reads_from_master' => [
- '5.3' => true,
- ],
- 'mysqli_enable_rpl_parse' => [
- '5.3' => true,
- ],
- 'mysqli_master_query' => [
- '5.3' => true,
- ],
- 'mysqli_rpl_parse_enabled' => [
- '5.3' => true,
- ],
- 'mysqli_rpl_probe' => [
- '5.3' => true,
- ],
- 'mysqli_slave_query' => [
- '5.3' => true,
- ],
-
- 'call_user_method' => [
- '4.1' => false,
- '7.0' => true,
- 'alternative' => 'call_user_func()',
- ],
- 'call_user_method_array' => [
- '4.1' => false,
- '7.0' => true,
- 'alternative' => 'call_user_func_array()',
- ],
- 'define_syslog_variables' => [
- '5.3' => false,
- '5.4' => true,
- ],
- 'dl' => [
- '5.3' => false,
- ],
- 'ereg' => [
- '5.3' => false,
- '7.0' => true,
- 'alternative' => 'preg_match()',
- ],
- 'ereg_replace' => [
- '5.3' => false,
- '7.0' => true,
- 'alternative' => 'preg_replace()',
- ],
- 'eregi' => [
- '5.3' => false,
- '7.0' => true,
- 'alternative' => 'preg_match() (with the i modifier)',
- ],
- 'eregi_replace' => [
- '5.3' => false,
- '7.0' => true,
- 'alternative' => 'preg_replace() (with the i modifier)',
- ],
- 'imagepsbbox' => [
- '7.0' => true,
- ],
- 'imagepsencodefont' => [
- '7.0' => true,
- ],
- 'imagepsextendfont' => [
- '7.0' => true,
- ],
- 'imagepsfreefont' => [
- '7.0' => true,
- ],
- 'imagepsloadfont' => [
- '7.0' => true,
- ],
- 'imagepsslantfont' => [
- '7.0' => true,
- ],
- 'imagepstext' => [
- '7.0' => true,
- ],
- 'import_request_variables' => [
- '5.3' => false,
- '5.4' => true,
- ],
- 'ldap_sort' => [
- '7.0' => false,
- '8.0' => true,
- ],
- 'mcrypt_generic_end' => [
- '5.3' => false,
- '7.0' => true,
- 'alternative' => 'mcrypt_generic_deinit()',
- ],
- 'mysql_db_query' => [
- '5.3' => false,
- '7.0' => true,
- 'alternative' => 'mysqli::select_db() and mysqli::query()',
- ],
- 'mysql_escape_string' => [
- '4.3' => false,
- '7.0' => true,
- 'alternative' => 'mysqli::real_escape_string()',
- ],
- 'mysql_list_dbs' => [
- '5.4' => false,
- '7.0' => true,
- ],
- 'mysql_list_fields' => [
- '5.4' => false,
- '7.0' => true,
- ],
- 'mysqli_bind_param' => [
- '5.3' => false,
- '5.4' => true,
- 'alternative' => 'mysqli_stmt::bind_param()',
- ],
- 'mysqli_bind_result' => [
- '5.3' => false,
- '5.4' => true,
- 'alternative' => 'mysqli_stmt::bind_result()',
- ],
- 'mysqli_client_encoding' => [
- '5.3' => false,
- '5.4' => true,
- 'alternative' => 'mysqli::character_set_name()',
- ],
- 'mysqli_fetch' => [
- '5.3' => false,
- '5.4' => true,
- 'alternative' => 'mysqli_stmt::fetch()',
- ],
- 'mysqli_param_count' => [
- '5.3' => false,
- '5.4' => true,
- 'alternative' => 'mysqli_stmt_param_count()',
- ],
- 'mysqli_get_metadata' => [
- '5.3' => false,
- '5.4' => true,
- 'alternative' => 'mysqli_stmt::result_metadata()',
- ],
- 'mysqli_send_long_data' => [
- '5.3' => false,
- '5.4' => true,
- 'alternative' => 'mysqli_stmt::send_long_data()',
- ],
- 'magic_quotes_runtime' => [
- '5.3' => false,
- '7.0' => true,
- ],
- 'session_register' => [
- '5.3' => false,
- '5.4' => true,
- 'alternative' => '$_SESSION',
- ],
- 'session_unregister' => [
- '5.3' => false,
- '5.4' => true,
- 'alternative' => '$_SESSION',
- ],
- 'session_is_registered' => [
- '5.3' => false,
- '5.4' => true,
- 'alternative' => '$_SESSION',
- ],
- 'set_magic_quotes_runtime' => [
- '5.3' => false,
- '7.0' => true,
- ],
- 'set_socket_blocking' => [
- '5.3' => false,
- '7.0' => true,
- 'alternative' => 'stream_set_blocking()',
- ],
- 'split' => [
- '5.3' => false,
- '7.0' => true,
- 'alternative' => 'preg_split(), explode() or str_split()',
- ],
- 'spliti' => [
- '5.3' => false,
- '7.0' => true,
- 'alternative' => 'preg_split() (with the i modifier)',
- ],
- 'sql_regcase' => [
- '5.3' => false,
- '7.0' => true,
- ],
- 'php_logo_guid' => [
- '5.5' => true,
- ],
- 'php_egg_logo_guid' => [
- '5.5' => true,
- ],
- 'php_real_logo_guid' => [
- '5.5' => true,
- ],
- 'zend_logo_guid' => [
- '5.5' => true,
- 'alternative' => 'text string "PHPE9568F35-D428-11d2-A769-00AA001ACF42"',
- ],
- 'datefmt_set_timezone_id' => [
- '5.5' => false,
- '7.0' => true,
- 'alternative' => 'IntlDateFormatter::setTimeZone()',
- ],
- 'mcrypt_ecb' => [
- '5.5' => false,
- '7.0' => true,
- 'alternative' => 'mcrypt_decrypt()/mcrypt_encrypt()',
- ],
- 'mcrypt_cbc' => [
- '5.5' => false,
- '7.0' => true,
- 'alternative' => 'mcrypt_decrypt()/mcrypt_encrypt()',
- ],
- 'mcrypt_cfb' => [
- '5.5' => false,
- '7.0' => true,
- 'alternative' => 'mcrypt_decrypt()/mcrypt_encrypt()',
- ],
- 'mcrypt_ofb' => [
- '5.5' => false,
- '7.0' => true,
- 'alternative' => 'mcrypt_decrypt()/mcrypt_encrypt()',
- ],
- 'ocibindbyname' => [
- '5.4' => false,
- 'alternative' => 'oci_bind_by_name()',
- ],
- 'ocicancel' => [
- '5.4' => false,
- 'alternative' => 'oci_cancel()',
- ],
- 'ocicloselob' => [
- '5.4' => false,
- 'alternative' => 'OCI-Lob::close() / OCILob::close() (PHP 8+)',
- ],
- 'ocicollappend' => [
- '5.4' => false,
- 'alternative' => 'OCI-Collection::append() / OCICollection::append() (PHP 8+)',
- ],
- 'ocicollassign' => [
- '5.4' => false,
- 'alternative' => 'OCI-Collection::assign() / OCICollection::assign() (PHP 8+)',
- ],
- 'ocicollassignelem' => [
- '5.4' => false,
- 'alternative' => 'OCI-Collection::assignElem() / OCICollection::assignElem() (PHP 8+)',
- ],
- 'ocicollgetelem' => [
- '5.4' => false,
- 'alternative' => 'OCI-Collection::getElem() / OCICollection::getElem() (PHP 8+)',
- ],
- 'ocicollmax' => [
- '5.4' => false,
- 'alternative' => 'OCI-Collection::max() / OCICollection::max() (PHP 8+)',
- ],
- 'ocicollsize' => [
- '5.4' => false,
- 'alternative' => 'OCI-Collection::size() / OCICollection::size() (PHP 8+)',
- ],
- 'ocicolltrim' => [
- '5.4' => false,
- 'alternative' => 'OCI-Collection::trim() / OCICollection::trim() (PHP 8+)',
- ],
- 'ocicolumnisnull' => [
- '5.4' => false,
- 'alternative' => 'oci_field_is_null()',
- ],
- 'ocicolumnname' => [
- '5.4' => false,
- 'alternative' => 'oci_field_name()',
- ],
- 'ocicolumnprecision' => [
- '5.4' => false,
- 'alternative' => 'oci_field_precision()',
- ],
- 'ocicolumnscale' => [
- '5.4' => false,
- 'alternative' => 'oci_field_scale()',
- ],
- 'ocicolumnsize' => [
- '5.4' => false,
- 'alternative' => 'oci_field_size()',
- ],
- 'ocicolumntype' => [
- '5.4' => false,
- 'alternative' => 'oci_field_type()',
- ],
- 'ocicolumntyperaw' => [
- '5.4' => false,
- 'alternative' => 'oci_field_type_raw()',
- ],
- 'ocicommit' => [
- '5.4' => false,
- 'alternative' => 'oci_commit()',
- ],
- 'ocidefinebyname' => [
- '5.4' => false,
- 'alternative' => 'oci_define_by_name()',
- ],
- 'ocierror' => [
- '5.4' => false,
- 'alternative' => 'oci_error()',
- ],
- 'ociexecute' => [
- '5.4' => false,
- 'alternative' => 'oci_execute()',
- ],
- 'ocifetch' => [
- '5.4' => false,
- 'alternative' => 'oci_fetch()',
- ],
- 'ocifetchinto' => [
- '5.4' => false,
- ],
- 'ocifetchstatement' => [
- '5.4' => false,
- 'alternative' => 'oci_fetch_all()',
- ],
- 'ocifreecollection' => [
- '5.4' => false,
- 'alternative' => 'OCI-Collection::free() / OCICollection::free() (PHP 8+)',
- ],
- 'ocifreecursor' => [
- '5.4' => false,
- 'alternative' => 'oci_free_statement()',
- ],
- 'ocifreedesc' => [
- '5.4' => false,
- 'alternative' => 'OCI-Lob::free() / OCILob::free() (PHP 8+)',
- ],
- 'ocifreestatement' => [
- '5.4' => false,
- 'alternative' => 'oci_free_statement()',
- ],
- 'ociinternaldebug' => [
- '5.4' => false,
- '8.0' => true,
- 'alternative' => 'oci_internal_debug() (PHP < 8.0)',
- ],
- 'ociloadlob' => [
- '5.4' => false,
- 'alternative' => 'OCI-Lob::load() / OCILob::load() (PHP 8+)',
- ],
- 'ocilogoff' => [
- '5.4' => false,
- 'alternative' => 'oci_close()',
- ],
- 'ocilogon' => [
- '5.4' => false,
- 'alternative' => 'oci_connect()',
- ],
- 'ocinewcollection' => [
- '5.4' => false,
- 'alternative' => 'oci_new_collection()',
- ],
- 'ocinewcursor' => [
- '5.4' => false,
- 'alternative' => 'oci_new_cursor()',
- ],
- 'ocinewdescriptor' => [
- '5.4' => false,
- 'alternative' => 'oci_new_descriptor()',
- ],
- 'ocinlogon' => [
- '5.4' => false,
- 'alternative' => 'oci_new_connect()',
- ],
- 'ocinumcols' => [
- '5.4' => false,
- 'alternative' => 'oci_num_fields()',
- ],
- 'ociparse' => [
- '5.4' => false,
- 'alternative' => 'oci_parse()',
- ],
- 'ociplogon' => [
- '5.4' => false,
- 'alternative' => 'oci_pconnect()',
- ],
- 'ociresult' => [
- '5.4' => false,
- 'alternative' => 'oci_result()',
- ],
- 'ocirollback' => [
- '5.4' => false,
- 'alternative' => 'oci_rollback()',
- ],
- 'ocirowcount' => [
- '5.4' => false,
- 'alternative' => 'oci_num_rows()',
- ],
- 'ocisavelob' => [
- '5.4' => false,
- 'alternative' => 'OCI-Lob::save() / OCILob::save() (PHP 8+)',
- ],
- 'ocisavelobfile' => [
- '5.4' => false,
- 'alternative' => 'OCI-Lob::import() / OCILob::import() (PHP 8+)',
- ],
- 'ociserverversion' => [
- '5.4' => false,
- 'alternative' => 'oci_server_version()',
- ],
- 'ocisetprefetch' => [
- '5.4' => false,
- 'alternative' => 'oci_set_prefetch()',
- ],
- 'ocistatementtype' => [
- '5.4' => false,
- 'alternative' => 'oci_statement_type()',
- ],
- 'ociwritelobtofile' => [
- '5.4' => false,
- 'alternative' => 'OCI-Lob::export() / OCILob::export() (PHP 8+)',
- ],
- 'ociwritetemporarylob' => [
- '5.4' => false,
- 'alternative' => 'OCI-Lob::writeTemporary() / OCILob::writeTemporary() (PHP 8+)',
- ],
- 'mysqli_get_cache_stats' => [
- '5.4' => true,
- ],
- 'sqlite_array_query' => [
- '5.4' => true,
- ],
- 'sqlite_busy_timeout' => [
- '5.4' => true,
- ],
- 'sqlite_changes' => [
- '5.4' => true,
- ],
- 'sqlite_close' => [
- '5.4' => true,
- ],
- 'sqlite_column' => [
- '5.4' => true,
- ],
- 'sqlite_create_aggregate' => [
- '5.4' => true,
- ],
- 'sqlite_create_function' => [
- '5.4' => true,
- ],
- 'sqlite_current' => [
- '5.4' => true,
- ],
- 'sqlite_error_string' => [
- '5.4' => true,
- ],
- 'sqlite_escape_string' => [
- '5.4' => true,
- ],
- 'sqlite_exec' => [
- '5.4' => true,
- ],
- 'sqlite_factory' => [
- '5.4' => true,
- ],
- 'sqlite_fetch_all' => [
- '5.4' => true,
- ],
- 'sqlite_fetch_array' => [
- '5.4' => true,
- ],
- 'sqlite_fetch_column_types' => [
- '5.4' => true,
- ],
- 'sqlite_fetch_object' => [
- '5.4' => true,
- ],
- 'sqlite_fetch_single' => [
- '5.4' => true,
- ],
- 'sqlite_fetch_string' => [
- '5.4' => true,
- ],
- 'sqlite_field_name' => [
- '5.4' => true,
- ],
- 'sqlite_has_more' => [
- '5.4' => true,
- ],
- 'sqlite_has_prev' => [
- '5.4' => true,
- ],
- 'sqlite_key' => [
- '5.4' => true,
- ],
- 'sqlite_last_error' => [
- '5.4' => true,
- ],
- 'sqlite_last_insert_rowid' => [
- '5.4' => true,
- ],
- 'sqlite_libencoding' => [
- '5.4' => true,
- ],
- 'sqlite_libversion' => [
- '5.4' => true,
- ],
- 'sqlite_next' => [
- '5.4' => true,
- ],
- 'sqlite_num_fields' => [
- '5.4' => true,
- ],
- 'sqlite_num_rows' => [
- '5.4' => true,
- ],
- 'sqlite_open' => [
- '5.4' => true,
- ],
- 'sqlite_popen' => [
- '5.4' => true,
- ],
- 'sqlite_prev' => [
- '5.4' => true,
- ],
- 'sqlite_query' => [
- '5.4' => true,
- ],
- 'sqlite_rewind' => [
- '5.4' => true,
- ],
- 'sqlite_seek' => [
- '5.4' => true,
- ],
- 'sqlite_single_query' => [
- '5.4' => true,
- ],
- 'sqlite_udf_decode_binary' => [
- '5.4' => true,
- ],
- 'sqlite_udf_encode_binary' => [
- '5.4' => true,
- ],
- 'sqlite_unbuffered_query' => [
- '5.4' => true,
- ],
- 'sqlite_valid' => [
- '5.4' => true,
- ],
-
- 'mssql_bind' => [
- '7.0' => true,
- ],
- 'mssql_close' => [
- '7.0' => true,
- ],
- 'mssql_connect' => [
- '7.0' => true,
- ],
- 'mssql_data_seek' => [
- '7.0' => true,
- ],
- 'mssql_execute' => [
- '7.0' => true,
- ],
- 'mssql_fetch_array' => [
- '7.0' => true,
- ],
- 'mssql_fetch_assoc' => [
- '7.0' => true,
- ],
- 'mssql_fetch_batch' => [
- '7.0' => true,
- ],
- 'mssql_fetch_field' => [
- '7.0' => true,
- ],
- 'mssql_fetch_object' => [
- '7.0' => true,
- ],
- 'mssql_fetch_row' => [
- '7.0' => true,
- ],
- 'mssql_field_length' => [
- '7.0' => true,
- ],
- 'mssql_field_name' => [
- '7.0' => true,
- ],
- 'mssql_field_seek' => [
- '7.0' => true,
- ],
- 'mssql_field_type' => [
- '7.0' => true,
- ],
- 'mssql_free_result' => [
- '7.0' => true,
- ],
- 'mssql_free_statement' => [
- '7.0' => true,
- ],
- 'mssql_get_last_message' => [
- '7.0' => true,
- ],
- 'mssql_guid_string' => [
- '7.0' => true,
- ],
- 'mssql_init' => [
- '7.0' => true,
- ],
- 'mssql_min_error_severity' => [
- '7.0' => true,
- ],
- 'mssql_min_message_severity' => [
- '7.0' => true,
- ],
- 'mssql_next_result' => [
- '7.0' => true,
- ],
- 'mssql_num_fields' => [
- '7.0' => true,
- ],
- 'mssql_num_rows' => [
- '7.0' => true,
- ],
- 'mssql_pconnect' => [
- '7.0' => true,
- ],
- 'mssql_query' => [
- '7.0' => true,
- ],
- 'mssql_result' => [
- '7.0' => true,
- ],
- 'mssql_rows_affected' => [
- '7.0' => true,
- ],
- 'mssql_select_db' => [
- '7.0' => true,
- ],
- 'mysql_affected_rows' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_client_encoding' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_close' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_connect' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_create_db' => [
- '4.3' => false,
- '7.0' => true,
- ],
- 'mysql_data_seek' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_db_name' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_drop_db' => [
- '4.3' => false,
- '7.0' => true,
- ],
- 'mysql_errno' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_error' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_fetch_array' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_fetch_assoc' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_fetch_field' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_fetch_lengths' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_fetch_object' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_fetch_row' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_field_flags' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_field_len' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_field_name' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_field_seek' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_field_table' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_field_type' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_free_result' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_get_client_info' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_get_host_info' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_get_proto_info' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_get_server_info' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_info' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_insert_id' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_list_processes' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_list_tables' => [
- '4.3.7' => false,
- '7.0' => true,
- ],
- 'mysql_num_fields' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_num_rows' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_pconnect' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_ping' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_query' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_real_escape_string' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_result' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_select_db' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_set_charset' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_stat' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_tablename' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_thread_id' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_unbuffered_query' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_fieldname' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_fieldtable' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_fieldlen' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_fieldtype' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_fieldflags' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_selectdb' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_freeresult' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_numfields' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_numrows' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_listdbs' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_listfields' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_dbname' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'mysql_table_name' => [
- '5.5' => false,
- '7.0' => true,
- ],
- 'sybase_affected_rows' => [
- '7.0' => true,
- ],
- 'sybase_close' => [
- '7.0' => true,
- ],
- 'sybase_connect' => [
- '7.0' => true,
- ],
- 'sybase_data_seek' => [
- '7.0' => true,
- ],
- 'sybase_deadlock_retry_count' => [
- '7.0' => true,
- ],
- 'sybase_fetch_array' => [
- '7.0' => true,
- ],
- 'sybase_fetch_assoc' => [
- '7.0' => true,
- ],
- 'sybase_fetch_field' => [
- '7.0' => true,
- ],
- 'sybase_fetch_object' => [
- '7.0' => true,
- ],
- 'sybase_fetch_row' => [
- '7.0' => true,
- ],
- 'sybase_field_seek' => [
- '7.0' => true,
- ],
- 'sybase_free_result' => [
- '7.0' => true,
- ],
- 'sybase_get_last_message' => [
- '7.0' => true,
- ],
- 'sybase_min_client_severity' => [
- '7.0' => true,
- ],
- 'sybase_min_error_severity' => [
- '7.0' => true,
- ],
- 'sybase_min_message_severity' => [
- '7.0' => true,
- ],
- 'sybase_min_server_severity' => [
- '7.0' => true,
- ],
- 'sybase_num_fields' => [
- '7.0' => true,
- ],
- 'sybase_num_rows' => [
- '7.0' => true,
- ],
- 'sybase_pconnect' => [
- '7.0' => true,
- ],
- 'sybase_query' => [
- '7.0' => true,
- ],
- 'sybase_result' => [
- '7.0' => true,
- ],
- 'sybase_select_db' => [
- '7.0' => true,
- ],
- 'sybase_set_message_handler' => [
- '7.0' => true,
- ],
- 'sybase_unbuffered_query' => [
- '7.0' => true,
- ],
-
- 'mcrypt_create_iv' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'random_bytes() or OpenSSL',
- ],
- 'mcrypt_decrypt' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_enc_get_algorithms_name' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_enc_get_block_size' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_enc_get_iv_size' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_enc_get_key_size' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_enc_get_modes_name' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_enc_get_supported_key_sizes' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_enc_is_block_algorithm_mode' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_enc_is_block_algorithm' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_enc_is_block_mode' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_enc_self_test' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_encrypt' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_generic_deinit' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_generic_init' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_generic' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_get_block_size' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_get_cipher_name' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_get_iv_size' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_get_key_size' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_list_algorithms' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_list_modes' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_module_close' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_module_get_algo_block_size' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_module_get_algo_key_size' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_module_get_supported_key_sizes' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_module_is_block_algorithm_mode' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_module_is_block_algorithm' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_module_is_block_mode' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_module_open' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mcrypt_module_self_test' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'mdecrypt_generic' => [
- '7.1' => false,
- '7.2' => true,
- 'alternative' => 'OpenSSL',
- ],
- 'jpeg2wbmp' => [
- '7.2' => false,
- '8.0' => true,
- 'alternative' => 'imagecreatefromjpeg() and imagewbmp()',
- ],
- 'png2wbmp' => [
- '7.2' => false,
- '8.0' => true,
- 'alternative' => 'imagecreatefrompng() or imagewbmp()',
- ],
- '__autoload' => [
- '7.2' => false,
- 'alternative' => 'SPL autoload',
- ],
- 'create_function' => [
- '7.2' => false,
- '8.0' => true,
- 'alternative' => 'an anonymous function',
- ],
- 'each' => [
- '7.2' => false,
- '8.0' => true,
- 'alternative' => 'a foreach loop or ArrayIterator',
- ],
- 'gmp_random' => [
- '7.2' => false,
- '8.0' => true,
- 'alternative' => 'gmp_random_bits() or gmp_random_range()',
- ],
- 'read_exif_data' => [
- '7.2' => false,
- '8.0' => true,
- 'alternative' => 'exif_read_data()',
- ],
-
- 'image2wbmp' => [
- '7.3' => false,
- '8.0' => true,
- 'alternative' => 'imagewbmp()',
- ],
- 'mbregex_encoding' => [
- '7.3' => false,
- '8.0' => true,
- 'alternative' => 'mb_regex_encoding()',
- ],
- 'mbereg' => [
- '7.3' => false,
- '8.0' => true,
- 'alternative' => 'mb_ereg()',
- ],
- 'mberegi' => [
- '7.3' => false,
- '8.0' => true,
- 'alternative' => 'mb_eregi()',
- ],
- 'mbereg_replace' => [
- '7.3' => false,
- '8.0' => true,
- 'alternative' => 'mb_ereg_replace()',
- ],
- 'mberegi_replace' => [
- '7.3' => false,
- '8.0' => true,
- 'alternative' => 'mb_eregi_replace()',
- ],
- 'mbsplit' => [
- '7.3' => false,
- '8.0' => true,
- 'alternative' => 'mb_split()',
- ],
- 'mbereg_match' => [
- '7.3' => false,
- '8.0' => true,
- 'alternative' => 'mb_ereg_match()',
- ],
- 'mbereg_search' => [
- '7.3' => false,
- '8.0' => true,
- 'alternative' => 'mb_ereg_search()',
- ],
- 'mbereg_search_pos' => [
- '7.3' => false,
- '8.0' => true,
- 'alternative' => 'mb_ereg_search_pos()',
- ],
- 'mbereg_search_regs' => [
- '7.3' => false,
- '8.0' => true,
- 'alternative' => 'mb_ereg_search_regs()',
- ],
- 'mbereg_search_init' => [
- '7.3' => false,
- '8.0' => true,
- 'alternative' => 'mb_ereg_search_init()',
- ],
- 'mbereg_search_getregs' => [
- '7.3' => false,
- '8.0' => true,
- 'alternative' => 'mb_ereg_search_getregs()',
- ],
- 'mbereg_search_getpos' => [
- '7.3' => false,
- '8.0' => true,
- 'alternative' => 'mb_ereg_search_getpos()',
- ],
- 'mbereg_search_setpos' => [
- '7.3' => false,
- '8.0' => true,
- 'alternative' => 'mb_ereg_search_setpos()',
- ],
- 'fgetss' => [
- '7.3' => false,
- '8.0' => true,
- ],
- 'gzgetss' => [
- '7.3' => false,
- '8.0' => true,
- ],
-
- 'convert_cyr_string' => [
- '7.4' => false,
- '8.0' => true,
- 'alternative' => 'mb_convert_encoding(), iconv() or UConverter',
- ],
- 'ezmlm_hash' => [
- '7.4' => false,
- '8.0' => true,
- ],
- 'get_magic_quotes_gpc' => [
- '7.4' => false,
- '8.0' => true,
- ],
- 'get_magic_quotes_runtime' => [
- '7.4' => false,
- '8.0' => true,
- ],
- 'hebrevc' => [
- '7.4' => false,
- '8.0' => true,
- ],
- 'is_real' => [
- '7.4' => false,
- 'alternative' => 'is_float()',
- ],
- 'money_format' => [
- '7.4' => false,
- '8.0' => true,
- 'alternative' => 'NumberFormatter::formatCurrency()',
- ],
- 'restore_include_path' => [
- '7.4' => false,
- '8.0' => true,
- 'alternative' => "ini_restore('include_path')",
- ],
- 'ibase_add_user' => [
- '7.4' => true,
- ],
- 'ibase_affected_rows' => [
- '7.4' => true,
- ],
- 'ibase_backup' => [
- '7.4' => true,
- ],
- 'ibase_blob_add' => [
- '7.4' => true,
- ],
- 'ibase_blob_cancel' => [
- '7.4' => true,
- ],
- 'ibase_blob_close' => [
- '7.4' => true,
- ],
- 'ibase_blob_create' => [
- '7.4' => true,
- ],
- 'ibase_blob_echo' => [
- '7.4' => true,
- ],
- 'ibase_blob_get' => [
- '7.4' => true,
- ],
- 'ibase_blob_import' => [
- '7.4' => true,
- ],
- 'ibase_blob_info' => [
- '7.4' => true,
- ],
- 'ibase_blob_open' => [
- '7.4' => true,
- ],
- 'ibase_close' => [
- '7.4' => true,
- ],
- 'ibase_commit_ret' => [
- '7.4' => true,
- ],
- 'ibase_commit' => [
- '7.4' => true,
- ],
- 'ibase_connect' => [
- '7.4' => true,
- ],
- 'ibase_db_info' => [
- '7.4' => true,
- ],
- 'ibase_delete_user' => [
- '7.4' => true,
- ],
- 'ibase_drop_db' => [
- '7.4' => true,
- ],
- 'ibase_errcode' => [
- '7.4' => true,
- ],
- 'ibase_errmsg' => [
- '7.4' => true,
- ],
- 'ibase_execute' => [
- '7.4' => true,
- ],
- 'ibase_fetch_assoc' => [
- '7.4' => true,
- ],
- 'ibase_fetch_object' => [
- '7.4' => true,
- ],
- 'ibase_fetch_row' => [
- '7.4' => true,
- ],
- 'ibase_field_info' => [
- '7.4' => true,
- ],
- 'ibase_free_event_handler' => [
- '7.4' => true,
- ],
- 'ibase_free_query' => [
- '7.4' => true,
- ],
- 'ibase_free_result' => [
- '7.4' => true,
- ],
- 'ibase_gen_id' => [
- '7.4' => true,
- ],
- 'ibase_maintain_db' => [
- '7.4' => true,
- ],
- 'ibase_modify_user' => [
- '7.4' => true,
- ],
- 'ibase_name_result' => [
- '7.4' => true,
- ],
- 'ibase_num_fields' => [
- '7.4' => true,
- ],
- 'ibase_num_params' => [
- '7.4' => true,
- ],
- 'ibase_param_info' => [
- '7.4' => true,
- ],
- 'ibase_pconnect' => [
- '7.4' => true,
- ],
- 'ibase_prepare' => [
- '7.4' => true,
- ],
- 'ibase_query' => [
- '7.4' => true,
- ],
- 'ibase_restore' => [
- '7.4' => true,
- ],
- 'ibase_rollback_ret' => [
- '7.4' => true,
- ],
- 'ibase_rollback' => [
- '7.4' => true,
- ],
- 'ibase_server_info' => [
- '7.4' => true,
- ],
- 'ibase_service_attach' => [
- '7.4' => true,
- ],
- 'ibase_service_detach' => [
- '7.4' => true,
- ],
- 'ibase_set_event_handler' => [
- '7.4' => true,
- ],
- 'ibase_trans' => [
- '7.4' => true,
- ],
- 'ibase_wait_event' => [
- '7.4' => true,
- ],
- 'fbird_add_user' => [
- '7.4' => true,
- ],
- 'fbird_affected_rows' => [
- '7.4' => true,
- ],
- 'fbird_backup' => [
- '7.4' => true,
- ],
- 'fbird_blob_add' => [
- '7.4' => true,
- ],
- 'fbird_blob_cancel' => [
- '7.4' => true,
- ],
- 'fbird_blob_close' => [
- '7.4' => true,
- ],
- 'fbird_blob_create' => [
- '7.4' => true,
- ],
- 'fbird_blob_echo' => [
- '7.4' => true,
- ],
- 'fbird_blob_get' => [
- '7.4' => true,
- ],
- 'fbird_blob_import' => [
- '7.4' => true,
- ],
- 'fbird_blob_info' => [
- '7.4' => true,
- ],
- 'fbird_blob_open' => [
- '7.4' => true,
- ],
- 'fbird_close' => [
- '7.4' => true,
- ],
- 'fbird_commit_ret' => [
- '7.4' => true,
- ],
- 'fbird_commit' => [
- '7.4' => true,
- ],
- 'fbird_connect' => [
- '7.4' => true,
- ],
- 'fbird_db_info' => [
- '7.4' => true,
- ],
- 'fbird_delete_user' => [
- '7.4' => true,
- ],
- 'fbird_drop_db' => [
- '7.4' => true,
- ],
- 'fbird_errcode' => [
- '7.4' => true,
- ],
- 'fbird_errmsg' => [
- '7.4' => true,
- ],
- 'fbird_execute' => [
- '7.4' => true,
- ],
- 'fbird_fetch_assoc' => [
- '7.4' => true,
- ],
- 'fbird_fetch_object' => [
- '7.4' => true,
- ],
- 'fbird_fetch_row' => [
- '7.4' => true,
- ],
- 'fbird_field_info' => [
- '7.4' => true,
- ],
- 'fbird_free_event_handler' => [
- '7.4' => true,
- ],
- 'fbird_free_query' => [
- '7.4' => true,
- ],
- 'fbird_free_result' => [
- '7.4' => true,
- ],
- 'fbird_gen_id' => [
- '7.4' => true,
- ],
- 'fbird_maintain_db' => [
- '7.4' => true,
- ],
- 'fbird_modify_user' => [
- '7.4' => true,
- ],
- 'fbird_name_result' => [
- '7.4' => true,
- ],
- 'fbird_num_fields' => [
- '7.4' => true,
- ],
- 'fbird_num_params' => [
- '7.4' => true,
- ],
- 'fbird_param_info' => [
- '7.4' => true,
- ],
- 'fbird_pconnect' => [
- '7.4' => true,
- ],
- 'fbird_prepare' => [
- '7.4' => true,
- ],
- 'fbird_query' => [
- '7.4' => true,
- ],
- 'fbird_restore' => [
- '7.4' => true,
- ],
- 'fbird_rollback_ret' => [
- '7.4' => true,
- ],
- 'fbird_rollback' => [
- '7.4' => true,
- ],
- 'fbird_server_info' => [
- '7.4' => true,
- ],
- 'fbird_service_attach' => [
- '7.4' => true,
- ],
- 'fbird_service_detach' => [
- '7.4' => true,
- ],
- 'fbird_set_event_handler' => [
- '7.4' => true,
- ],
- 'fbird_trans' => [
- '7.4' => true,
- ],
- 'fbird_wait_event' => [
- '7.4' => true,
- ],
-
- 'ldap_control_paged_result_response' => [
- '7.4' => false,
- '8.0' => true,
- 'alternative' => 'ldap_search()',
- ],
- 'ldap_control_paged_result' => [
- '7.4' => false,
- '8.0' => true,
- 'alternative' => 'ldap_search()',
- ],
- 'recode_file' => [
- '7.4' => true,
- 'alternative' => 'the iconv or mbstring extension',
- ],
- 'recode_string' => [
- '7.4' => true,
- 'alternative' => 'the iconv or mbstring extension',
- ],
- 'recode' => [
- '7.4' => true,
- 'alternative' => 'the iconv or mbstring extension',
- ],
- 'wddx_add_vars' => [
- '7.4' => true,
- ],
- 'wddx_deserialize' => [
- '7.4' => true,
- ],
- 'wddx_packet_end' => [
- '7.4' => true,
- ],
- 'wddx_packet_start' => [
- '7.4' => true,
- ],
- 'wddx_serialize_value' => [
- '7.4' => true,
- ],
- 'wddx_serialize_vars' => [
- '7.4' => true,
- ],
- 'mysqli_embedded_server_end' => [
- '7.4' => true,
- ],
- 'mysqli_embedded_server_start' => [
- '7.4' => true,
- ],
-
- 'enchant_broker_get_dict_path' => [
- '8.0' => false,
- ],
- 'enchant_broker_set_dict_path' => [
- '8.0' => false,
- ],
- 'enchant_broker_free' => [
- '8.0' => false,
- 'alternative' => 'unset the object',
- ],
- 'enchant_broker_free_dict' => [
- '8.0' => false,
- 'alternative' => 'unset the object',
- ],
- 'enchant_dict_add_to_personal' => [
- '8.0' => false,
- 'alternative' => 'enchant_dict_add()',
- ],
- 'enchant_dict_is_in_session' => [
- '8.0' => false,
- 'alternative' => 'enchant_dict_is_added()',
- ],
- 'imap_header' => [
- '8.0' => true,
- 'alternative' => 'imap_headerinfo()',
- ],
- 'libxml_disable_entity_loader' => [
- '8.0' => false,
- ],
- 'oci_internal_debug' => [
- '8.0' => true,
- ],
- 'openssl_x509_free' => [
- '8.0' => false,
- ],
- 'openssl_pkey_free' => [
- '8.0' => false,
- ],
- 'openssl_free_key' => [
- '8.0' => false,
- ],
- 'pg_clientencoding' => [
- '8.0' => false,
- 'alternative' => 'pg_client_encoding()',
- ],
- 'pg_cmdtuples' => [
- '8.0' => false,
- 'alternative' => 'pg_affected_rows()',
- ],
- 'pg_errormessage' => [
- '8.0' => false,
- 'alternative' => 'pg_last_error()',
- ],
- 'pg_fieldname' => [
- '8.0' => false,
- 'alternative' => 'pg_field_name()',
- ],
- 'pg_fieldnum' => [
- '8.0' => false,
- 'alternative' => 'pg_field_num()',
- ],
- 'pg_fieldisnull' => [
- '8.0' => false,
- 'alternative' => 'pg_field_is_null()',
- ],
- 'pg_fieldprtlen' => [
- '8.0' => false,
- 'alternative' => 'pg_field_prtlen()',
- ],
- 'pg_fieldsize' => [
- '8.0' => false,
- 'alternative' => 'pg_field_size()',
- ],
- 'pg_fieldtype' => [
- '8.0' => false,
- 'alternative' => 'pg_field_type()',
- ],
- 'pg_freeresult' => [
- '8.0' => false,
- 'alternative' => 'pg_free_result()',
- ],
- 'pg_getlastoid' => [
- '8.0' => false,
- 'alternative' => 'pg_last_oid()',
- ],
- 'pg_loclose' => [
- '8.0' => false,
- 'alternative' => 'pg_lo_close()',
- ],
- 'pg_locreate' => [
- '8.0' => false,
- 'alternative' => 'pg_lo_create()',
- ],
- 'pg_loexport' => [
- '8.0' => false,
- 'alternative' => 'pg_lo_export()',
- ],
- 'pg_loimport' => [
- '8.0' => false,
- 'alternative' => 'pg_lo_import()',
- ],
- 'pg_loopen' => [
- '8.0' => false,
- 'alternative' => 'pg_lo_open()',
- ],
- 'pg_loread' => [
- '8.0' => false,
- 'alternative' => 'pg_lo_read()',
- ],
- 'pg_loreadall' => [
- '8.0' => false,
- 'alternative' => 'pg_lo_read_all()',
- ],
- 'pg_lounlink' => [
- '8.0' => false,
- 'alternative' => 'pg_lo_unlink()',
- ],
- 'pg_lowrite' => [
- '8.0' => false,
- 'alternative' => 'pg_lo_write()',
- ],
- 'pg_numfields' => [
- '8.0' => false,
- 'alternative' => 'pg_num_fields()',
- ],
- 'pg_numrows' => [
- '8.0' => false,
- 'alternative' => 'pg_num_rows()',
- ],
- 'pg_result' => [
- '8.0' => false,
- 'alternative' => 'pg_fetch_result()',
- ],
- 'pg_setclientencoding' => [
- '8.0' => false,
- 'alternative' => 'pg_set_client_encoding()',
- ],
- 'shmop_close' => [
- '8.0' => false,
- ],
- 'xmlrpc_decode_request' => [
- '8.0' => true,
- ],
- 'xmlrpc_decode' => [
- '8.0' => true,
- ],
- 'xmlrpc_encode_request' => [
- '8.0' => true,
- ],
- 'xmlrpc_encode' => [
- '8.0' => true,
- ],
- 'xmlrpc_get_type' => [
- '8.0' => true,
- ],
- 'xmlrpc_is_fault' => [
- '8.0' => true,
- ],
- 'xmlrpc_parse_method_descriptions' => [
- '8.0' => true,
- ],
- 'xmlrpc_server_add_introspection_data' => [
- '8.0' => true,
- ],
- 'xmlrpc_server_call_method' => [
- '8.0' => true,
- ],
- 'xmlrpc_server_create' => [
- '8.0' => true,
- ],
- 'xmlrpc_server_destroy' => [
- '8.0' => true,
- ],
- 'xmlrpc_server_register_introspection_callback' => [
- '8.0' => true,
- ],
- 'xmlrpc_server_register_method' => [
- '8.0' => true,
- ],
- 'xmlrpc_set_type' => [
- '8.0' => true,
- ],
- 'zip_close' => [
- '8.0' => false,
- 'alternative' => 'ZipArchive::close()',
- ],
- 'zip_entry_close' => [
- '8.0' => false,
- 'alternative' => 'ZipArchive',
- ],
- 'zip_entry_compressedsize' => [
- '8.0' => false,
- 'alternative' => 'ZipArchive',
- ],
- 'zip_entry_compressionmethod' => [
- '8.0' => false,
- 'alternative' => 'ZipArchive',
- ],
- 'zip_entry_filesize' => [
- '8.0' => false,
- 'alternative' => 'ZipArchive',
- ],
- 'zip_entry_name' => [
- '8.0' => false,
- 'alternative' => 'ZipArchive',
- ],
- 'zip_entry_open' => [
- '8.0' => false,
- 'alternative' => 'ZipArchive',
- ],
- 'zip_entry_read' => [
- '8.0' => false,
- 'alternative' => 'ZipArchive',
- ],
- 'zip_open' => [
- '8.0' => false,
- 'alternative' => 'ZipArchive::open()',
- ],
- 'zip_read' => [
- '8.0' => false,
- 'alternative' => 'ZipArchive',
- ],
-
- 'date_sunrise' => [
- '8.1' => false,
- 'alternative' => 'date_sun_info()',
- ],
- 'date_sunset' => [
- '8.1' => false,
- 'alternative' => 'date_sun_info()',
- ],
- 'strptime' => [
- '8.1' => false,
- 'alternative' => 'date_parse_from_format() or IntlDateFormatter::parse()',
- ],
- 'strftime' => [
- '8.1' => false,
- 'alternative' => 'date() or IntlDateFormatter::format()',
- ],
- 'gmstrftime' => [
- '8.1' => false,
- 'alternative' => 'date() or IntlDateFormatter::format()',
- ],
- 'mhash_count' => [
- '8.1' => false,
- 'alternative' => 'the hash_*() functions',
- ],
- 'mhash_get_block_size' => [
- '8.1' => false,
- 'alternative' => 'the hash_*() functions',
- ],
- 'mhash_get_hash_name' => [
- '8.1' => false,
- 'alternative' => 'the hash_*() functions',
- ],
- 'mhash_keygen_s2k' => [
- '8.1' => false,
- 'alternative' => 'the hash_*() functions',
- ],
- 'mhash' => [
- '8.1' => false,
- 'alternative' => 'the hash_*() functions',
- ],
- 'odbc_result_all' => [
- '8.1' => false,
- ],
- 'utf8_encode' => [
- '8.2' => false,
- 'alternative' => 'iconv()',
- ],
- 'utf8_decode' => [
- '8.2' => false,
- 'alternative' => 'iconv()',
- ],
- ];
-
- /**
- * @inheritdoc
- */
- public function process(File $phpcsFile, $stackPtr)
- {
- if ($stackPtr !== false && !Assert::isBuiltinFunctionCall($phpcsFile, $stackPtr)) {
- return;
- }
- return parent::process($phpcsFile, $stackPtr);
- }
-}
diff --git a/Magento2/Sniffs/PHPCompatibility/RemovedGetDefinedFunctionsExcludeDisabledFalseSniff.php b/Magento2/Sniffs/PHPCompatibility/RemovedGetDefinedFunctionsExcludeDisabledFalseSniff.php
deleted file mode 100644
index 9a722cd3..00000000
--- a/Magento2/Sniffs/PHPCompatibility/RemovedGetDefinedFunctionsExcludeDisabledFalseSniff.php
+++ /dev/null
@@ -1,14 +0,0 @@
-xyz = 1; // this property is not defined anywhere.
- $this->superglobals['TEST_VAR'] = 'TEST_VAR'; // this property is defined in the parent class.
- }
-}
diff --git a/Magento2/Tests/PHPCompatibility/DeprecatedDynamicPropertyUnitTest.inc b/Magento2/Tests/PHPCompatibility/DeprecatedDynamicPropertyUnitTest.inc
deleted file mode 100644
index da5b8593..00000000
--- a/Magento2/Tests/PHPCompatibility/DeprecatedDynamicPropertyUnitTest.inc
+++ /dev/null
@@ -1,177 +0,0 @@
-prop1 = false;
- }
-}
-
-/**
- * @property bool $prop6 full format
- * @property $prop7 prop without type
- * @property bool prop8 prop with comment
- */
-class Foo1 extends Bar
-{
- use TraitA, TraitB;
- private bool $prop4;
- public function __construct(
- private bool $prop5
- ) {
- }
-
- private function reset(): void
- {
- $this->resetProp1();
- $this->prop1 = false;
- $this->prop2 = false;
- $this->prop3 = false;
- $this->prop4 = false;
- $this->prop5 = false;
- $this->prop6 = false;
- $this->prop7 = false;
- $this->prop8 = false;
- $this->prop9 = false;
- }
-}
-
-/**
- * @property bool $prop6 full format
- * @property $prop7 prop without type
- * @property bool prop8 prop with comment
- */
-class Foo2
-{
- use TraitA, TraitB;
- private bool $prop4;
- public function __construct(
- private bool $prop5
- ) {
- }
-
- private function reset(): void
- {
- $this->resetProp1();
- $this->prop1 = false;
- $this->prop2 = false;
- $this->prop3 = false;
- $this->prop4 = false;
- $this->prop5 = false;
- $this->prop6 = false;
- $this->prop7 = false;
- $this->prop8 = false;
- $this->prop9 = false;
- }
-}
-
-/**
- * @property bool $prop6 full format
- * @property $prop7 prop without type
- * @property bool prop8 prop with comment
- */
-class Foo3 extends Bar
-{
- private bool $prop4;
- public function __construct(
- private bool $prop5
- ) {
- }
-
- private function reset(): void
- {
- $this->resetProp1();
- $this->prop1 = false;
- $this->prop2 = false;
- $this->prop3 = false;
- $this->prop4 = false;
- $this->prop5 = false;
- $this->prop6 = false;
- $this->prop7 = false;
- $this->prop8 = false;
- $this->prop9 = false;
- }
-}
-
-/**
- * @property bool $prop6 full format
- * @property $prop7 prop without type
- * @property bool prop8 prop with comment
- */
-class Foo4
-{
- private bool $prop4;
- public function __construct(
- private bool $prop5
- ) {
- }
-
- private function reset(): void
- {
- $this->resetProp1();
- $this->prop1 = false;
- $this->prop2 = false;
- $this->prop3 = false;
- $this->prop4 = false;
- $this->prop5 = false;
- $this->prop6 = false;
- $this->prop7 = false;
- $this->prop8 = false;
- $this->prop9 = false;
- }
-}
-
-class Foo5
-{
- private bool $prop4;
- public function __construct(
- private bool $prop5
- ) {
- }
-
- private function reset(): void
- {
- $this->resetProp1();
- $this->prop1 = false;
- $this->prop2 = false;
- $this->prop3 = false;
- $this->prop4 = false;
- $this->prop5 = false;
- $this->prop6 = false;
- $this->prop7 = false;
- $this->prop8 = false;
- $this->prop9 = false;
- $this/** a comment */ ->/** another comment*/ prop9 = false;
- $this->setSomething($this->prop9);
- $prop9 = $this->prop9;
- $this::$prop9 = false;
- $this->prop4->prop9 = false;
- $thisVar = $this;
- $thisVar->prop9 = false; // undetermined context
- $thisVar->$this->prop9 = false; // false positive
- }
-
- public function setSomething()
- {
-
- }
-}
-
-$object->prop9 = false;
-$object->reset();
diff --git a/Magento2/Tests/PHPCompatibility/DeprecatedDynamicPropertyUnitTest.php b/Magento2/Tests/PHPCompatibility/DeprecatedDynamicPropertyUnitTest.php
deleted file mode 100644
index 49983b7f..00000000
--- a/Magento2/Tests/PHPCompatibility/DeprecatedDynamicPropertyUnitTest.php
+++ /dev/null
@@ -1,121 +0,0 @@
-sniffFile($testFile, '8.2');
- foreach ($errors as [$line, $property]) {
- $this->assertWarning(
- $file,
- $line,
- 'Access to an undefined property '. $property .'; Creation of dynamic property is deprecated since PHP 8.2'
- );
- }
- }
-
- /**
- * Verify the sniff does not throw false positives for valid code.
- *
- * @dataProvider dataProvider
- * @param string $testFile
- * @param array $errors
- * @return void
- */
- public function testNoFalsePositives(string $testFile, array $errors): void
- {
- $file = $this->sniffFile($testFile, '8.2');
- $errorLines = array_column($errors, 0, 0);
- $totalLines = substr_count(file_get_contents(\str_replace('UnitTest.php', 'UnitTest.inc', $testFile)), PHP_EOL);
-
- for ($line = 1; $line <= $totalLines; $line++) {
- if (isset($errorLines[$line])) {
- continue;
- }
- $this->assertNoViolation($file, $line);
- }
- }
-
- /**
- * Verify no notices are thrown at all.
- *
- * @dataProvider dataProvider
- * @param string $file
- * @param array $errors
- * @return void
- */
- public function testNoViolationsInFileOnValidVersion(string $testFile, array $errors): void
- {
- $file = $this->sniffFile($testFile, '8.1');
- $this->assertNoViolation($file);
- }
-
- /**
- * Data provider.
- *
- * @return array
- * @see testCreationOfDynamicProperty()
- * @see testNoFalsePositives()
- * @see testNoViolationsInFileOnValidVersion()
- *
- */
- public function dataProvider()
- {
- return [
- [
- __FILE__,
- [
- [128, 'Foo4::$prop1'],
- [129, 'Foo4::$prop2'],
- [130, 'Foo4::$prop3'],
- [136, 'Foo4::$prop9'],
- [151, 'Foo5::$prop1'],
- [152, 'Foo5::$prop2'],
- [153, 'Foo5::$prop3'],
- [156, 'Foo5::$prop6'],
- [157, 'Foo5::$prop7'],
- [158, 'Foo5::$prop8'],
- [159, 'Foo5::$prop9'],
- [160, 'Foo5::$prop9'],
- [161, 'Foo5::$prop9'],
- [162, 'Foo5::$prop9'],
- ]
- ],
- [
- __DIR__ . '/' . self::TEST_FILE_WITH_AUTOLOADABLE_CLASS,
- [
- [18, 'Magento2\Sniffs\PHPCompatibility\DeprecatedDynamicPropertySniff::$xyz'],
- ]
- ]
- ];
- }
-
- /**
- * @inheritdoc
- */
- protected function getSniffCode()
- {
- return 'Magento2.PHPCompatibility.DeprecatedDynamicProperty';
- }
-}
diff --git a/Magento2/Tests/PHPCompatibility/DeprecatedEncodingsForMBStringFunctionsUnitTest.inc b/Magento2/Tests/PHPCompatibility/DeprecatedEncodingsForMBStringFunctionsUnitTest.inc
deleted file mode 100644
index cf7fb97f..00000000
--- a/Magento2/Tests/PHPCompatibility/DeprecatedEncodingsForMBStringFunctionsUnitTest.inc
+++ /dev/null
@@ -1,188 +0,0 @@
- 'Handling QPrint via mbstring is deprecated since PHP 8.2;' .
- ' Use quoted_printable_encode/quoted_printable_decode instead',
- 'quoted-printable' => 'Handling QPrint via mbstring is deprecated since PHP 8.2;' .
- ' Use quoted_printable_encode/quoted_printable_decode instead',
- 'base64' => 'Handling Base64 via mbstring is deprecated since PHP 8.2;' .
- ' Use base64_encode/base64_decode instead',
- 'uuencode' => 'Handling Uuencode via mbstring is deprecated since PHP 8.2;' .
- ' Use convert_uuencode/convert_uudecode instead',
- 'html-entities' => 'Handling HTML entities via mbstring is deprecated since PHP 8.2;' .
- ' Use htmlspecialchars, htmlentities, or mb_encode_numericentity/mb_decode_numericentity instead',
- 'html' => 'Handling HTML entities via mbstring is deprecated since PHP 8.2;' .
- ' Use htmlspecialchars, htmlentities, or mb_encode_numericentity/mb_decode_numericentity instead'
- ];
-
- /**
- * Verify a deprecation warning is thrown if MBString function is used with encodings: QPrint,BASE64,UUENCODE,HTML
- *
- * @dataProvider usageOfDeprecatedEncodingsInMbStringFunctionsDataProvider
- * @param string $encoding
- * @param int $start
- * @param int $end
- * @return void
- */
- public function testUsageOfDeprecatedEncodingsInMbStringFunctions($encoding, $start, $end)
- {
- $file = $this->sniffFile(__FILE__, '8.2');
- // No errors expected on the first 11 lines.
- for ($line = $start; $line <= $end; $line++) {
- $this->assertWarning($file, $line, $this->messages[$encoding]);
- }
- }
-
- /**
- * Data provider.
- *
- * @see testUsageOfDeprecatedEncodingsInMbStringFunctions()
- *
- * @return array
- */
- public function usageOfDeprecatedEncodingsInMbStringFunctionsDataProvider()
- {
- return [
- ['base64', 7, 33],
- ['qprint', 36, 62],
- ['quoted-printable', 65, 91],
- ['uuencode', 94, 120],
- ['html-entities', 123, 149],
- ['html', 157, 178],
- ];
- }
-
- /**
- * Verify the sniff does not throw false positives for valid code.
- *
- * @return void
- */
- public function testNoFalsePositives()
- {
- $file = $this->sniffFile(__FILE__, '8.2');
-
- // No errors expected on the first 11 lines.
- for ($line = 183; $line <= 188; $line++) {
- $this->assertNoViolation($file, $line);
- }
- }
-
- /**
- * Verify no notices are thrown at all.
- *
- * @return void
- */
- public function testNoViolationsInFileOnValidVersion()
- {
- $file = $this->sniffFile(__FILE__, '8.1');
- $this->assertNoViolation($file);
- }
-
- /**
- * @inheritdoc
- */
- protected function getSniffCode()
- {
- return 'Magento2.PHPCompatibility.DeprecatedEncodingsForMBStringFunctions';
- }
-}
diff --git a/Magento2/Tests/PHPCompatibility/ForbiddenFinalPrivateMethodsUnitTest.1.inc b/Magento2/Tests/PHPCompatibility/ForbiddenFinalPrivateMethodsUnitTest.1.inc
deleted file mode 100644
index 9757ecfc..00000000
--- a/Magento2/Tests/PHPCompatibility/ForbiddenFinalPrivateMethodsUnitTest.1.inc
+++ /dev/null
@@ -1,20 +0,0 @@
- 1,
- 35 => 1,
- 39 => 1,
- 40 => 1,
- 45 => 1,
- 46 => 1,
- 54 => 1,
- 60 => 1,
- ];
- }
- return [
- 5 => 1,
- 6 => 1,
- 11 => 1,
- 12 => 1,
- 13 => 1,
- ];
- }
-
- /**
- * @inheritdoc
- */
- protected function getTestFiles($testFileBase)
- {
- $files = parent::getTestFiles($testFileBase);
- return array_merge(
- $files,
- [
- dirname(__FILE__, 4) . '/PHPCompatibility/Tests/FunctionDeclarations/ForbiddenFinalPrivateMethodsUnitTest.inc',
- ]
- );
- }
-}
diff --git a/Magento2/Tests/PHPCompatibility/RemovedAssertStringAssertionUnitTest.php b/Magento2/Tests/PHPCompatibility/RemovedAssertStringAssertionUnitTest.php
deleted file mode 100644
index 7d03b4c3..00000000
--- a/Magento2/Tests/PHPCompatibility/RemovedAssertStringAssertionUnitTest.php
+++ /dev/null
@@ -1,23 +0,0 @@
-sniffFile($testFile, '8.2');
- foreach ($errors as [$line, $functionName, $alternative]) {
- $this->assertWarning(
- $file,
- $line,
- "Function $functionName() is deprecated since PHP 8.2; Use $alternative instead"
- );
- }
- }
-
- /**
- * Data provider.
- *
- * @return array
- * @see testPhp82DeprecatedFunction()
- *
- */
- public function php8DeprecatedFunctionDataProvider()
- {
- return [
- [
- __DIR__ . '/RemovedFunctionsUnitTest.82.inc',
- [
- [3, 'utf8_encode', 'iconv()'],
- [4, 'utf8_decode', 'iconv()'],
- ]
- ]
- ];
- }
-}
diff --git a/Magento2/Tests/PHPCompatibility/RemovedGetDefinedFunctionsExcludeDisabledFalseUnitTest.php b/Magento2/Tests/PHPCompatibility/RemovedGetDefinedFunctionsExcludeDisabledFalseUnitTest.php
deleted file mode 100644
index 260afb14..00000000
--- a/Magento2/Tests/PHPCompatibility/RemovedGetDefinedFunctionsExcludeDisabledFalseUnitTest.php
+++ /dev/null
@@ -1,23 +0,0 @@
-10
error
-
+
10
error
@@ -350,7 +350,7 @@
8
warning
-
+
7
@@ -484,7 +484,6 @@
6
warning
- */PHPCompatibility/*
6
@@ -765,25 +764,8 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/Magento2Framework/ruleset.xml b/Magento2Framework/ruleset.xml
index 5e16e7a1..ecdb92da 100644
--- a/Magento2Framework/ruleset.xml
+++ b/Magento2Framework/ruleset.xml
@@ -7,7 +7,6 @@
5
warning
- */PHPCompatibility/*
5
@@ -18,7 +17,6 @@
5
warning
- */PHPCompatibility/*
*\.php$
*\.phtml$
*/PHPCSUtils/*
diff --git a/PHPCompatibility/AbstractFunctionCallParameterSniff.php b/PHPCompatibility/AbstractFunctionCallParameterSniff.php
deleted file mode 100644
index b2660e8b..00000000
--- a/PHPCompatibility/AbstractFunctionCallParameterSniff.php
+++ /dev/null
@@ -1,204 +0,0 @@
- true,
- ];
-
-
- /**
- * Returns an array of tokens this test wants to listen for.
- *
- * @since 8.2.0
- *
- * @return array
- */
- public function register()
- {
- $this->ignoreTokens += Collections::objectOperators();
-
- // Handle case-insensitivity of function names.
- $this->targetFunctions = \array_change_key_case($this->targetFunctions, \CASE_LOWER);
-
- return [\T_STRING];
- }
-
-
- /**
- * Processes this test, when one of its tokens is encountered.
- *
- * @since 8.2.0
- *
- * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
- * @param int $stackPtr The position of the current token in
- * the stack passed in $tokens.
- *
- * @return int|void Integer stack pointer to skip forward or void to continue
- * normal file processing.
- */
- public function process(File $phpcsFile, $stackPtr)
- {
- if ($this->bowOutEarly() === true) {
- return;
- }
-
- $tokens = $phpcsFile->getTokens();
- $function = $tokens[$stackPtr]['content'];
- $functionLc = \strtolower($function);
-
- if (isset($this->targetFunctions[$functionLc]) === false) {
- return;
- }
-
- $nextToken = $phpcsFile->findNext(Tokens::$emptyTokens, ($stackPtr + 1), null, true);
- if ($nextToken === false
- || $tokens[$nextToken]['code'] !== \T_OPEN_PARENTHESIS
- || isset($tokens[$nextToken]['parenthesis_owner']) === true
- ) {
- return;
- }
-
- $prevNonEmpty = $phpcsFile->findPrevious(Tokens::$emptyTokens, ($stackPtr - 1), null, true);
-
- if ($this->isMethod === true) {
- if (isset(Collections::objectOperators()[$tokens[$prevNonEmpty]['code']]) === false) {
- // Not a call to a PHP method.
- return;
- }
- } else {
- if (isset($this->ignoreTokens[$tokens[$prevNonEmpty]['code']]) === true) {
- // Not a call to a PHP function.
- return;
- }
-
- if ($tokens[$prevNonEmpty]['code'] === \T_NS_SEPARATOR) {
- $prevPrevToken = $phpcsFile->findPrevious(Tokens::$emptyTokens, ($prevNonEmpty - 1), null, true);
- if ($tokens[$prevPrevToken]['code'] === \T_STRING
- || $tokens[$prevPrevToken]['code'] === \T_NAMESPACE
- ) {
- // Namespaced function.
- return;
- }
- }
- }
-
- $parameters = PassedParameters::getParameters($phpcsFile, $stackPtr);
-
- if (empty($parameters)) {
- return $this->processNoParameters($phpcsFile, $stackPtr, $function);
- } else {
- return $this->processParameters($phpcsFile, $stackPtr, $function, $parameters);
- }
- }
-
-
- /**
- * Do a version check to determine if this sniff needs to run at all.
- *
- * @since 8.2.0
- *
- * If the check done in a child class is not specific to one PHP version,
- * this function should return `false`.
- *
- * @return bool
- */
- abstract protected function bowOutEarly();
-
-
- /**
- * Process the parameters of a matched function.
- *
- * This method has to be made concrete in child classes.
- *
- * @since 8.2.0
- *
- * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
- * @param int $stackPtr The position of the current token in the stack.
- * @param string $functionName The token content (function name) which was matched.
- * @param array $parameters Array with information about the parameters.
- *
- * @return int|void Integer stack pointer to skip forward or void to continue
- * normal file processing.
- */
- abstract public function processParameters(File $phpcsFile, $stackPtr, $functionName, $parameters);
-
-
- /**
- * Process the function if no parameters were found.
- *
- * Defaults to doing nothing. Can be overloaded in child classes to handle functions
- * were parameters are expected, but none found.
- *
- * @since 8.2.0
- *
- * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
- * @param int $stackPtr The position of the current token in the stack.
- * @param string $functionName The token content (function name) which was matched.
- *
- * @return int|void Integer stack pointer to skip forward or void to continue
- * normal file processing.
- */
- public function processNoParameters(File $phpcsFile, $stackPtr, $functionName)
- {
- return;
- }
-}
diff --git a/PHPCompatibility/LICENSE b/PHPCompatibility/LICENSE
deleted file mode 100644
index 65c5ca88..00000000
--- a/PHPCompatibility/LICENSE
+++ /dev/null
@@ -1,165 +0,0 @@
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-
- This version of the GNU Lesser General Public License incorporates
-the terms and conditions of version 3 of the GNU General Public
-License, supplemented by the additional permissions listed below.
-
- 0. Additional Definitions.
-
- As used herein, "this License" refers to version 3 of the GNU Lesser
-General Public License, and the "GNU GPL" refers to version 3 of the GNU
-General Public License.
-
- "The Library" refers to a covered work governed by this License,
-other than an Application or a Combined Work as defined below.
-
- An "Application" is any work that makes use of an interface provided
-by the Library, but which is not otherwise based on the Library.
-Defining a subclass of a class defined by the Library is deemed a mode
-of using an interface provided by the Library.
-
- A "Combined Work" is a work produced by combining or linking an
-Application with the Library. The particular version of the Library
-with which the Combined Work was made is also called the "Linked
-Version".
-
- The "Minimal Corresponding Source" for a Combined Work means the
-Corresponding Source for the Combined Work, excluding any source code
-for portions of the Combined Work that, considered in isolation, are
-based on the Application, and not on the Linked Version.
-
- The "Corresponding Application Code" for a Combined Work means the
-object code and/or source code for the Application, including any data
-and utility programs needed for reproducing the Combined Work from the
-Application, but excluding the System Libraries of the Combined Work.
-
- 1. Exception to Section 3 of the GNU GPL.
-
- You may convey a covered work under sections 3 and 4 of this License
-without being bound by section 3 of the GNU GPL.
-
- 2. Conveying Modified Versions.
-
- If you modify a copy of the Library, and, in your modifications, a
-facility refers to a function or data to be supplied by an Application
-that uses the facility (other than as an argument passed when the
-facility is invoked), then you may convey a copy of the modified
-version:
-
- a) under this License, provided that you make a good faith effort to
- ensure that, in the event an Application does not supply the
- function or data, the facility still operates, and performs
- whatever part of its purpose remains meaningful, or
-
- b) under the GNU GPL, with none of the additional permissions of
- this License applicable to that copy.
-
- 3. Object Code Incorporating Material from Library Header Files.
-
- The object code form of an Application may incorporate material from
-a header file that is part of the Library. You may convey such object
-code under terms of your choice, provided that, if the incorporated
-material is not limited to numerical parameters, data structure
-layouts and accessors, or small macros, inline functions and templates
-(ten or fewer lines in length), you do both of the following:
-
- a) Give prominent notice with each copy of the object code that the
- Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the object code with a copy of the GNU GPL and this license
- document.
-
- 4. Combined Works.
-
- You may convey a Combined Work under terms of your choice that,
-taken together, effectively do not restrict modification of the
-portions of the Library contained in the Combined Work and reverse
-engineering for debugging such modifications, if you also do each of
-the following:
-
- a) Give prominent notice with each copy of the Combined Work that
- the Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the Combined Work with a copy of the GNU GPL and this license
- document.
-
- c) For a Combined Work that displays copyright notices during
- execution, include the copyright notice for the Library among
- these notices, as well as a reference directing the user to the
- copies of the GNU GPL and this license document.
-
- d) Do one of the following:
-
- 0) Convey the Minimal Corresponding Source under the terms of this
- License, and the Corresponding Application Code in a form
- suitable for, and under terms that permit, the user to
- recombine or relink the Application with a modified version of
- the Linked Version to produce a modified Combined Work, in the
- manner specified by section 6 of the GNU GPL for conveying
- Corresponding Source.
-
- 1) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (a) uses at run time
- a copy of the Library already present on the user's computer
- system, and (b) will operate properly with a modified version
- of the Library that is interface-compatible with the Linked
- Version.
-
- e) Provide Installation Information, but only if you would otherwise
- be required to provide such information under section 6 of the
- GNU GPL, and only to the extent that such information is
- necessary to install and execute a modified version of the
- Combined Work produced by recombining or relinking the
- Application with a modified version of the Linked Version. (If
- you use option 4d0, the Installation Information must accompany
- the Minimal Corresponding Source and Corresponding Application
- Code. If you use option 4d1, you must provide the Installation
- Information in the manner specified by section 6 of the GNU GPL
- for conveying Corresponding Source.)
-
- 5. Combined Libraries.
-
- You may place library facilities that are a work based on the
-Library side by side in a single library together with other library
-facilities that are not Applications and are not covered by this
-License, and convey such a combined library under terms of your
-choice, if you do both of the following:
-
- a) Accompany the combined library with a copy of the same work based
- on the Library, uncombined with any other library facilities,
- conveyed under the terms of this License.
-
- b) Give prominent notice with the combined library that part of it
- is a work based on the Library, and explaining where to find the
- accompanying uncombined form of the same work.
-
- 6. Revised Versions of the GNU Lesser General Public License.
-
- The Free Software Foundation may publish revised and/or new versions
-of the GNU Lesser General Public License from time to time. Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Library as you received it specifies that a certain numbered version
-of the GNU Lesser General Public License "or any later version"
-applies to it, you have the option of following the terms and
-conditions either of that published version or of any later version
-published by the Free Software Foundation. If the Library as you
-received it does not specify a version number of the GNU Lesser
-General Public License, you may choose any version of the GNU Lesser
-General Public License ever published by the Free Software Foundation.
-
- If the Library as you received it specifies that a proxy can decide
-whether future versions of the GNU Lesser General Public License shall
-apply, that proxy's public statement of acceptance of any version is
-permanent authorization for you to choose that version for the
-Library.
diff --git a/PHPCompatibility/Sniffs/FunctionDeclarations/ForbiddenFinalPrivateMethodsSniff.php b/PHPCompatibility/Sniffs/FunctionDeclarations/ForbiddenFinalPrivateMethodsSniff.php
deleted file mode 100644
index 40954070..00000000
--- a/PHPCompatibility/Sniffs/FunctionDeclarations/ForbiddenFinalPrivateMethodsSniff.php
+++ /dev/null
@@ -1,96 +0,0 @@
- Due to how common the usage of `final private function __construct` is and given that
- * > the same results cannot be achieved with a protected visibility, an exception to this rule
- * > is made for constructors.
- *
- * PHP version 8.0
- *
- * @link https://wiki.php.net/rfc/inheritance_private_methods
- *
- * @since 10.0.0
- */
-class ForbiddenFinalPrivateMethodsSniff extends Sniff
-{
-
- /**
- * Returns an array of tokens this test wants to listen for.
- *
- * @since 10.0.0
- *
- * @return array
- */
- public function register()
- {
- return [\T_FUNCTION];
- }
-
- /**
- * Processes this test, when one of its tokens is encountered.
- *
- * @since 10.0.0
- *
- * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
- * @param int $stackPtr The position of the current token
- * in the stack passed in $tokens.
- *
- * @return void
- */
- public function process(File $phpcsFile, $stackPtr)
- {
- if ($this->supportsAbove('8.0') === false) {
- return;
- }
-
- if (Scopes::isOOMethod($phpcsFile, $stackPtr) === false) {
- // Function, not method.
- return;
- }
-
- $name = FunctionDeclarations::getName($phpcsFile, $stackPtr);
- if (empty($name) === true) {
- // Parse error or live coding.
- return;
- }
-
- if (\strtolower($name) === '__construct') {
- // The rule does not apply to constructors. Bow out.
- return;
- }
-
- $properties = FunctionDeclarations::getProperties($phpcsFile, $stackPtr);
- if ($properties['scope'] !== 'private' || $properties['is_final'] === false) {
- // Not an private final method.
- return;
- }
-
- $phpcsFile->addWarning(
- 'Private methods should not be declared as final since PHP 8.0',
- $stackPtr,
- 'Found'
- );
- }
-}
diff --git a/PHPCompatibility/Sniffs/FunctionDeclarations/RemovedCallingDestructAfterConstructorExitSniff.php b/PHPCompatibility/Sniffs/FunctionDeclarations/RemovedCallingDestructAfterConstructorExitSniff.php
deleted file mode 100644
index c59343d0..00000000
--- a/PHPCompatibility/Sniffs/FunctionDeclarations/RemovedCallingDestructAfterConstructorExitSniff.php
+++ /dev/null
@@ -1,214 +0,0 @@
-supportsAbove('8.0') === false) {
- return;
- }
-
- // Note: interface constructors cannot contain code, enums cannot contain constructors or destructors.
- $classPtr = Scopes::validDirectScope($phpcsFile, $stackPtr, [\T_CLASS, \T_ANON_CLASS, \T_TRAIT]);
- if ($classPtr === false) {
- // Function, not method.
- return;
- }
-
- $tokens = $phpcsFile->getTokens();
- if (isset($tokens[$stackPtr]['scope_opener'], $tokens[$stackPtr]['scope_closer']) === false
- || isset($tokens[$classPtr]['scope_opener'], $tokens[$classPtr]['scope_closer']) === false
- ) {
- // Parse error, tokenizer error or live coding.
- return;
- }
-
- $name = FunctionDeclarations::getName($phpcsFile, $stackPtr);
- if (empty($name) === true) {
- // Parse error or live coding.
- return;
- }
-
- if (\strtolower($name) !== '__construct') {
- // The rule only applies to constructors. Bow out.
- return;
- }
-
- $functionOpen = $tokens[$stackPtr]['scope_opener'];
- $functionClose = $tokens[$stackPtr]['scope_closer'];
- $exits = [];
- for ($current = ($functionOpen + 1); $current < $functionClose; $current++) {
- if (isset(Tokens::$emptyTokens[$tokens[$current]['code']]) === true) {
- continue;
- }
-
- if ($tokens[$current]['code'] === \T_EXIT) {
- $exits[] = $current;
- continue;
- }
-
- // Skip over nested closed scopes as much as possible for efficiency.
- // Ignore arrow functions as they aren't closed scopes.
- if (isset(Collections::closedScopes()[$tokens[$current]['code']]) === true
- && isset($tokens[$current]['scope_closer']) === true
- ) {
- $current = $tokens[$current]['scope_closer'];
- continue;
- }
-
- // Skip over array access and short arrays/lists, but not control structures.
- if (isset($tokens[$current]['bracket_closer']) === true
- && isset($tokens[$current]['scope_closer']) === false
- ) {
- $current = $tokens[$current]['bracket_closer'];
- continue;
- }
-
- // Skip over long array/lists as they can't contain an exit statement, except within a closed scope.
- if (($tokens[$current]['code'] === \T_ARRAY || $tokens[$current]['code'] === \T_LIST)
- && isset($tokens[$current]['parenthesis_closer']) === true
- ) {
- $current = $tokens[$current]['parenthesis_closer'];
- continue;
- }
- }
-
- if (empty($exits) === true) {
- // No calls to exit or die found.
- return;
- }
-
- $hasDestruct = false;
- $usesTraits = false;
- $isError = false;
- $classOpen = $tokens[$classPtr]['scope_opener'];
- $classClose = $tokens[$classPtr]['scope_closer'];
- $nextFunc = $classOpen;
-
- while (($nextFunc = $phpcsFile->findNext([\T_FUNCTION, \T_DOC_COMMENT_OPEN_TAG, \T_ATTRIBUTE, \T_USE], ($nextFunc + 1), $classClose)) !== false) {
- // Skip over docblocks.
- if ($tokens[$nextFunc]['code'] === \T_DOC_COMMENT_OPEN_TAG) {
- $nextFunc = $tokens[$nextFunc]['comment_closer'];
- continue;
- }
-
- // Skip over attributes.
- if ($tokens[$nextFunc]['code'] === \T_ATTRIBUTE
- && isset($tokens[$nextFunc]['attribute_closer'])
- ) {
- $nextFunc = $tokens[$nextFunc]['attribute_closer'];
- continue;
- }
-
- if ($tokens[$nextFunc]['code'] === \T_USE
- && UseStatements::isTraitUse($phpcsFile, $nextFunc) === true
- ) {
- $usesTraits = true;
- continue;
- }
-
- $functionScopeCloser = $nextFunc;
- if (isset($tokens[$nextFunc]['scope_closer'])) {
- // Normal (non-abstract) method.
- $functionScopeCloser = $tokens[$nextFunc]['scope_closer'];
- }
-
- $funcName = FunctionDeclarations::getName($phpcsFile, $nextFunc);
- $nextFunc = $functionScopeCloser; // Set up to skip over the method content.
-
- if (empty($funcName) === true) {
- continue;
- }
-
- if (\strtolower($funcName) !== '__destruct') {
- continue;
- }
-
- $hasDestruct = true;
- $isError = true;
- break;
- }
-
- if ($hasDestruct === false && $usesTraits === false) {
- /*
- * No destruct method or trait use found, check if this class extends another one
- * which may contain a destruct method.
- */
- $extends = ObjectDeclarations::findExtendedClassName($phpcsFile, $classPtr);
- if (empty($extends) === true) {
- // No destruct method and class doesn't extend nor uses traits, so the calls to exit can be ignored.
- return;
- }
- }
-
- /*
- * Ok, either a destruct method has been found and we can throw an error, or either a class extends
- * or trait use has been found and no destruct method, in which case, we throw a warning.
- */
- $error = 'When %s() is called within an object constructor, the object destructor will no longer be called since PHP 8.0';
- $errorCode = 'Found';
- if ($isError === false) {
- $error .= ' While no __destruct() method was found in this class, one may be declared in the parent class or in a trait being used.';
- $errorCode = 'NeedsInspection';
- }
-
- foreach ($exits as $ptr) {
- MessageHelper::addMessage($phpcsFile, $error, $ptr, $isError, $errorCode, [$tokens[$ptr]['content']]);
- }
- }
-}
diff --git a/PHPCompatibility/Sniffs/FunctionDeclarations/RemovedOptionalBeforeRequiredParamSniff.php b/PHPCompatibility/Sniffs/FunctionDeclarations/RemovedOptionalBeforeRequiredParamSniff.php
deleted file mode 100644
index 07b93d12..00000000
--- a/PHPCompatibility/Sniffs/FunctionDeclarations/RemovedOptionalBeforeRequiredParamSniff.php
+++ /dev/null
@@ -1,146 +0,0 @@
- Declaring a required parameter after an optional one is deprecated. As an
- * > exception, declaring a parameter of the form "Type $param = null" before
- * > a required one continues to be allowed, because this pattern was sometimes
- * > used to achieve nullable types in older PHP versions.
- *
- * PHP version 8.0
- *
- * @link https://github.com/php/php-src/blob/69888c3ff1f2301ead8e37b23ff8481d475e29d2/UPGRADING#L145-L151
- *
- * @since 10.0.0
- */
-class RemovedOptionalBeforeRequiredParamSniff extends Sniff
-{
-
- /**
- * Tokens allowed in the default value.
- *
- * This property will be enriched in the register() method.
- *
- * @since 10.0.0
- *
- * @var array
- */
- private $allowedInDefault = [
- \T_NULL => \T_NULL,
- ];
-
- /**
- * Returns an array of tokens this test wants to listen for.
- *
- * @since 10.0.0
- *
- * @return array
- */
- public function register()
- {
- $this->allowedInDefault += Tokens::$emptyTokens;
-
- return Collections::functionDeclarationTokens();
- }
-
- /**
- * Processes this test, when one of its tokens is encountered.
- *
- * @since 10.0.0
- *
- * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
- * @param int $stackPtr The position of the current token
- * in the stack passed in $tokens.
- *
- * @return void
- */
- public function process(File $phpcsFile, $stackPtr)
- {
- if ($this->supportsAbove('8.0') === false) {
- return;
- }
-
- // Get all parameters from the function signature.
- $parameters = FunctionDeclarations::getParameters($phpcsFile, $stackPtr);
- if (empty($parameters)) {
- return;
- }
-
- $error = 'Declaring a required parameter after an optional one is deprecated since PHP 8.0. Parameter %s is optional, while parameter %s is required.';
-
- $paramCount = \count($parameters);
- $lastKey = ($paramCount - 1);
- $firstOptional = null;
-
- foreach ($parameters as $key => $param) {
- /*
- * Ignore variadic parameters, which are optional by nature.
- * These always have to be declared last and this has been this way since their introduction.
- */
- if ($param['variable_length'] === true) {
- continue;
- }
-
- // Handle optional parameters.
- if (isset($param['default']) === true) {
- if ($key === $lastKey) {
- // This is the last parameter and it's optional, no further checking needed.
- break;
- }
-
- if (isset($firstOptional) === false) {
- // Check if it's typed and has a null default value, in which case we can ignore it.
- if ($param['type_hint'] !== '') {
- $hasNull = $phpcsFile->findNext(\T_NULL, $param['default_token'], $param['comma_token']);
- $hasNonNull = $phpcsFile->findNext(
- $this->allowedInDefault,
- $param['default_token'],
- $param['comma_token'],
- true
- );
-
- if ($hasNull !== false && $hasNonNull === false) {
- continue;
- }
- }
-
- // Non-null default value. This is an optional param we need to take into account.
- $firstOptional = $param['name'];
- }
-
- continue;
- }
-
- // Found a required parameter.
- if (isset($firstOptional) === false) {
- // No optional params found yet.
- continue;
- }
-
- // Found a required parameter with an optional param before it.
- $data = [
- $firstOptional,
- $param['name'],
- ];
-
- $phpcsFile->addWarning($error, $param['token'], 'Deprecated', $data);
- }
- }
-}
diff --git a/PHPCompatibility/Sniffs/ParameterValues/ChangedIntToBoolParamTypeSniff.php b/PHPCompatibility/Sniffs/ParameterValues/ChangedIntToBoolParamTypeSniff.php
deleted file mode 100644
index 7428b97b..00000000
--- a/PHPCompatibility/Sniffs/ParameterValues/ChangedIntToBoolParamTypeSniff.php
+++ /dev/null
@@ -1,124 +0,0 @@
- [
- 1 => [
- 'name' => 'enable',
- 'since' => '8.0',
- ],
- ],
- 'sem_get' => [
- 4 => [
- 'name' => 'auto_release',
- 'since' => '8.0',
- ],
- ],
- ];
-
- /**
- * Do a version check to determine if this sniff needs to run at all.
- *
- * Checks against the first PHP version listed in the above array.
- *
- * @since 10.0.0
- *
- * @return bool
- */
- protected function bowOutEarly()
- {
- return ($this->supportsAbove('8.0') === false);
- }
-
- /**
- * Process the parameters of a matched function.
- *
- * @since 10.0.0
- *
- * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
- * @param int $stackPtr The position of the current token in the stack.
- * @param string $functionName The token content (function name) which was matched.
- * @param array $parameters Array with information about the parameters.
- *
- * @return int|void Integer stack pointer to skip forward or void to continue
- * normal file processing.
- */
- public function processParameters(File $phpcsFile, $stackPtr, $functionName, $parameters)
- {
- static $search;
-
- if (isset($search) === false) {
- $search = [
- \T_LNUMBER => \T_LNUMBER,
- \T_DNUMBER => \T_DNUMBER,
- ];
- $search += BCTokens::arithmeticTokens();
- $search += Tokens::$emptyTokens;
- }
-
- $functionLC = \strtolower($functionName);
- $functionInfo = $this->targetFunctions[$functionLC];
- foreach ($functionInfo as $offset => $paramInfo) {
- if ($this->supportsAbove($paramInfo['since']) === false) {
- continue;
- }
-
- $target = PassedParameters::getParameterFromStack($parameters, $offset, $paramInfo['name']);
- if ($target === false) {
- continue;
- }
-
- $hasNonNumeric = $phpcsFile->findNext($search, $target['start'], ($target['end'] + 1), true);
- if ($hasNonNumeric !== false) {
- // Not a purely numerical value. Ignore.
- continue;
- }
-
- $error = 'The $%s parameter of %s() expects a boolean value instead of an integer since PHP %s. Found: %s';
- $code = MessageHelper::stringToErrorCode($functionLC . '_' . $paramInfo['name'], true) . 'NumericFound';
- $data = [
- $paramInfo['name'],
- $functionLC,
- $paramInfo['since'],
- $target['clean'],
- ];
-
- $phpcsFile->addError($error, $target['start'], $code, $data);
- }
- }
-}
diff --git a/PHPCompatibility/Sniffs/ParameterValues/RemovedAssertStringAssertionSniff.php b/PHPCompatibility/Sniffs/ParameterValues/RemovedAssertStringAssertionSniff.php
deleted file mode 100644
index c71dd722..00000000
--- a/PHPCompatibility/Sniffs/ParameterValues/RemovedAssertStringAssertionSniff.php
+++ /dev/null
@@ -1,134 +0,0 @@
- Usage of a string as the assertion became deprecated. It now emits an E_DEPRECATED
- * > notice when both assert.active and zend.assertions are set to 1.
- *
- * PHP 8.0:
- * > assert() will no longer evaluate string arguments, instead they will be treated
- * > like any other argument. `assert($a == $b)` should be used instead of `assert('$a == $b')`.
- *
- * PHP version 7.2
- * PHP version 8.0
- *
- * @link https://wiki.php.net/rfc/deprecations_php_7_2#assert_with_string_argument
- * @link https://github.com/php/php-src/blob/69888c3ff1f2301ead8e37b23ff8481d475e29d2/UPGRADING#L350-L354
- * @link https://www.php.net/manual/en/function.assert.php#refsect1-function.assert-changelog
- *
- * @since 10.0.0
- */
-class RemovedAssertStringAssertionSniff extends AbstractFunctionCallParameterSniff
-{
-
- /**
- * Functions to check for.
- *
- * @since 10.0.0
- *
- * @var array
- */
- protected $targetFunctions = [
- 'assert' => true,
- ];
-
- /**
- * Target tokens.
- *
- * If there is anything but any of these tokens in the parameter, we bow out as undetermined.
- *
- * @since 10.0.0
- *
- * @var array
- */
- private $targetTokens = [];
-
- /**
- * Returns an array of tokens this test wants to listen for.
- *
- * @since 10.0.0
- *
- * @return array
- */
- public function register()
- {
- // Set $targetTokens only once.
- $this->targetTokens = Tokens::$emptyTokens;
- $this->targetTokens += Tokens::$stringTokens + Tokens::$heredocTokens;
- $this->targetTokens[\T_STRING_CONCAT] = \T_STRING_CONCAT;
-
- return parent::register();
- }
-
- /**
- * Do a version check to determine if this sniff needs to run at all.
- *
- * @since 10.0.0
- *
- * @return bool
- */
- protected function bowOutEarly()
- {
- return ($this->supportsAbove('7.2') === false);
- }
-
- /**
- * Process the parameters of a matched function.
- *
- * @since 10.0.0
- *
- * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
- * @param int $stackPtr The position of the current token in the stack.
- * @param string $functionName The token content (function name) which was matched.
- * @param array $parameters Array with information about the parameters.
- *
- * @return int|void Integer stack pointer to skip forward or void to continue
- * normal file processing.
- */
- public function processParameters(File $phpcsFile, $stackPtr, $functionName, $parameters)
- {
- if (isset($parameters[1]) === false) {
- return;
- }
-
- $targetParam = $parameters[1];
- $hasOther = $phpcsFile->findNext($this->targetTokens, $targetParam['start'], ($targetParam['end'] + 1), true);
- if ($hasOther !== false) {
- // Some other token was found, unclear whether this is really a text string. Bow out.
- return;
- }
-
- $error = 'Using a string as the assertion passed to assert() is deprecated since PHP 7.2%s. Found: %s';
- $code = 'Deprecated';
- $isError = false;
- $data = [
- '',
- $targetParam['clean'],
- ];
-
- if ($this->supportsAbove('8.0') === true) {
- $data[0] = ' and removed since PHP 8.0';
- $isError = true;
- $code = 'Removed';
- }
-
- MessageHelper::addMessage($phpcsFile, $error, $targetParam['start'], $isError, $code, $data);
- }
-}
diff --git a/PHPCompatibility/Sniffs/ParameterValues/RemovedGetDefinedFunctionsExcludeDisabledFalseSniff.php b/PHPCompatibility/Sniffs/ParameterValues/RemovedGetDefinedFunctionsExcludeDisabledFalseSniff.php
deleted file mode 100644
index 32971c1c..00000000
--- a/PHPCompatibility/Sniffs/ParameterValues/RemovedGetDefinedFunctionsExcludeDisabledFalseSniff.php
+++ /dev/null
@@ -1,85 +0,0 @@
- Calling `get_defined_functions()` with `$exclude_disabled` explicitly set to `false`
- * > is deprecated. `get_defined_functions()` will never include disabled functions.
- *
- * PHP version 8.0
- *
- * @link https://github.com/php/php-src/blob/69888c3ff1f2301ead8e37b23ff8481d475e29d2/UPGRADING#L514-L516
- *
- * @since 10.0.0
- */
-class RemovedGetDefinedFunctionsExcludeDisabledFalseSniff extends AbstractFunctionCallParameterSniff
-{
-
- /**
- * Functions to check for.
- *
- * @since 10.0.0
- *
- * @var array
- */
- protected $targetFunctions = [
- 'get_defined_functions' => true,
- ];
-
- /**
- * Do a version check to determine if this sniff needs to run at all.
- *
- * @since 10.0.0
- *
- * @return bool
- */
- protected function bowOutEarly()
- {
- return ($this->supportsAbove('8.0') === false);
- }
-
- /**
- * Process the parameters of a matched function.
- *
- * @since 10.0.0
- *
- * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
- * @param int $stackPtr The position of the current token in the stack.
- * @param string $functionName The token content (function name) which was matched.
- * @param array $parameters Array with information about the parameters.
- *
- * @return int|void Integer stack pointer to skip forward or void to continue
- * normal file processing.
- */
- public function processParameters(File $phpcsFile, $stackPtr, $functionName, $parameters)
- {
- $targetParam = PassedParameters::getParameterFromStack($parameters, 1, 'exclude_disabled');
- if ($targetParam === false) {
- return;
- }
-
- if ($targetParam['clean'] !== 'false') {
- return;
- }
-
- $phpcsFile->addWarning(
- 'Explicitly passing "false" as the value for $exclude_disabled to get_defined_functions() is deprecated since PHP 8.0.',
- $targetParam['start'],
- 'Deprecated'
- );
- }
-}
diff --git a/PHPCompatibility/Sniffs/ParameterValues/RemovedSplAutoloadRegisterThrowFalseSniff.php b/PHPCompatibility/Sniffs/ParameterValues/RemovedSplAutoloadRegisterThrowFalseSniff.php
deleted file mode 100644
index fc98b1fa..00000000
--- a/PHPCompatibility/Sniffs/ParameterValues/RemovedSplAutoloadRegisterThrowFalseSniff.php
+++ /dev/null
@@ -1,86 +0,0 @@
- spl_autoload_register() will now always throw a TypeError on invalid
- * > arguments, therefore the second argument $throw is ignored and a
- * > notice will be emitted if it is set to false.
- *
- * PHP version 8.0
- *
- * @link https://github.com/php/php-src/blob/c0172aa2bdb9ea223c8491bdb300995b93a857a0/UPGRADING#L393-L395
- *
- * @since 10.0.0
- */
-class RemovedSplAutoloadRegisterThrowFalseSniff extends AbstractFunctionCallParameterSniff
-{
-
- /**
- * Functions to check for.
- *
- * @since 10.0.0
- *
- * @var array
- */
- protected $targetFunctions = [
- 'spl_autoload_register' => true,
- ];
-
- /**
- * Do a version check to determine if this sniff needs to run at all.
- *
- * @since 10.0.0
- *
- * @return bool
- */
- protected function bowOutEarly()
- {
- return ($this->supportsAbove('8.0') === false);
- }
-
- /**
- * Process the parameters of a matched function.
- *
- * @since 10.0.0
- *
- * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
- * @param int $stackPtr The position of the current token in the stack.
- * @param string $functionName The token content (function name) which was matched.
- * @param array $parameters Array with information about the parameters.
- *
- * @return int|void Integer stack pointer to skip forward or void to continue
- * normal file processing.
- */
- public function processParameters(File $phpcsFile, $stackPtr, $functionName, $parameters)
- {
- $targetParam = PassedParameters::getParameterFromStack($parameters, 2, 'throw');
- if ($targetParam === false) {
- return;
- }
-
- if ($targetParam['clean'] !== 'false') {
- return;
- }
-
- $phpcsFile->addWarning(
- 'Explicitly passing "false" as the value for $throw to spl_autoload_register() is deprecated since PHP 8.0.',
- $targetParam['start'],
- 'Deprecated'
- );
- }
-}
diff --git a/PHPCompatibility/Sniffs/TextStrings/RemovedDollarBraceStringEmbedsSniff.php b/PHPCompatibility/Sniffs/TextStrings/RemovedDollarBraceStringEmbedsSniff.php
deleted file mode 100644
index 468ebed1..00000000
--- a/PHPCompatibility/Sniffs/TextStrings/RemovedDollarBraceStringEmbedsSniff.php
+++ /dev/null
@@ -1,134 +0,0 @@
- PHP allows embedding variables in strings with double-quotes (") and heredoc in various ways.
- * > 1. Directly embedding variables (`$foo`)
- * > 2. Braces outside the variable (`{$foo}`)
- * > 3. Braces after the dollar sign (`${foo}`)
- * > 4. Variable variables (`${expr}`, equivalent to `(string) ${expr}`)
- * >
- * > [...] to deprecate options 3 and 4 in PHP 8.2 and remove them in PHP 9.0.
- *
- * PHP version 8.2
- * PHP version 9.0
- *
- * @link https://wiki.php.net/rfc/deprecate_dollar_brace_string_interpolation
- *
- * @since 10.0.0
- */
-class RemovedDollarBraceStringEmbedsSniff extends Sniff
-{
-
- /**
- * Returns an array of tokens this test wants to listen for.
- *
- * @since 10.0.0
- *
- * @return array
- */
- public function register()
- {
- return [
- \T_DOUBLE_QUOTED_STRING,
- \T_START_HEREDOC,
- \T_DOLLAR_OPEN_CURLY_BRACES,
- ];
- }
-
- /**
- * Processes this test, when one of its tokens is encountered.
- *
- * @since 10.0.0
- *
- * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
- * @param int $stackPtr The position of the current token in the
- * stack passed in $tokens.
- *
- * @return void|int Void or a stack pointer to skip forward.
- */
- public function process(File $phpcsFile, $stackPtr)
- {
- if ($this->supportsAbove('8.2') === false) {
- return;
- }
-
- $tokens = $phpcsFile->getTokens();
-
- /*
- * Defensive coding, this code is not expected to ever actually be hit since PHPCS#3604
- * (included in 3.7.0), but _will_ be hit if a file containing a PHP 7.3 indented heredoc/nowdocs
- * is scanned with PHPCS on PHP < 7.3. People shouldn't do that, but hey, we can't stop them.
- */
- if ($tokens[$stackPtr]['code'] === \T_DOLLAR_OPEN_CURLY_BRACES) {
- // @codeCoverageIgnoreStart
- if ($tokens[($stackPtr - 1)]['code'] === \T_DOUBLE_QUOTED_STRING) {
- --$stackPtr;
- } else {
- // Throw an error anyway, though it won't be very informative.
- $message = 'Using ${} in strings is deprecated since PHP 8.2, use {$var} or {${expr}} instead.';
- $code = 'DeprecatedDollarBraceEmbed';
- $phpcsFile->addWarning($message, $stackPtr, $code);
- return;
- }
- // @codeCoverageIgnoreEnd
- }
-
- $endOfString = TextStrings::getEndOfCompleteTextString($phpcsFile, $stackPtr);
- $startOfString = $stackPtr;
- if ($tokens[$stackPtr]['code'] === \T_START_HEREDOC) {
- $startOfString = ($stackPtr + 1);
- }
-
- $contents = GetTokensAsString::normal($phpcsFile, $startOfString, $endOfString);
- if (\strpos($contents, '${') === false) {
- // No interpolation found or only interpolations which are still supported.
- return ($endOfString + 1);
- }
-
- $embeds = TextStrings::getEmbeds($contents);
- foreach ($embeds as $offset => $embed) {
- if (\strpos($embed, '${') !== 0) {
- continue;
- }
-
- // Figure out the stack pointer to throw the warning on.
- $errorPtr = $startOfString;
- $length = 0;
- while (($length + $tokens[$errorPtr]['length']) < $offset) {
- $length += $tokens[$errorPtr]['length'];
- ++$errorPtr;
- }
-
- // Type 4.
- $message = 'Using %s (variable variables) in strings is deprecated since PHP 8.2, use {${expr}} instead.';
- $code = 'DeprecatedExpressionSyntax';
- if (\preg_match('`^\$\{(?P[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]+)(?:\[([\'"])?[^\$\{\}\]]+(?:\2)?\])?\}$`', $embed) === 1) {
- // Type 3.
- $message = 'Using ${var} in strings is deprecated since PHP 8.2, use {$var} instead. Found: %s';
- $code = 'DeprecatedVariableSyntax';
- }
-
- $phpcsFile->addWarning($message, $errorPtr, $code, [$embed]);
-
- }
-
- return ($endOfString + 1);
- }
-}
diff --git a/PHPCompatibility/Tests/BaseSniffTest.php b/PHPCompatibility/Tests/BaseSniffTest.php
deleted file mode 100644
index 68c9d605..00000000
--- a/PHPCompatibility/Tests/BaseSniffTest.php
+++ /dev/null
@@ -1,380 +0,0 @@
- 3)
- *
- * @since 10.0.0
- *
- * @var \PHP_CodeSniffer\Config
- */
- public static $lastConfig = null;
-
- /**
- * Reset the sniff file cache before/after each test class.
- *
- * @beforeClass
- * @afterClass
- *
- * @since 7.0.4
- * @since 10.0.0 Renamed the method from `setUpBeforeClass()` to `resetSniffFiles()` and
- * now using the `@beforeClass`/`@afterClass` annotations to allow for
- * PHPUnit cross-version compatibility.
- *
- * @return void
- */
- public static function resetSniffFiles()
- {
- self::$sniffFiles = [];
- }
-
- /**
- * Reset the testVersion after each test.
- *
- * @after
- *
- * @since 5.5
- * @since 10.0.0 Renamed the method from `tearDown()` to `resetTestVersion()` and now using
- * the `@after` annotation to allow for PHPUnit cross-version compatibility.
- *
- * @return void
- */
- public function resetTestVersion()
- {
- // Reset the targetPhpVersion.
- Helper::setConfigData('testVersion', null, true, self::$lastConfig);
- }
-
- /**
- * Get the sniff code for the current sniff being tested.
- *
- * @since 7.1.3
- *
- * @return string
- */
- protected function getSniffCode()
- {
- $class = \get_class($this);
- $parts = \explode('\\', $class);
- $sniff = \array_pop($parts);
- $sniff = \str_replace('UnitTest', '', $sniff);
- $category = \array_pop($parts);
- return self::STANDARD_NAME . '.' . $category . '.' . $sniff;
- }
-
- /**
- * Sniff a file and return resulting file object.
- *
- * @since 5.5
- * @since 9.0.0 Signature change. The `$filename` parameter was renamed to
- * `$pathToFile` and now expects an absolute path instead of
- * a relative one.
- *
- * @param string $pathToFile Absolute path to the file to sniff.
- * Allows for passing __FILE__ from the unit test
- * file. In that case, the test case file is presumed
- * to have the same name, but with an `inc` extension.
- * @param string $targetPhpVersion Value of 'testVersion' to set on PHPCS object.
- *
- * @return \PHP_CodeSniffer\Files\File|false File object.
- */
- public function sniffFile($pathToFile, $targetPhpVersion = 'none')
- {
- if (\strpos($pathToFile, 'UnitTest.php') !== false) {
- // Ok, so __FILE__ was passed, change the file extension.
- $pathToFile = \str_replace('UnitTest.php', 'UnitTest.inc', $pathToFile);
- }
- $pathToFile = \realpath($pathToFile);
-
- if (isset(self::$sniffFiles[$pathToFile][$targetPhpVersion])) {
- return self::$sniffFiles[$pathToFile][$targetPhpVersion];
- }
-
- // Set up the Config and tokenize the test case file only once.
- if (isset(self::$sniffFiles[$pathToFile]['only_parsed']) === false) {
- try {
- // PHPCS 3.x, 4.x.
- $config = new \PHP_CodeSniffer\Config();
- $config->cache = false;
- $config->standards = [self::STANDARD_NAME];
- $config->sniffs = [$this->getSniffCode()];
- $config->ignored = [];
-
- self::$lastConfig = $config;
-
- $ruleset = new \PHP_CodeSniffer\Ruleset($config);
-
- self::$sniffFiles[$pathToFile]['only_parsed'] = new \PHP_CodeSniffer\Files\LocalFile($pathToFile, $ruleset, $config);
- self::$sniffFiles[$pathToFile]['only_parsed']->parse();
- } catch (\Exception $e) {
- $this->fail('An unexpected exception has been caught when parsing file "' . $pathToFile . '" : ' . $e->getMessage());
- return false;
- }
- }
-
- // Now process the file against the target testVersion setting and cache the results.
- self::$sniffFiles[$pathToFile][$targetPhpVersion] = clone self::$sniffFiles[$pathToFile]['only_parsed'];
-
- if ($targetPhpVersion !== 'none') {
- Helper::setConfigData('testVersion', $targetPhpVersion, true, self::$sniffFiles[$pathToFile][$targetPhpVersion]->config);
- }
-
- try {
- self::$sniffFiles[$pathToFile][$targetPhpVersion]->process();
- } catch (\Exception $e) {
- $this->fail('An unexpected exception has been caught when processing file "' . $pathToFile . '" : ' . $e->getMessage());
- return false;
- }
-
- return self::$sniffFiles[$pathToFile][$targetPhpVersion];
- }
-
- /**
- * Assert a PHPCS error on a particular line number.
- *
- * @since 5.5
- *
- * @param \PHP_CodeSniffer\Files\File $file Codesniffer file object.
- * @param int $lineNumber Line number.
- * @param string $expectedMessage Expected error message (assertContains).
- *
- * @return bool
- */
- public function assertError(File $file, $lineNumber, $expectedMessage)
- {
- $errors = $this->gatherErrors($file);
-
- return $this->assertForType($errors, 'error', $lineNumber, $expectedMessage);
- }
-
- /**
- * Assert a PHPCS warning on a particular line number.
- *
- * @since 5.5
- *
- * @param \PHP_CodeSniffer\Files\File $file Codesniffer file object.
- * @param int $lineNumber Line number.
- * @param string $expectedMessage Expected message (assertContains).
- *
- * @return bool
- */
- public function assertWarning(File $file, $lineNumber, $expectedMessage)
- {
- $warnings = $this->gatherWarnings($file);
-
- return $this->assertForType($warnings, 'warning', $lineNumber, $expectedMessage);
- }
-
- /**
- * Assert a PHPCS error or warning on a particular line number.
- *
- * @since 7.0.3
- *
- * @param array $issues Array of issues of a particular type.
- * @param string $type The type of issues, either 'error' or 'warning'.
- * @param int $lineNumber Line number.
- * @param string $expectedMessage Expected message (assertContains).
- *
- * @return bool
- *
- * @throws \Exception When no issues of a certain type where found on a line
- * for which issues of that type where expected.
- */
- private function assertForType($issues, $type, $lineNumber, $expectedMessage)
- {
- if (isset($issues[$lineNumber]) === false) {
- $this->fail("Expected $type '$expectedMessage' on line number $lineNumber, but none found.");
- }
-
- $insteadFoundMessages = [];
-
- // Concat any error messages so we can do an assertContains.
- foreach ($issues[$lineNumber] as $issue) {
- $insteadFoundMessages[] = $issue['message'];
- }
-
- $insteadMessagesString = \implode(', ', $insteadFoundMessages);
-
- $msg = "Expected $type message '$expectedMessage' on line $lineNumber not found. Instead found: $insteadMessagesString.";
-
- return $this->assertStringContainsString($expectedMessage, $insteadMessagesString, $msg);
- }
-
- /**
- * Assert no violation (warning or error) on a given line number.
- *
- * @since 5.5
- *
- * @param \PHP_CodeSniffer\Files\File $file Codesniffer File object.
- * @param mixed $lineNumber Line number.
- *
- * @return bool
- */
- public function assertNoViolation(File $file, $lineNumber = 0)
- {
- $errors = $this->gatherErrors($file);
- $warnings = $this->gatherWarnings($file);
-
- if (empty($errors) && empty($warnings)) {
- return $this->assertTrue(true);
- }
-
- if ($lineNumber === 0) {
- $failMessage = 'Failed asserting no violations in file. Found ' . \count($errors) . ' errors and ' . \count($warnings) . ' warnings.';
- $allMessages = $errors + $warnings;
- // TODO: Update the fail message to give the tester some
- // indication of what the errors or warnings were.
- return $this->assertEmpty($allMessages, $failMessage);
- }
-
- $encounteredMessages = [];
- if (isset($errors[$lineNumber])) {
- foreach ($errors[$lineNumber] as $error) {
- $encounteredMessages[] = 'ERROR: ' . $error['message'];
- }
- }
-
- if (isset($warnings[$lineNumber])) {
- foreach ($warnings[$lineNumber] as $warning) {
- $encounteredMessages[] = 'WARNING: ' . $warning['message'];
- }
- }
-
- $failMessage = "Failed asserting no standards violation on line $lineNumber. Found: \n"
- . \implode("\n", $encounteredMessages);
- $this->assertCount(0, $encounteredMessages, $failMessage);
- }
-
- /**
- * Show violations in file by line number.
- *
- * This is useful for debugging sniffs on a file.
- *
- * @since 5.5
- *
- * @param \PHP_CodeSniffer\Files\File $file Codesniffer file object.
- *
- * @return array
- */
- public function showViolations(File $file)
- {
- $violations = [
- 'errors' => $this->gatherErrors($file),
- 'warnings' => $this->gatherWarnings($file),
- ];
-
- return $violations;
- }
-
- /**
- * Gather all error messages by line number from phpcs file result.
- *
- * @since 5.5
- *
- * @param \PHP_CodeSniffer\Files\File $file Codesniffer File object.
- *
- * @return array
- */
- public function gatherErrors(File $file)
- {
- $foundErrors = $file->getErrors();
-
- return $this->gatherIssues($foundErrors);
- }
-
- /**
- * Gather all warning messages by line number from phpcs file result.
- *
- * @since 5.5
- *
- * @param \PHP_CodeSniffer\Files\File $file Codesniffer File object.
- *
- * @return array
- */
- public function gatherWarnings(File $file)
- {
- $foundWarnings = $file->getWarnings();
-
- return $this->gatherIssues($foundWarnings);
- }
-
- /**
- * Gather all messages or a particular type by line number.
- *
- * @since 7.0.3
- *
- * @param array $issuesArray Array of a particular type of issues,
- * i.e. errors or warnings.
- *
- * @return array
- */
- private function gatherIssues($issuesArray)
- {
- $allIssues = [];
- foreach ($issuesArray as $line => $lineIssues) {
- foreach ($lineIssues as $column => $issues) {
- foreach ($issues as $issue) {
-
- if (isset($allIssues[$line]) === false) {
- $allIssues[$line] = [];
- }
-
- $allIssues[$line][] = $issue;
- }
- }
- }
-
- return $allIssues;
- }
-}
diff --git a/PHPCompatibility/Tests/FunctionDeclarations/ForbiddenFinalPrivateMethodsUnitTest.inc b/PHPCompatibility/Tests/FunctionDeclarations/ForbiddenFinalPrivateMethodsUnitTest.inc
deleted file mode 100644
index b8acbecd..00000000
--- a/PHPCompatibility/Tests/FunctionDeclarations/ForbiddenFinalPrivateMethodsUnitTest.inc
+++ /dev/null
@@ -1,61 +0,0 @@
- function() { exit; }, // Ignore, nested closed scope.
- ];
-
- $anon = new class {
- function something() {
- exit; // Ignore, nested closed scope.
- }
- };
-
- $array = array(
- 'closure' => function() { exit; }, // Ignore, nested closed scope.
- );
-
- die; // Error.
- }
-
- /**
- * This should be easily skipped over.
- */
- abstract function something();
- #[AttributeWhichCouldBeLong, ShouldBeSkippedOver( 10, self::CONST_VALUE)]
- public function __DeStruct() {
- // Destructor will not be called on exit() in constructor.
- }
-}
-
-trait CrossVersionInValid
-{
- public function __construct() {
- exit(1); // Error.
- }
-
- public function __destruct() {
- // Destructor will not be called on exit() in constructor.
- }
-}
-
-class DoesntExtendAndDoesntHaveDestructMethodButUsesTrait {
- use TraitWhichMayOrMayNotContainADestructMethod;
-
- public function __construct() {
- die(1); // Warning.
- }
-}
-
-/*
- * Prevent false positives.
- */
-class DoesntExtendAndDoesntHaveDestructMethod {
- public function __construct() {
- exit(1);
- }
-}
-
-trait CantExtendAndDoesntHaveDestructMethod {
- public function __construct() {
- exit(1);
- }
-}
-
-class ExitNotInFunctionScope {
- public function __construct() {
- $this->property = function($param) {
- exit(1);
- };
- }
-
- public function __destruct() {}
-}
-
-function __construct() {}
-
-interface DoesntHaveCodeInFunctions {
- public function __construct();
-}
diff --git a/PHPCompatibility/Tests/FunctionDeclarations/RemovedCallingDestructAfterConstructorExitUnitTest.php b/PHPCompatibility/Tests/FunctionDeclarations/RemovedCallingDestructAfterConstructorExitUnitTest.php
deleted file mode 100644
index 43d1bd0b..00000000
--- a/PHPCompatibility/Tests/FunctionDeclarations/RemovedCallingDestructAfterConstructorExitUnitTest.php
+++ /dev/null
@@ -1,123 +0,0 @@
-sniffFile(__FILE__, '8.0');
- $error = "When $name() is called within an object constructor, the object destructor will no longer be called since PHP 8.0";
-
- if ($isError === true) {
- $this->assertError($file, $line, $error);
- } else {
- $this->assertWarning($file, $line, $error);
- }
- }
-
- /**
- * Data provider.
- *
- * @see testRemovedCallingDestructAfterConstructorExit()
- *
- * @return array
- */
- public function dataRemovedCallingDestructAfterConstructorExit()
- {
- return [
- [33, 'exit'],
- [44, 'die', false],
- [46, 'exit', false],
- [69, 'die'],
- [85, 'exit'],
- [97, 'die', false],
- ];
- }
-
-
- /**
- * Verify the sniff does not throw false positives for valid code.
- *
- * @dataProvider dataNoFalsePositives
- *
- * @param int $line The line number.
- *
- * @return void
- */
- public function testNoFalsePositives($line)
- {
- $file = $this->sniffFile(__FILE__, '8.0');
- $this->assertNoViolation($file, $line);
- }
-
- /**
- * Data provider.
- *
- * @see testNoFalsePositives()
- *
- * @return array
- */
- public function dataNoFalsePositives()
- {
- $cases = [];
- // No errors expected on the first 26 lines.
- for ($line = 1; $line <= 26; $line++) {
- $cases[] = [$line];
- }
-
- $cases[] = [56];
- $cases[] = [61];
- $cases[] = [66];
-
- for ($line = 101; $line <= 130; $line++) {
- $cases[] = [$line];
- }
-
- return $cases;
- }
-
-
- /**
- * Verify no notices are thrown at all.
- *
- * @return void
- */
- public function testNoViolationsInFileOnValidVersion()
- {
- $file = $this->sniffFile(__FILE__, '7.4');
- $this->assertNoViolation($file);
- }
-}
diff --git a/PHPCompatibility/Tests/FunctionDeclarations/RemovedOptionalBeforeRequiredParamUnitTest.inc b/PHPCompatibility/Tests/FunctionDeclarations/RemovedOptionalBeforeRequiredParamUnitTest.inc
deleted file mode 100644
index 4cd62436..00000000
--- a/PHPCompatibility/Tests/FunctionDeclarations/RemovedOptionalBeforeRequiredParamUnitTest.inc
+++ /dev/null
@@ -1,51 +0,0 @@
- $a ? (string) $b : '';
-
-// Parse error, nothing in default, not our concern. Throw error anyway.
-$closure = function ($a = /*comment*/, $b) {};
-
-// Prevent false positives on variadic parameters.
-function variadicIsOptionalByNature($a, int ...$b) {}
-function variadicIsOptionalByNatureWithExtraOptional($a, $b = null, ...$c) {}
-// Intentional parse error. This has always been an error though, so ignore for this sniff.
-function variadicBeforeRequiredWasAlwaysAnError(...$a, $b) {}
-
-// Rule also applies to constructor property promotion.
-class ConstructorPropertyPromotion {
- public function __construct(
- public $propA = 10,
- protected $propB,
- ) {}
-}
-
-class MixedWithOptionalProperty {
- public function __construct(
- public $propA = false,
- $normalParam
- ) {}
-}
-
-class MixedWithOptionalParam {
- public function __construct(
- public $propA,
- $normalParam = 10, // OK.
- ) {}
-}
-
-// Intentional parse error. This has to be the last test in the file.
-$closure = function( $a = [], $b
diff --git a/PHPCompatibility/Tests/FunctionDeclarations/RemovedOptionalBeforeRequiredParamUnitTest.php b/PHPCompatibility/Tests/FunctionDeclarations/RemovedOptionalBeforeRequiredParamUnitTest.php
deleted file mode 100644
index af0e9063..00000000
--- a/PHPCompatibility/Tests/FunctionDeclarations/RemovedOptionalBeforeRequiredParamUnitTest.php
+++ /dev/null
@@ -1,119 +0,0 @@
-sniffFile(__FILE__, '8.0');
- $this->assertWarning($file, $line, 'Declaring a required parameter after an optional one is deprecated since PHP 8.0');
- }
-
- /**
- * Data provider.
- *
- * @see testRemovedOptionalBeforeRequiredParam()
- *
- * @return array
- */
- public function dataRemovedOptionalBeforeRequiredParam()
- {
- return [
- [13], // Warning x 2.
- [14],
- [16],
- [17],
- [20],
- [32],
- [39],
- ];
- }
-
-
- /**
- * Verify the sniff does not throw false positives for valid code.
- *
- * @dataProvider dataNoFalsePositives
- *
- * @param int $line The line number.
- *
- * @return void
- */
- public function testNoFalsePositives($line)
- {
- $file = $this->sniffFile(__FILE__, '8.0');
- $this->assertNoViolation($file, $line);
- }
-
- /**
- * Data provider.
- *
- * @see testNoFalsePositives()
- *
- * @return array
- */
- public function dataNoFalsePositives()
- {
- $cases = [];
- // No errors expected on the first 9 lines.
- for ($line = 1; $line <= 9; $line++) {
- $cases[] = [$line];
- }
-
- // Don't error on variadic parameters.
- $cases[] = [23];
- $cases[] = [24];
- $cases[] = [26];
-
- // Constructor property promotion - valid example.
- $cases[] = [46];
-
- // Add parse error test case.
- $cases[] = [51];
-
- return $cases;
- }
-
-
- /**
- * Verify no notices are thrown at all.
- *
- * @return void
- */
- public function testNoViolationsInFileOnValidVersion()
- {
- $file = $this->sniffFile(__FILE__, '7.4');
- $this->assertNoViolation($file);
- }
-}
diff --git a/PHPCompatibility/Tests/FunctionUse/RemovedFunctionsUnitTest.inc b/PHPCompatibility/Tests/FunctionUse/RemovedFunctionsUnitTest.inc
deleted file mode 100644
index ae484c99..00000000
--- a/PHPCompatibility/Tests/FunctionUse/RemovedFunctionsUnitTest.inc
+++ /dev/null
@@ -1,1232 +0,0 @@
-php_check_syntax();
-MyClass::php_check_syntax();
-MyNamespace\php_check_syntax();
-echo PHP_CHECK_SYNTAX; // Constant.
-const php_check_syntax = 'abc';
-use php_check_syntax;
-function php_check_syntax() {}
-abstract class Split {}
-
-// More deprecated functions, PHP 7.2
-jpeg2wbmp();
-png2wbmp();
-create_function();
-while (list($key, $val) = each($array)) {}
-gmp_random(2);
-read_exif_data();
-
-// PHP 7.3.
-image2wbmp();
-mbregex_encoding();
-mbereg();
-mberegi();
-mbereg_replace();
-mberegi_replace();
-mbsplit();
-mbereg_match();
-mbereg_search();
-mbereg_search_pos();
-mbereg_search_regs();
-mbereg_search_init();
-mbereg_search_getregs();
-mbereg_search_getpos();
-mbereg_search_setpos();
-fgetss();
-gzgetss();
-
-// PHP 7.4.
-ibase_add_user();
-ibase_affected_rows();
-ibase_backup();
-ibase_blob_add();
-ibase_blob_cancel();
-ibase_blob_close();
-ibase_blob_create();
-ibase_blob_echo();
-ibase_blob_get();
-ibase_blob_import();
-ibase_blob_info();
-ibase_blob_open();
-ibase_close();
-ibase_commit_ret();
-ibase_commit();
-ibase_connect();
-ibase_db_info();
-ibase_delete_user();
-ibase_drop_db();
-ibase_errcode();
-ibase_errmsg();
-ibase_execute();
-ibase_fetch_assoc();
-ibase_fetch_object();
-ibase_fetch_row();
-ibase_field_info();
-ibase_free_event_handler();
-ibase_free_query();
-ibase_free_result();
-ibase_gen_id();
-ibase_maintain_db();
-ibase_modify_user();
-ibase_name_result();
-ibase_num_fields();
-ibase_num_params();
-ibase_param_info();
-ibase_pconnect();
-ibase_prepare();
-ibase_query();
-ibase_restore();
-ibase_rollback_ret();
-ibase_rollback();
-ibase_server_info();
-ibase_service_attach();
-ibase_service_detach();
-ibase_set_event_handler();
-ibase_trans();
-ibase_wait_event();
-
-// Pfpro extension - PHP 5.1
-pfpro_cleanup();
-pfpro_init();
-pfpro_process_raw();
-pfpro_process();
-pfpro_version();
-
-// PHP 7.4.
-wddx_add_vars();
-wddx_deserialize();
-wddx_packet_end();
-wddx_packet_start();
-wddx_serialize_value();
-wddx_serialize_vars();
-ldap_control_paged_result_response();
-ldap_control_paged_result();
-recode_file();
-recode_string();
-recode();
-is_real();
-get_magic_quotes_gpc();
-get_magic_quotes_runtime();
-hebrevc($str));
-convert_cyr_string($str, 'k', 'i');
-money_format();
-ezmlm_hash();
-restore_include_path();
-
-// These calls should *not* trigger an error.
-$myobject -> php_check_syntax (); // Method, not the native PHP function.
-myNamespace \ /*comment*/ php_check_syntax(); // Namespaced function, not the native PHP function.
-namespace\php_check_syntax(); // Namespaced function, not the native PHP function.
-$obj = new php_check_syntax /*comment*/ (); // Class not method.
-
-// PHP 5.3 Ncurses extension.
-ncurses_addch();
-ncurses_addchnstr();
-ncurses_addchstr();
-ncurses_addnstr();
-ncurses_addstr();
-ncurses_assume_default_colors();
-ncurses_attroff();
-ncurses_attron();
-ncurses_attrset();
-ncurses_baudrate();
-ncurses_beep();
-ncurses_bkgd();
-ncurses_bkgdset();
-ncurses_border();
-ncurses_bottom_panel();
-ncurses_can_change_color();
-ncurses_cbreak();
-ncurses_clear();
-ncurses_clrtobot();
-ncurses_clrtoeol();
-ncurses_color_content();
-ncurses_color_set();
-ncurses_curs_set();
-ncurses_def_prog_mode();
-ncurses_def_shell_mode();
-ncurses_define_key();
-ncurses_del_panel();
-ncurses_delay_output();
-ncurses_delch();
-ncurses_deleteln();
-ncurses_delwin();
-ncurses_doupdate();
-ncurses_echo();
-ncurses_echochar();
-ncurses_end();
-ncurses_erase();
-ncurses_erasechar();
-ncurses_filter();
-ncurses_flash();
-ncurses_flushinp();
-ncurses_getch();
-ncurses_getmaxyx();
-ncurses_getmouse();
-ncurses_getyx();
-ncurses_halfdelay();
-ncurses_has_colors();
-ncurses_has_ic();
-ncurses_has_il();
-ncurses_has_key();
-ncurses_hide_panel();
-ncurses_hline();
-ncurses_inch();
-ncurses_init_color();
-ncurses_init_pair();
-ncurses_init();
-ncurses_insch();
-ncurses_insdelln();
-ncurses_insertln();
-ncurses_insstr();
-ncurses_instr();
-ncurses_isendwin();
-ncurses_keyok();
-ncurses_keypad();
-ncurses_killchar();
-ncurses_longname();
-ncurses_meta();
-ncurses_mouse_trafo();
-ncurses_mouseinterval();
-ncurses_mousemask();
-ncurses_move_panel();
-ncurses_move();
-ncurses_mvaddch();
-ncurses_mvaddchnstr();
-ncurses_mvaddchstr();
-ncurses_mvaddnstr();
-ncurses_mvaddstr();
-ncurses_mvcur();
-ncurses_mvdelch();
-ncurses_mvgetch();
-ncurses_mvhline();
-ncurses_mvinch();
-ncurses_mvvline();
-ncurses_mvwaddstr();
-ncurses_napms();
-ncurses_new_panel();
-ncurses_newpad();
-ncurses_newwin();
-ncurses_nl();
-ncurses_nocbreak();
-ncurses_noecho();
-ncurses_nonl();
-ncurses_noqiflush();
-ncurses_noraw();
-ncurses_pair_content();
-ncurses_panel_above();
-ncurses_panel_below();
-ncurses_panel_window();
-ncurses_pnoutrefresh();
-ncurses_prefresh();
-ncurses_putp();
-ncurses_qiflush();
-ncurses_raw();
-ncurses_refresh();
-ncurses_replace_panel();
-ncurses_reset_prog_mode();
-ncurses_reset_shell_mode();
-ncurses_resetty();
-ncurses_savetty();
-ncurses_scr_dump();
-ncurses_scr_init();
-ncurses_scr_restore();
-ncurses_scr_set();
-ncurses_scrl();
-ncurses_show_panel();
-ncurses_slk_attr();
-ncurses_slk_attroff();
-ncurses_slk_attron();
-ncurses_slk_attrset();
-ncurses_slk_clear();
-ncurses_slk_color();
-ncurses_slk_init();
-ncurses_slk_noutrefresh();
-ncurses_slk_refresh();
-ncurses_slk_restore();
-ncurses_slk_set();
-ncurses_slk_touch();
-ncurses_standend();
-ncurses_standout();
-ncurses_start_color();
-ncurses_termattrs();
-ncurses_termname();
-ncurses_timeout();
-ncurses_top_panel();
-ncurses_typeahead();
-ncurses_ungetch();
-ncurses_ungetmouse();
-ncurses_update_panels();
-ncurses_use_default_colors();
-ncurses_use_env();
-ncurses_use_extended_names();
-ncurses_vidattr();
-ncurses_vline();
-ncurses_waddch();
-ncurses_waddstr();
-ncurses_wattroff();
-ncurses_wattron();
-ncurses_wattrset();
-ncurses_wborder();
-ncurses_wclear();
-ncurses_wcolor_set();
-ncurses_werase();
-ncurses_wgetch();
-ncurses_whline();
-ncurses_wmouse_trafo();
-ncurses_wmove();
-ncurses_wnoutrefresh();
-ncurses_wrefresh();
-ncurses_wstandend();
-ncurses_wstandout();
-ncurses_wvline();
-
-// PHP 5.1 MCVE extension.
-m_checkstatus();
-m_completeauthorizations();
-m_connect();
-m_connectionerror();
-m_deletetrans();
-m_destroyconn();
-m_destroyengine();
-m_getcell();
-m_getcellbynum();
-m_getcommadelimited();
-m_getheader();
-m_initconn();
-m_initengine();
-m_iscommadelimited();
-m_maxconntimeout();
-m_monitor();
-m_numcolumns();
-m_numrows();
-m_parsecommadelimited();
-m_responsekeys();
-m_responseparam();
-m_returnstatus();
-m_setblocking();
-m_setdropfile();
-m_setip();
-m_setssl_cafile();
-m_setssl_files();
-m_setssl();
-m_settimeout();
-m_sslcert_gen_hash();
-m_transactionssent();
-m_transinqueue();
-m_transkeyval();
-m_transnew();
-m_transsend();
-m_uwait();
-m_validateidentifier();
-m_verifyconnection();
-m_verifysslcert();
-
-// PHP 5.1 DIO extension.
-dio_close();
-dio_fcntl();
-dio_open();
-dio_read();
-dio_seek();
-dio_stat();
-dio_tcsetattr();
-dio_truncate();
-dio_write();
-
-// PHP 5.3 FDF extension.
-fdf_add_doc_javascript();
-fdf_add_template();
-fdf_close();
-fdf_create();
-fdf_enum_values();
-fdf_errno();
-fdf_error();
-fdf_get_ap();
-fdf_get_attachment();
-fdf_get_encoding();
-fdf_get_file();
-fdf_get_flags();
-fdf_get_opt();
-fdf_get_status();
-fdf_get_value();
-fdf_get_version();
-fdf_header();
-fdf_next_field_name();
-fdf_open_string();
-fdf_open();
-fdf_remove_item();
-fdf_save_string();
-fdf_save();
-fdf_set_ap();
-fdf_set_encoding();
-fdf_set_file();
-fdf_set_flags();
-fdf_set_javascript_action();
-fdf_set_on_import_javascript();
-fdf_set_opt();
-fdf_set_status();
-fdf_set_submit_form_action();
-fdf_set_target_frame();
-fdf_set_value();
-fdf_set_version();
-
-// PHP 5.3 Ming extension.
-ming_keypress();
-ming_setcubicthreshold();
-ming_setscale();
-ming_setswfcompression();
-ming_useconstants();
-ming_useswfversion();
-
-// PHP 5.1 Fam extension.
-fam_cancel_monitor();
-fam_close();
-fam_monitor_collection();
-fam_monitor_directory();
-fam_monitor_file();
-fam_next_event();
-fam_open();
-fam_pending();
-fam_resume_monitor();
-fam_suspend_monitor();
-
-// PHP 5.2 HWAPI extension.
-hwapi_attribute_new();
-hwapi_content_new();
-hwapi_hgcsp();
-hwapi_object_new();
-
-// PHP 5.1 YP/NIS extension.
-yp_all();
-yp_cat();
-yp_err_string();
-yp_errno();
-yp_first();
-yp_get_default_domain();
-yp_master();
-yp_match();
-yp_next();
-yp_order();
-
-// PHP 5.1 Mnogosearch extension.
-udm_add_search_limit();
-udm_alloc_agent_array();
-udm_alloc_agent();
-udm_api_version();
-udm_cat_list();
-udm_cat_path();
-udm_check_charset();
-udm_clear_search_limits();
-udm_crc32();
-udm_errno();
-udm_error();
-udm_find();
-udm_free_agent();
-udm_free_ispell_data();
-udm_free_res();
-udm_get_doc_count();
-udm_get_res_field();
-udm_get_res_param();
-udm_hash32();
-udm_load_ispell_data();
-udm_set_agent_param();
-
-// PHP 5.1.3 Msession extension.
-msession_connect();
-msession_count();
-msession_create();
-msession_destroy();
-msession_disconnect();
-msession_find();
-msession_get_array();
-msession_get_data();
-msession_get();
-msession_inc();
-msession_list();
-msession_listvar();
-msession_lock();
-msession_plugin();
-msession_randstr();
-msession_set_array();
-msession_set_data();
-msession_set();
-msession_timeout();
-msession_uniq();
-msession_unlock();
-
-__autoload($class);
-
-// PHP 5.0 Crack extension.
-crack_check();
-crack_closedict();
-crack_getlastmessage();
-crack_opendict();
-
-// PHP 5.1 W32API extension.
-w32api_deftype();
-w32api_init_dtype();
-w32api_invoke_function();
-w32api_register_function();
-w32api_set_call_method();
-
-// PHP 5.1 CPDF extension.
-cpdf_add_annotation();
-cpdf_add_outline();
-cpdf_arc();
-cpdf_begin_text();
-cpdf_circle();
-cpdf_clip();
-cpdf_close();
-cpdf_closepath_fill_stroke();
-cpdf_closepath_stroke();
-cpdf_closepath();
-cpdf_continue_text();
-cpdf_curveto();
-cpdf_end_text();
-cpdf_fill_stroke();
-cpdf_fill();
-cpdf_finalize_page();
-cpdf_finalize();
-cpdf_global_set_document_limits();
-cpdf_import_jpeg();
-cpdf_lineto();
-cpdf_moveto();
-cpdf_newpath();
-cpdf_open();
-cpdf_output_buffer();
-cpdf_page_init();
-cpdf_place_inline_image();
-cpdf_rect();
-cpdf_restore();
-cpdf_rlineto();
-cpdf_rmoveto();
-cpdf_rotate_text();
-cpdf_rotate();
-cpdf_save_to_file();
-cpdf_save();
-cpdf_scale();
-cpdf_set_action_url();
-cpdf_set_char_spacing();
-cpdf_set_creator();
-cpdf_set_current_page();
-cpdf_set_font_directories();
-cpdf_set_font_map_file();
-cpdf_set_font();
-cpdf_set_horiz_scaling();
-cpdf_set_keywords();
-cpdf_set_leading();
-cpdf_set_page_animation();
-cpdf_set_subject();
-cpdf_set_text_matrix();
-cpdf_set_text_pos();
-cpdf_set_text_rendering();
-cpdf_set_text_rise();
-cpdf_set_title();
-cpdf_set_viewer_preferences();
-cpdf_set_word_spacing();
-cpdf_setdash();
-cpdf_setflat();
-cpdf_setgray_fill();
-cpdf_setgray_stroke();
-cpdf_setgray();
-cpdf_setlinecap();
-cpdf_setlinejoin();
-cpdf_setlinewidth();
-cpdf_setmiterlimit();
-cpdf_setrgbcolor_fill();
-cpdf_setrgbcolor_stroke();
-cpdf_setrgbcolor();
-cpdf_show_xy();
-cpdf_show();
-cpdf_stringwidth();
-cpdf_stroke();
-cpdf_text();
-cpdf_translate();
-ircg_channel_mode();
-ircg_disconnect();
-ircg_eval_ecmascript_params();
-ircg_fetch_error_msg();
-ircg_get_username();
-ircg_html_encode();
-ircg_ignore_add();
-ircg_ignore_del();
-ircg_invite();
-ircg_is_conn_alive();
-ircg_join();
-ircg_kick();
-ircg_list();
-ircg_lookup_format_messages();
-ircg_lusers();
-ircg_msg();
-ircg_names();
-ircg_nick();
-ircg_nickname_escape();
-ircg_nickname_unescape();
-ircg_notice();
-ircg_oper();
-ircg_part();
-ircg_pconnect();
-ircg_register_format_messages();
-ircg_set_current();
-ircg_set_file();
-ircg_set_on_die();
-ircg_topic();
-ircg_who();
-ircg_whois();
-dbase_add_record();
-dbase_close();
-dbase_create();
-dbase_delete_record();
-dbase_get_header_info();
-dbase_get_record_with_names();
-dbase_get_record();
-dbase_numfields();
-dbase_numrecords();
-dbase_open();
-dbase_pack();
-dbase_replace_record();
-dbx_close();
-dbx_compare();
-dbx_connect();
-dbx_error();
-dbx_escape_string();
-dbx_fetch_row();
-dbx_query();
-dbx_sort();
-fbsql_affected_rows();
-fbsql_autocommit();
-fbsql_blob_size();
-fbsql_change_user();
-fbsql_clob_size();
-fbsql_close();
-fbsql_commit();
-fbsql_connect();
-fbsql_create_blob();
-fbsql_create_clob();
-fbsql_create_db();
-fbsql_data_seek();
-fbsql_database_password();
-fbsql_database();
-fbsql_db_query();
-fbsql_db_status();
-fbsql_drop_db();
-fbsql_errno();
-fbsql_error();
-fbsql_fetch_array();
-fbsql_fetch_assoc();
-fbsql_fetch_field();
-fbsql_fetch_lengths();
-fbsql_fetch_object();
-fbsql_fetch_row();
-fbsql_field_flags();
-fbsql_field_len();
-fbsql_field_name();
-fbsql_field_seek();
-fbsql_field_table();
-fbsql_field_type();
-fbsql_free_result();
-fbsql_get_autostart_info();
-fbsql_hostname();
-fbsql_insert_id();
-fbsql_list_dbs();
-fbsql_list_fields();
-fbsql_list_tables();
-fbsql_next_result();
-fbsql_num_fields();
-fbsql_num_rows();
-fbsql_password();
-fbsql_pconnect();
-fbsql_query();
-fbsql_read_blob();
-fbsql_read_clob();
-fbsql_result();
-fbsql_rollback();
-fbsql_rows_fetched();
-fbsql_select_db();
-fbsql_set_characterset();
-fbsql_set_lob_mode();
-fbsql_set_password();
-fbsql_set_transaction();
-fbsql_start_db();
-fbsql_stop_db();
-fbsql_table_name();
-fbsql_tablename();
-fbsql_username();
-fbsql_warnings();
-filepro_fieldcount();
-filepro_fieldname();
-filepro_fieldtype();
-filepro_fieldwidth();
-filepro_retrieve();
-filepro_rowcount();
-filepro();
-ingres_autocommit();
-ingres_close();
-ingres_commit();
-ingres_connect();
-ingres_fetch_array();
-ingres_fetch_object();
-ingres_fetch_row();
-ingres_field_length();
-ingres_field_name();
-ingres_field_nullable();
-ingres_field_precision();
-ingres_field_scale();
-ingres_field_type();
-ingres_num_fields();
-ingres_num_rows();
-ingres_pconnect();
-ingres_query();
-ingres_rollback();
-msql_affected_rows();
-msql_close();
-msql_connect();
-msql_create_db();
-msql_createdb();
-msql_data_seek();
-msql_db_query();
-msql_dbname();
-msql_drop_db();
-msql_error();
-msql_fetch_array();
-msql_fetch_field();
-msql_fetch_object();
-msql_fetch_row();
-msql_field_flags();
-msql_field_len();
-msql_field_name();
-msql_field_seek();
-msql_field_table();
-msql_field_type();
-msql_fieldflags();
-msql_fieldlen();
-msql_fieldname();
-msql_fieldtable();
-msql_fieldtype();
-msql_free_result();
-msql_list_dbs();
-msql_list_fields();
-msql_list_tables();
-msql_num_fields();
-msql_num_rows();
-msql_numfields();
-msql_numrows();
-msql_pconnect();
-msql_query();
-msql_regcase();
-msql_result();
-msql_select_db();
-msql_tablename();
-msql();
-mssql_bind();
-mssql_close();
-mssql_connect();
-mssql_data_seek();
-mssql_execute();
-mssql_fetch_array();
-mssql_fetch_assoc();
-mssql_fetch_batch();
-mssql_fetch_field();
-mssql_fetch_object();
-mssql_fetch_row();
-mssql_field_length();
-mssql_field_name();
-mssql_field_seek();
-mssql_field_type();
-mssql_free_result();
-mssql_free_statement();
-mssql_get_last_message();
-mssql_guid_string();
-mssql_init();
-mssql_min_error_severity();
-mssql_min_message_severity();
-mssql_next_result();
-mssql_num_fields();
-mssql_num_rows();
-mssql_pconnect();
-mssql_query();
-mssql_result();
-mssql_rows_affected();
-mssql_select_db();
-sqlite_array_query();
-sqlite_busy_timeout();
-sqlite_changes();
-sqlite_close();
-sqlite_column();
-sqlite_create_aggregate();
-sqlite_create_function();
-sqlite_current();
-sqlite_error_string();
-sqlite_escape_string();
-sqlite_exec();
-sqlite_factory();
-sqlite_fetch_all();
-sqlite_fetch_array();
-sqlite_fetch_column_types();
-sqlite_fetch_object();
-sqlite_fetch_single();
-sqlite_fetch_string();
-sqlite_field_name();
-sqlite_has_more();
-sqlite_has_prev();
-sqlite_key();
-sqlite_last_error();
-sqlite_last_insert_rowid();
-sqlite_libencoding();
-sqlite_libversion();
-sqlite_next();
-sqlite_num_fields();
-sqlite_num_rows();
-sqlite_open();
-sqlite_popen();
-sqlite_prev();
-sqlite_query();
-sqlite_rewind();
-sqlite_seek();
-sqlite_single_query();
-sqlite_udf_decode_binary();
-sqlite_udf_encode_binary();
-sqlite_unbuffered_query();
-sqlite_valid();
-mysql_affected_rows();
-mysql_client_encoding();
-mysql_close();
-mysql_connect();
-mysql_create_db();
-mysql_data_seek();
-mysql_db_name();
-mysql_drop_db();
-mysql_errno();
-mysql_error();
-mysql_fetch_array();
-mysql_fetch_assoc();
-mysql_fetch_field();
-mysql_fetch_lengths();
-mysql_fetch_object();
-mysql_fetch_row();
-mysql_field_flags();
-mysql_field_len();
-mysql_field_name();
-mysql_field_seek();
-mysql_field_table();
-mysql_field_type();
-mysql_free_result();
-mysql_get_client_info();
-mysql_get_host_info();
-mysql_get_proto_info();
-mysql_get_server_info();
-mysql_info();
-mysql_insert_id();
-mysql_list_fields();
-mysql_list_processes();
-mysql_list_tables();
-mysql_num_fields();
-mysql_num_rows();
-mysql_pconnect();
-mysql_ping();
-mysql_query();
-mysql_real_escape_string();
-mysql_result();
-mysql_select_db();
-mysql_set_charset();
-mysql_stat();
-mysql_tablename();
-mysql_thread_id();
-mysql_unbuffered_query();
-mysql();
-mysql_fieldname();
-mysql_fieldtable();
-mysql_fieldlen();
-mysql_fieldtype();
-mysql_fieldflags();
-mysql_selectdb();
-mysql_createdb();
-mysql_dropdb();
-mysql_freeresult();
-mysql_numfields();
-mysql_numrows();
-mysql_listdbs();
-mysql_listtables();
-mysql_listfields();
-mysql_dbname();
-mysql_table_name();
-
-// PHP 7.4 ibase extension aliases.
-fbird_add_user();
-fbird_affected_rows();
-fbird_backup();
-fbird_blob_add();
-fbird_blob_cancel();
-fbird_blob_close();
-fbird_blob_create();
-fbird_blob_echo();
-fbird_blob_get();
-fbird_blob_import();
-fbird_blob_info();
-fbird_blob_open();
-fbird_close();
-fbird_commit_ret();
-fbird_commit();
-fbird_connect();
-fbird_db_info();
-fbird_delete_user();
-fbird_drop_db();
-fbird_errcode();
-fbird_errmsg();
-fbird_execute();
-fbird_fetch_assoc();
-fbird_fetch_object();
-fbird_fetch_row();
-fbird_field_info();
-fbird_free_event_handler();
-fbird_free_query();
-fbird_free_result();
-fbird_gen_id();
-fbird_maintain_db();
-fbird_modify_user();
-fbird_name_result();
-fbird_num_fields();
-fbird_num_params();
-fbird_param_info();
-fbird_pconnect();
-fbird_prepare();
-fbird_query();
-fbird_restore();
-fbird_rollback_ret();
-fbird_rollback();
-fbird_server_info();
-fbird_service_attach();
-fbird_service_detach();
-fbird_set_event_handler();
-fbird_trans();
-fbird_wait_event();
-
-ovrimos_close();
-ovrimos_commit();
-ovrimos_connect();
-ovrimos_cursor();
-ovrimos_exec();
-ovrimos_execute();
-ovrimos_fetch_into();
-ovrimos_fetch_row();
-ovrimos_field_len();
-ovrimos_field_name();
-ovrimos_field_num();
-ovrimos_field_type();
-ovrimos_free_result();
-ovrimos_longreadlen();
-ovrimos_num_fields();
-ovrimos_num_rows();
-ovrimos_prepare();
-ovrimos_result_all();
-ovrimos_result();
-ovrimos_rollback();
-ovrimos_close_all();
-
-ora_bind();
-ora_close();
-ora_columnname();
-ora_columnsize();
-ora_columntype();
-ora_commit();
-ora_commitoff();
-ora_commiton();
-ora_do();
-ora_error();
-ora_errorcode();
-ora_exec();
-ora_fetch_into();
-ora_fetch();
-ora_getcolumn();
-ora_logoff();
-ora_logon();
-ora_numcols();
-ora_numrows();
-ora_open();
-ora_parse();
-ora_plogon();
-ora_rollback();
-sybase_affected_rows();
-sybase_close();
-sybase_connect();
-sybase_data_seek();
-sybase_deadlock_retry_count();
-sybase_fetch_array();
-sybase_fetch_assoc();
-sybase_fetch_field();
-sybase_fetch_object();
-sybase_fetch_row();
-sybase_field_seek();
-sybase_free_result();
-sybase_get_last_message();
-sybase_min_client_severity();
-sybase_min_error_severity();
-sybase_min_message_severity();
-sybase_min_server_severity();
-sybase_num_fields();
-sybase_num_rows();
-sybase_pconnect();
-sybase_query();
-sybase_result();
-sybase_select_db();
-sybase_set_message_handler();
-sybase_unbuffered_query();
-ifx_affected_rows();
-ifx_blobinfile_mode();
-ifx_byteasvarchar();
-ifx_close();
-ifx_connect();
-ifx_copy_blob();
-ifx_create_blob();
-ifx_create_char();
-ifx_do();
-ifx_error();
-ifx_errormsg();
-ifx_fetch_row();
-ifx_fieldproperties();
-ifx_fieldtypes();
-ifx_free_blob();
-ifx_free_char();
-ifx_free_result();
-ifx_get_blob();
-ifx_get_char();
-ifx_getsqlca();
-ifx_htmltbl_result();
-ifx_nullformat();
-ifx_num_fields();
-ifx_num_rows();
-ifx_pconnect();
-ifx_prepare();
-ifx_query();
-ifx_textasvarchar();
-ifx_update_blob();
-ifx_update_char();
-ifxus_close_slob();
-ifxus_create_slob();
-ifxus_free_slob();
-ifxus_open_slob();
-ifxus_read_slob();
-ifxus_seek_slob();
-ifxus_tell_slob();
-ifxus_write_slob();
-mysqli_disable_reads_from_master();
-mysqli_disable_rpl_parse();
-mysqli_embedded_connect();
-mysqli_embedded_server_end();
-mysqli_embedded_server_start();
-mysqli_enable_reads_from_master();
-mysqli_enable_rpl_parse();
-mysqli_master_query();
-mysqli_resource();
-mysqli_rpl_parse_enabled();
-mysqli_rpl_probe();
-mysqli_server_end();
-mysqli_server_init();
-mysqli_slave_query();
-xmlrpc_decode_request();
-xmlrpc_decode();
-xmlrpc_encode_request();
-xmlrpc_encode();
-xmlrpc_get_type();
-xmlrpc_is_fault();
-xmlrpc_parse_method_descriptions();
-xmlrpc_server_add_introspection_data();
-xmlrpc_server_call_method();
-xmlrpc_server_create();
-xmlrpc_server_destroy();
-xmlrpc_server_register_introspection_callback();
-xmlrpc_server_register_method();
-xmlrpc_set_type();
-enchant_broker_get_dict_path();
-enchant_broker_set_dict_path();
-enchant_broker_free();
-enchant_broker_free_dict();
-enchant_dict_add_to_personal();
-enchant_dict_is_in_session();
-oci_internal_debug();
-zip_close();
-zip_entry_close();
-zip_entry_compressedsize();
-zip_entry_compressionmethod();
-zip_entry_filesize();
-zip_entry_name();
-zip_entry_open();
-zip_entry_read();
-zip_open();
-zip_read();
-openssl_x509_free();
-openssl_pkey_free();
-libxml_disable_entity_loader();
-pg_clientencoding();
-pg_cmdtuples();
-pg_errormessage();
-pg_fieldname();
-pg_fieldnum();
-pg_fieldisnull();
-pg_fieldprtlen();
-pg_fieldsize();
-pg_fieldtype();
-pg_freeresult();
-pg_getlastoid();
-pg_loclose();
-pg_locreate();
-pg_loexport();
-pg_loimport();
-pg_loopen();
-pg_loread();
-pg_loreadall();
-pg_lounlink();
-pg_lowrite();
-pg_numfields();
-pg_numrows();
-pg_result();
-pg_setclientencoding();
-imap_header();
-shmop_close();
-openssl_free_key();
-date_sunrise();
-date_sunset();
-strptime();
-strftime();
-gmstrftime();
-mhash_count();
-mhash_get_block_size();
-mhash_get_hash_name();
-mhash_keygen_s2k();
-mhash();
-odbc_result_all();
-
-// Prevent false positives on PHP 8.0+ nullsafe method calls.
-$obj?->php_check_syntax(); // OK.
diff --git a/PHPCompatibility/Tests/FunctionUse/RemovedFunctionsUnitTest.php b/PHPCompatibility/Tests/FunctionUse/RemovedFunctionsUnitTest.php
deleted file mode 100644
index bcc09de2..00000000
--- a/PHPCompatibility/Tests/FunctionUse/RemovedFunctionsUnitTest.php
+++ /dev/null
@@ -1,1553 +0,0 @@
-sniffFile(__FILE__, $okVersion);
- foreach ($lines as $line) {
- $this->assertNoViolation($file, $line);
- }
-
- $errorVersion = (isset($deprecatedVersion)) ? $deprecatedVersion : $deprecatedIn;
- $file = $this->sniffFile(__FILE__, $errorVersion);
- $error = "Function {$functionName}() is deprecated since PHP {$deprecatedIn}";
- foreach ($lines as $line) {
- $this->assertWarning($file, $line, $error);
- }
- }
-
- /**
- * Data provider.
- *
- * @see testDeprecatedFunction()
- *
- * @return array
- */
- public function dataDeprecatedFunction()
- {
- return [
- ['dl', '5.3', [6], '5.2'],
- ['ocifetchinto', '5.4', [63], '5.3'],
- ['enchant_broker_get_dict_path', '8.0', [1172], '7.4'],
- ['enchant_broker_set_dict_path', '8.0', [1173], '7.4'],
- ['libxml_disable_entity_loader', '8.0', [1191], '7.4'],
- ['openssl_x509_free', '8.0', [1189], '7.4'],
- ['openssl_pkey_free', '8.0', [1190], '7.4'],
- ['shmop_close', '8.0', [1217], '7.4'],
- ['openssl_free_key', '8.0', [1218], '7.4'],
- ['odbc_result_all', '8.1', [1229], '8.0'],
- ];
- }
-
-
- /**
- * testDeprecatedFunctionWithAlternative
- *
- * @dataProvider dataDeprecatedFunctionWithAlternative
- *
- * @param string $functionName Name of the function.
- * @param string $deprecatedIn The PHP version in which the function was deprecated.
- * @param string $alternative An alternative function.
- * @param array $lines The line numbers in the test file which apply to this function.
- * @param string $okVersion A PHP version in which the function was still valid.
- * @param string $deprecatedVersion Optional PHP version to test deprecation message with -
- * if different from the $deprecatedIn version.
- *
- * @return void
- */
- public function testDeprecatedFunctionWithAlternative($functionName, $deprecatedIn, $alternative, $lines, $okVersion, $deprecatedVersion = null)
- {
- $file = $this->sniffFile(__FILE__, $okVersion);
- foreach ($lines as $line) {
- $this->assertNoViolation($file, $line);
- }
-
- $errorVersion = (isset($deprecatedVersion)) ? $deprecatedVersion : $deprecatedIn;
- $file = $this->sniffFile(__FILE__, $errorVersion);
- $error = "Function {$functionName}() is deprecated since PHP {$deprecatedIn}; Use {$alternative} instead";
- foreach ($lines as $line) {
- $this->assertWarning($file, $line, $error);
- }
- }
-
- /**
- * Data provider.
- *
- * @see testDeprecatedFunctionWithAlternative()
- *
- * @return array
- */
- public function dataDeprecatedFunctionWithAlternative()
- {
- return [
- ['ocibindbyname', '5.4', 'oci_bind_by_name()', [41], '5.3'],
- ['ocicancel', '5.4', 'oci_cancel()', [42], '5.3'],
- ['ocicloselob', '5.4', 'OCI-Lob::close() / OCILob::close() (PHP 8+)', [43], '5.3'],
- ['ocicollappend', '5.4', 'OCI-Collection::append() / OCICollection::append() (PHP 8+)', [44], '5.3'],
- ['ocicollassign', '5.4', 'OCI-Collection::assign() / OCICollection::assign() (PHP 8+)', [45], '5.3'],
- ['ocicollassignelem', '5.4', 'OCI-Collection::assignElem() / OCICollection::assignElem() (PHP 8+)', [46], '5.3'],
- ['ocicollgetelem', '5.4', 'OCI-Collection::getElem() / OCICollection::getElem() (PHP 8+)', [47], '5.3'],
- ['ocicollmax', '5.4', 'OCI-Collection::max() / OCICollection::max() (PHP 8+)', [48], '5.3'],
- ['ocicollsize', '5.4', 'OCI-Collection::size() / OCICollection::size() (PHP 8+)', [49], '5.3'],
- ['ocicolltrim', '5.4', 'OCI-Collection::trim() / OCICollection::trim() (PHP 8+)', [50], '5.3'],
- ['ocicolumnisnull', '5.4', 'oci_field_is_null()', [51], '5.3'],
- ['ocicolumnname', '5.4', 'oci_field_name()', [52], '5.3'],
- ['ocicolumnprecision', '5.4', 'oci_field_precision()', [53], '5.3'],
- ['ocicolumnscale', '5.4', 'oci_field_scale()', [54], '5.3'],
- ['ocicolumnsize', '5.4', 'oci_field_size()', [55], '5.3'],
- ['ocicolumntype', '5.4', 'oci_field_type()', [56], '5.3'],
- ['ocicolumntyperaw', '5.4', 'oci_field_type_raw()', [57], '5.3'],
- ['ocicommit', '5.4', 'oci_commit()', [58], '5.3'],
- ['ocidefinebyname', '5.4', 'oci_define_by_name()', [59], '5.3'],
- ['ocierror', '5.4', 'oci_error()', [60], '5.3'],
- ['ociexecute', '5.4', 'oci_execute()', [61], '5.3'],
- ['ocifetch', '5.4', 'oci_fetch()', [62], '5.3'],
- ['ocifetchstatement', '5.4', 'oci_fetch_all()', [64], '5.3'],
- ['ocifreecollection', '5.4', 'OCI-Collection::free() / OCICollection::free() (PHP 8+)', [65], '5.3'],
- ['ocifreecursor', '5.4', 'oci_free_statement()', [66], '5.3'],
- ['ocifreedesc', '5.4', 'OCI-Lob::free() / OCILob::free() (PHP 8+)', [67], '5.3'],
- ['ocifreestatement', '5.4', 'oci_free_statement()', [68], '5.3'],
- ['ociloadlob', '5.4', 'OCI-Lob::load() / OCILob::load() (PHP 8+)', [70], '5.3'],
- ['ocilogoff', '5.4', 'oci_close()', [71], '5.3'],
- ['ocilogon', '5.4', 'oci_connect()', [72], '5.3'],
- ['ocinewcollection', '5.4', 'oci_new_collection()', [73], '5.3'],
- ['ocinewcursor', '5.4', 'oci_new_cursor()', [74], '5.3'],
- ['ocinewdescriptor', '5.4', 'oci_new_descriptor()', [75], '5.3'],
- ['ocinlogon', '5.4', 'oci_new_connect()', [76], '5.3'],
- ['ocinumcols', '5.4', 'oci_num_fields()', [77], '5.3'],
- ['ociparse', '5.4', 'oci_parse()', [78], '5.3'],
- ['ociplogon', '5.4', 'oci_pconnect()', [79], '5.3'],
- ['ociresult', '5.4', 'oci_result()', [80], '5.3'],
- ['ocirollback', '5.4', 'oci_rollback()', [81], '5.3'],
- ['ocirowcount', '5.4', 'oci_num_rows()', [82], '5.3'],
- ['ocisavelob', '5.4', 'OCI-Lob::save() / OCILob::save() (PHP 8+)', [83], '5.3'],
- ['ocisavelobfile', '5.4', 'OCI-Lob::import() / OCILob::import() (PHP 8+)', [84], '5.3'],
- ['ociserverversion', '5.4', 'oci_server_version()', [85], '5.3'],
- ['ocisetprefetch', '5.4', 'oci_set_prefetch()', [86], '5.3'],
- ['ocistatementtype', '5.4', 'oci_statement_type()', [87], '5.3'],
- ['ociwritelobtofile', '5.4', 'OCI-Lob::export() / OCILob::export() (PHP 8+)', [88], '5.3'],
- ['ociwritetemporarylob', '5.4', 'OCI-Lob::writeTemporary() / OCILob::writeTemporary() (PHP 8+)', [89], '5.3'],
-
- ['__autoload', '7.2', 'SPL autoload', [589], '7.1'],
- ['is_real', '7.4', 'is_float()', [239], '7.3'],
-
- ['enchant_broker_free', '8.0', 'unset the object', [1174], '7.4'],
- ['enchant_broker_free_dict', '8.0', 'unset the object', [1175], '7.4'],
- ['enchant_dict_add_to_personal', '8.0', 'enchant_dict_add()', [1176], '7.4'],
- ['enchant_dict_is_in_session', '8.0', 'enchant_dict_is_added()', [1177], '7.4'],
- ['zip_close', '8.0', 'ZipArchive::close()', [1179], '7.4'],
- ['zip_entry_close', '8.0', 'ZipArchive', [1180], '7.4'],
- ['zip_entry_compressedsize', '8.0', 'ZipArchive', [1181], '7.4'],
- ['zip_entry_compressionmethod', '8.0', 'ZipArchive', [1182], '7.4'],
- ['zip_entry_filesize', '8.0', 'ZipArchive', [1183], '7.4'],
- ['zip_entry_name', '8.0', 'ZipArchive', [1184], '7.4'],
- ['zip_entry_open', '8.0', 'ZipArchive', [1185], '7.4'],
- ['zip_entry_read', '8.0', 'ZipArchive', [1186], '7.4'],
- ['zip_open', '8.0', 'ZipArchive::open()', [1187], '7.4'],
- ['zip_read', '8.0', 'ZipArchive', [1188], '7.4'],
- ['pg_clientencoding', '8.0', 'pg_client_encoding()', [1192], '7.4'],
- ['pg_cmdtuples', '8.0', 'pg_affected_rows()', [1193], '7.4'],
- ['pg_errormessage', '8.0', 'pg_last_error()', [1194], '7.4'],
- ['pg_fieldname', '8.0', 'pg_field_name()', [1195], '7.4'],
- ['pg_fieldnum', '8.0', 'pg_field_num()', [1196], '7.4'],
- ['pg_fieldisnull', '8.0', 'pg_field_is_null()', [1197], '7.4'],
- ['pg_fieldprtlen', '8.0', 'pg_field_prtlen()', [1198], '7.4'],
- ['pg_fieldsize', '8.0', 'pg_field_size()', [1199], '7.4'],
- ['pg_fieldtype', '8.0', 'pg_field_type()', [1200], '7.4'],
- ['pg_freeresult', '8.0', 'pg_free_result()', [1201], '7.4'],
- ['pg_getlastoid', '8.0', 'pg_last_oid()', [1202], '7.4'],
- ['pg_loclose', '8.0', 'pg_lo_close()', [1203], '7.4'],
- ['pg_locreate', '8.0', 'pg_lo_create()', [1204], '7.4'],
- ['pg_loexport', '8.0', 'pg_lo_export()', [1205], '7.4'],
- ['pg_loimport', '8.0', 'pg_lo_import()', [1206], '7.4'],
- ['pg_loopen', '8.0', 'pg_lo_open()', [1207], '7.4'],
- ['pg_loread', '8.0', 'pg_lo_read()', [1208], '7.4'],
- ['pg_loreadall', '8.0', 'pg_lo_read_all()', [1209], '7.4'],
- ['pg_lounlink', '8.0', 'pg_lo_unlink()', [1210], '7.4'],
- ['pg_lowrite', '8.0', 'pg_lo_write()', [1211], '7.4'],
- ['pg_numfields', '8.0', 'pg_num_fields()', [1212], '7.4'],
- ['pg_numrows', '8.0', 'pg_num_rows()', [1213], '7.4'],
- ['pg_result', '8.0', 'pg_fetch_result()', [1214], '7.4'],
- ['pg_setclientencoding', '8.0', 'pg_set_client_encoding()', [1215], '7.4'],
-
- ['date_sunrise', '8.1', 'date_sun_info()', [1219], '8.0'],
- ['date_sunset', '8.1', 'date_sun_info()', [1220], '8.0'],
- ['strptime', '8.1', 'date_parse_from_format() or IntlDateFormatter::parse()', [1221], '8.0'],
- ['strftime', '8.1', 'date() or IntlDateFormatter::format()', [1222], '8.0'],
- ['gmstrftime', '8.1', 'date() or IntlDateFormatter::format()', [1223], '8.0'],
- ['mhash_count', '8.1', 'the hash_*() functions', [1224], '8.0'],
- ['mhash_get_block_size', '8.1', 'the hash_*() functions', [1225], '8.0'],
- ['mhash_get_hash_name', '8.1', 'the hash_*() functions', [1226], '8.0'],
- ['mhash_keygen_s2k', '8.1', 'the hash_*() functions', [1227], '8.0'],
- ['mhash', '8.1', 'the hash_*() functions', [1228], '8.0'],
- ];
- }
-
-
- /**
- * testRemovedFunction
- *
- * @dataProvider dataRemovedFunction
- *
- * @param string $functionName Name of the function.
- * @param string $removedIn The PHP version in which the function was removed.
- * @param array $lines The line numbers in the test file which apply to this function.
- * @param string $okVersion A PHP version in which the function was still valid.
- * @param string $removedVersion Optional PHP version to test removed message with -
- * if different from the $removedIn version.
- *
- * @return void
- */
- public function testRemovedFunction($functionName, $removedIn, $lines, $okVersion, $removedVersion = null)
- {
- $file = $this->sniffFile(__FILE__, $okVersion);
- foreach ($lines as $line) {
- $this->assertNoViolation($file, $line);
- }
-
- $errorVersion = (isset($removedVersion)) ? $removedVersion : $removedIn;
- $file = $this->sniffFile(__FILE__, $errorVersion);
- $error = "Function {$functionName}() is removed since PHP {$removedIn}";
- foreach ($lines as $line) {
- $this->assertError($file, $line, $error);
- }
- }
-
- /**
- * Data provider.
- *
- * @see testRemovedFunction()
- *
- * @return array
- */
- public function dataRemovedFunction()
- {
- return [
- ['crack_check', '5.0', [592], '4.4'],
- ['crack_closedict', '5.0', [593], '4.4'],
- ['crack_getlastmessage', '5.0', [594], '4.4'],
- ['crack_opendict', '5.0', [595], '4.4'],
-
- ['pfpro_cleanup', '5.1', [221], '5.0'],
- ['pfpro_init', '5.1', [222], '5.0'],
- ['pfpro_process_raw', '5.1', [223], '5.0'],
- ['pfpro_process', '5.1', [224], '5.0'],
- ['pfpro_version', '5.1', [225], '5.0'],
- ['m_checkstatus', '5.1', [417], '5.0'],
- ['m_completeauthorizations', '5.1', [418], '5.0'],
- ['m_connect', '5.1', [419], '5.0'],
- ['m_connectionerror', '5.1', [420], '5.0'],
- ['m_deletetrans', '5.1', [421], '5.0'],
- ['m_destroyconn', '5.1', [422], '5.0'],
- ['m_destroyengine', '5.1', [423], '5.0'],
- ['m_getcell', '5.1', [424], '5.0'],
- ['m_getcellbynum', '5.1', [425], '5.0'],
- ['m_getcommadelimited', '5.1', [426], '5.0'],
- ['m_getheader', '5.1', [427], '5.0'],
- ['m_initconn', '5.1', [428], '5.0'],
- ['m_initengine', '5.1', [429], '5.0'],
- ['m_iscommadelimited', '5.1', [430], '5.0'],
- ['m_maxconntimeout', '5.1', [431], '5.0'],
- ['m_monitor', '5.1', [432], '5.0'],
- ['m_numcolumns', '5.1', [433], '5.0'],
- ['m_numrows', '5.1', [434], '5.0'],
- ['m_parsecommadelimited', '5.1', [435], '5.0'],
- ['m_responsekeys', '5.1', [436], '5.0'],
- ['m_responseparam', '5.1', [437], '5.0'],
- ['m_returnstatus', '5.1', [438], '5.0'],
- ['m_setblocking', '5.1', [439], '5.0'],
- ['m_setdropfile', '5.1', [440], '5.0'],
- ['m_setip', '5.1', [441], '5.0'],
- ['m_setssl_cafile', '5.1', [442], '5.0'],
- ['m_setssl_files', '5.1', [443], '5.0'],
- ['m_setssl', '5.1', [444], '5.0'],
- ['m_settimeout', '5.1', [445], '5.0'],
- ['m_sslcert_gen_hash', '5.1', [446], '5.0'],
- ['m_transactionssent', '5.1', [447], '5.0'],
- ['m_transinqueue', '5.1', [448], '5.0'],
- ['m_transkeyval', '5.1', [449], '5.0'],
- ['m_transnew', '5.1', [450], '5.0'],
- ['m_transsend', '5.1', [451], '5.0'],
- ['m_uwait', '5.1', [452], '5.0'],
- ['m_validateidentifier', '5.1', [453], '5.0'],
- ['m_verifyconnection', '5.1', [454], '5.0'],
- ['m_verifysslcert', '5.1', [455], '5.0'],
- ['dio_close', '5.1', [458], '5.0'],
- ['dio_fcntl', '5.1', [459], '5.0'],
- ['dio_open', '5.1', [460], '5.0'],
- ['dio_read', '5.1', [461], '5.0'],
- ['dio_seek', '5.1', [462], '5.0'],
- ['dio_stat', '5.1', [463], '5.0'],
- ['dio_tcsetattr', '5.1', [464], '5.0'],
- ['dio_truncate', '5.1', [465], '5.0'],
- ['dio_write', '5.1', [466], '5.0'],
- ['fam_cancel_monitor', '5.1', [514], '5.0'],
- ['fam_close', '5.1', [515], '5.0'],
- ['fam_monitor_collection', '5.1', [516], '5.0'],
- ['fam_monitor_directory', '5.1', [517], '5.0'],
- ['fam_monitor_file', '5.1', [518], '5.0'],
- ['fam_next_event', '5.1', [519], '5.0'],
- ['fam_open', '5.1', [520], '5.0'],
- ['fam_pending', '5.1', [521], '5.0'],
- ['fam_resume_monitor', '5.1', [522], '5.0'],
- ['fam_suspend_monitor', '5.1', [523], '5.0'],
- ['yp_all', '5.1', [532], '5.0'],
- ['yp_cat', '5.1', [533], '5.0'],
- ['yp_err_string', '5.1', [534], '5.0'],
- ['yp_errno', '5.1', [535], '5.0'],
- ['yp_first', '5.1', [536], '5.0'],
- ['yp_get_default_domain', '5.1', [537], '5.0'],
- ['yp_master', '5.1', [538], '5.0'],
- ['yp_match', '5.1', [539], '5.0'],
- ['yp_next', '5.1', [540], '5.0'],
- ['yp_order', '5.1', [541], '5.0'],
- ['udm_add_search_limit', '5.1', [544], '5.0'],
- ['udm_alloc_agent_array', '5.1', [545], '5.0'],
- ['udm_alloc_agent', '5.1', [546], '5.0'],
- ['udm_api_version', '5.1', [547], '5.0'],
- ['udm_cat_list', '5.1', [548], '5.0'],
- ['udm_cat_path', '5.1', [549], '5.0'],
- ['udm_check_charset', '5.1', [550], '5.0'],
- ['udm_clear_search_limits', '5.1', [551], '5.0'],
- ['udm_crc32', '5.1', [552], '5.0'],
- ['udm_errno', '5.1', [553], '5.0'],
- ['udm_error', '5.1', [554], '5.0'],
- ['udm_find', '5.1', [555], '5.0'],
- ['udm_free_agent', '5.1', [556], '5.0'],
- ['udm_free_ispell_data', '5.1', [557], '5.0'],
- ['udm_free_res', '5.1', [558], '5.0'],
- ['udm_get_doc_count', '5.1', [559], '5.0'],
- ['udm_get_res_field', '5.1', [560], '5.0'],
- ['udm_get_res_param', '5.1', [561], '5.0'],
- ['udm_hash32', '5.1', [562], '5.0'],
- ['udm_load_ispell_data', '5.1', [563], '5.0'],
- ['udm_set_agent_param', '5.1', [564], '5.0'],
- ['w32api_deftype', '5.1', [598], '5.0'],
- ['w32api_init_dtype', '5.1', [599], '5.0'],
- ['w32api_invoke_function', '5.1', [600], '5.0'],
- ['w32api_register_function', '5.1', [601], '5.0'],
- ['w32api_set_call_method', '5.1', [602], '5.0'],
- ['cpdf_add_annotation', '5.1', [605], '5.0'],
- ['cpdf_add_outline', '5.1', [606], '5.0'],
- ['cpdf_arc', '5.1', [607], '5.0'],
- ['cpdf_begin_text', '5.1', [608], '5.0'],
- ['cpdf_circle', '5.1', [609], '5.0'],
- ['cpdf_clip', '5.1', [610], '5.0'],
- ['cpdf_close', '5.1', [611], '5.0'],
- ['cpdf_closepath_fill_stroke', '5.1', [612], '5.0'],
- ['cpdf_closepath_stroke', '5.1', [613], '5.0'],
- ['cpdf_closepath', '5.1', [614], '5.0'],
- ['cpdf_continue_text', '5.1', [615], '5.0'],
- ['cpdf_curveto', '5.1', [616], '5.0'],
- ['cpdf_end_text', '5.1', [617], '5.0'],
- ['cpdf_fill_stroke', '5.1', [618], '5.0'],
- ['cpdf_fill', '5.1', [619], '5.0'],
- ['cpdf_finalize_page', '5.1', [620], '5.0'],
- ['cpdf_finalize', '5.1', [621], '5.0'],
- ['cpdf_global_set_document_limits', '5.1', [622], '5.0'],
- ['cpdf_import_jpeg', '5.1', [623], '5.0'],
- ['cpdf_lineto', '5.1', [624], '5.0'],
- ['cpdf_moveto', '5.1', [625], '5.0'],
- ['cpdf_newpath', '5.1', [626], '5.0'],
- ['cpdf_open', '5.1', [627], '5.0'],
- ['cpdf_output_buffer', '5.1', [628], '5.0'],
- ['cpdf_page_init', '5.1', [629], '5.0'],
- ['cpdf_place_inline_image', '5.1', [630], '5.0'],
- ['cpdf_rect', '5.1', [631], '5.0'],
- ['cpdf_restore', '5.1', [632], '5.0'],
- ['cpdf_rlineto', '5.1', [633], '5.0'],
- ['cpdf_rmoveto', '5.1', [634], '5.0'],
- ['cpdf_rotate_text', '5.1', [635], '5.0'],
- ['cpdf_rotate', '5.1', [636], '5.0'],
- ['cpdf_save_to_file', '5.1', [637], '5.0'],
- ['cpdf_save', '5.1', [638], '5.0'],
- ['cpdf_scale', '5.1', [639], '5.0'],
- ['cpdf_set_action_url', '5.1', [640], '5.0'],
- ['cpdf_set_char_spacing', '5.1', [641], '5.0'],
- ['cpdf_set_creator', '5.1', [642], '5.0'],
- ['cpdf_set_current_page', '5.1', [643], '5.0'],
- ['cpdf_set_font_directories', '5.1', [644], '5.0'],
- ['cpdf_set_font_map_file', '5.1', [645], '5.0'],
- ['cpdf_set_font', '5.1', [646], '5.0'],
- ['cpdf_set_horiz_scaling', '5.1', [647], '5.0'],
- ['cpdf_set_keywords', '5.1', [648], '5.0'],
- ['cpdf_set_leading', '5.1', [649], '5.0'],
- ['cpdf_set_page_animation', '5.1', [650], '5.0'],
- ['cpdf_set_subject', '5.1', [651], '5.0'],
- ['cpdf_set_text_matrix', '5.1', [652], '5.0'],
- ['cpdf_set_text_pos', '5.1', [653], '5.0'],
- ['cpdf_set_text_rendering', '5.1', [654], '5.0'],
- ['cpdf_set_text_rise', '5.1', [655], '5.0'],
- ['cpdf_set_title', '5.1', [656], '5.0'],
- ['cpdf_set_viewer_preferences', '5.1', [657], '5.0'],
- ['cpdf_set_word_spacing', '5.1', [658], '5.0'],
- ['cpdf_setdash', '5.1', [659], '5.0'],
- ['cpdf_setflat', '5.1', [660], '5.0'],
- ['cpdf_setgray_fill', '5.1', [661], '5.0'],
- ['cpdf_setgray_stroke', '5.1', [662], '5.0'],
- ['cpdf_setgray', '5.1', [663], '5.0'],
- ['cpdf_setlinecap', '5.1', [664], '5.0'],
- ['cpdf_setlinejoin', '5.1', [665], '5.0'],
- ['cpdf_setlinewidth', '5.1', [666], '5.0'],
- ['cpdf_setmiterlimit', '5.1', [667], '5.0'],
- ['cpdf_setrgbcolor_fill', '5.1', [668], '5.0'],
- ['cpdf_setrgbcolor_stroke', '5.1', [669], '5.0'],
- ['cpdf_setrgbcolor', '5.1', [670], '5.0'],
- ['cpdf_show_xy', '5.1', [671], '5.0'],
- ['cpdf_show', '5.1', [672], '5.0'],
- ['cpdf_stringwidth', '5.1', [673], '5.0'],
- ['cpdf_stroke', '5.1', [674], '5.0'],
- ['cpdf_text', '5.1', [675], '5.0'],
- ['cpdf_translate', '5.1', [676], '5.0'],
- ['ircg_channel_mode', '5.1', [677], '5.0'],
- ['ircg_disconnect', '5.1', [678], '5.0'],
- ['ircg_eval_ecmascript_params', '5.1', [679], '5.0'],
- ['ircg_fetch_error_msg', '5.1', [680], '5.0'],
- ['ircg_get_username', '5.1', [681], '5.0'],
- ['ircg_html_encode', '5.1', [682], '5.0'],
- ['ircg_ignore_add', '5.1', [683], '5.0'],
- ['ircg_ignore_del', '5.1', [684], '5.0'],
- ['ircg_invite', '5.1', [685], '5.0'],
- ['ircg_is_conn_alive', '5.1', [686], '5.0'],
- ['ircg_join', '5.1', [687], '5.0'],
- ['ircg_kick', '5.1', [688], '5.0'],
- ['ircg_list', '5.1', [689], '5.0'],
- ['ircg_lookup_format_messages', '5.1', [690], '5.0'],
- ['ircg_lusers', '5.1', [691], '5.0'],
- ['ircg_msg', '5.1', [692], '5.0'],
- ['ircg_names', '5.1', [693], '5.0'],
- ['ircg_nick', '5.1', [694], '5.0'],
- ['ircg_nickname_escape', '5.1', [695], '5.0'],
- ['ircg_nickname_unescape', '5.1', [696], '5.0'],
- ['ircg_notice', '5.1', [697], '5.0'],
- ['ircg_oper', '5.1', [698], '5.0'],
- ['ircg_part', '5.1', [699], '5.0'],
- ['ircg_pconnect', '5.1', [700], '5.0'],
- ['ircg_register_format_messages', '5.1', [701], '5.0'],
- ['ircg_set_current', '5.1', [702], '5.0'],
- ['ircg_set_file', '5.1', [703], '5.0'],
- ['ircg_set_on_die', '5.1', [704], '5.0'],
- ['ircg_topic', '5.1', [705], '5.0'],
- ['ircg_who', '5.1', [706], '5.0'],
- ['ircg_whois', '5.1', [707], '5.0'],
- ['dbx_close', '5.1', [720], '5.0'],
- ['dbx_compare', '5.1', [721], '5.0'],
- ['dbx_connect', '5.1', [722], '5.0'],
- ['dbx_error', '5.1', [723], '5.0'],
- ['dbx_escape_string', '5.1', [724], '5.0'],
- ['dbx_fetch_row', '5.1', [725], '5.0'],
- ['dbx_query', '5.1', [726], '5.0'],
- ['dbx_sort', '5.1', [727], '5.0'],
- ['ingres_autocommit', '5.1', [795], '5.0'],
- ['ingres_close', '5.1', [796], '5.0'],
- ['ingres_commit', '5.1', [797], '5.0'],
- ['ingres_connect', '5.1', [798], '5.0'],
- ['ingres_fetch_array', '5.1', [799], '5.0'],
- ['ingres_fetch_object', '5.1', [800], '5.0'],
- ['ingres_fetch_row', '5.1', [801], '5.0'],
- ['ingres_field_length', '5.1', [802], '5.0'],
- ['ingres_field_name', '5.1', [803], '5.0'],
- ['ingres_field_nullable', '5.1', [804], '5.0'],
- ['ingres_field_precision', '5.1', [805], '5.0'],
- ['ingres_field_scale', '5.1', [806], '5.0'],
- ['ingres_field_type', '5.1', [807], '5.0'],
- ['ingres_num_fields', '5.1', [808], '5.0'],
- ['ingres_num_rows', '5.1', [809], '5.0'],
- ['ingres_pconnect', '5.1', [810], '5.0'],
- ['ingres_query', '5.1', [811], '5.0'],
- ['ingres_rollback', '5.1', [812], '5.0'],
- ['ovrimos_close', '5.1', [1036], '5.0'],
- ['ovrimos_commit', '5.1', [1037], '5.0'],
- ['ovrimos_connect', '5.1', [1038], '5.0'],
- ['ovrimos_cursor', '5.1', [1039], '5.0'],
- ['ovrimos_exec', '5.1', [1040], '5.0'],
- ['ovrimos_execute', '5.1', [1041], '5.0'],
- ['ovrimos_fetch_into', '5.1', [1042], '5.0'],
- ['ovrimos_fetch_row', '5.1', [1043], '5.0'],
- ['ovrimos_field_len', '5.1', [1044], '5.0'],
- ['ovrimos_field_name', '5.1', [1045], '5.0'],
- ['ovrimos_field_num', '5.1', [1046], '5.0'],
- ['ovrimos_field_type', '5.1', [1047], '5.0'],
- ['ovrimos_free_result', '5.1', [1048], '5.0'],
- ['ovrimos_longreadlen', '5.1', [1049], '5.0'],
- ['ovrimos_num_fields', '5.1', [1050], '5.0'],
- ['ovrimos_num_rows', '5.1', [1051], '5.0'],
- ['ovrimos_prepare', '5.1', [1052], '5.0'],
- ['ovrimos_result_all', '5.1', [1053], '5.0'],
- ['ovrimos_result', '5.1', [1054], '5.0'],
- ['ovrimos_rollback', '5.1', [1055], '5.0'],
- ['ovrimos_close_all', '5.1', [1056], '5.0'],
- ['ora_bind', '5.1', [1058], '5.0'],
- ['ora_close', '5.1', [1059], '5.0'],
- ['ora_columnname', '5.1', [1060], '5.0'],
- ['ora_columnsize', '5.1', [1061], '5.0'],
- ['ora_columntype', '5.1', [1062], '5.0'],
- ['ora_commit', '5.1', [1063], '5.0'],
- ['ora_commitoff', '5.1', [1064], '5.0'],
- ['ora_commiton', '5.1', [1065], '5.0'],
- ['ora_do', '5.1', [1066], '5.0'],
- ['ora_error', '5.1', [1067], '5.0'],
- ['ora_errorcode', '5.1', [1068], '5.0'],
- ['ora_exec', '5.1', [1069], '5.0'],
- ['ora_fetch_into', '5.1', [1070], '5.0'],
- ['ora_fetch', '5.1', [1071], '5.0'],
- ['ora_getcolumn', '5.1', [1072], '5.0'],
- ['ora_logoff', '5.1', [1073], '5.0'],
- ['ora_logon', '5.1', [1074], '5.0'],
- ['ora_numcols', '5.1', [1075], '5.0'],
- ['ora_numrows', '5.1', [1076], '5.0'],
- ['ora_open', '5.1', [1077], '5.0'],
- ['ora_parse', '5.1', [1078], '5.0'],
- ['ora_plogon', '5.1', [1079], '5.0'],
- ['ora_rollback', '5.1', [1080], '5.0'],
- ['mysqli_embedded_connect', '5.1', [1146], '5.0'],
- ['mysqli_server_end', '5.1', [1155], '5.0'],
- ['mysqli_server_init', '5.1', [1156], '5.0'],
-
- ['msession_connect', '5.1.3', [567], '5.1', '5.2'],
- ['msession_count', '5.1.3', [568], '5.1', '5.2'],
- ['msession_create', '5.1.3', [569], '5.1', '5.2'],
- ['msession_destroy', '5.1.3', [570], '5.1', '5.2'],
- ['msession_disconnect', '5.1.3', [571], '5.1', '5.2'],
- ['msession_find', '5.1.3', [572], '5.1', '5.2'],
- ['msession_get_array', '5.1.3', [573], '5.1', '5.2'],
- ['msession_get_data', '5.1.3', [574], '5.1', '5.2'],
- ['msession_get', '5.1.3', [575], '5.1', '5.2'],
- ['msession_inc', '5.1.3', [576], '5.1', '5.2'],
- ['msession_list', '5.1.3', [577], '5.1', '5.2'],
- ['msession_listvar', '5.1.3', [578], '5.1', '5.2'],
- ['msession_lock', '5.1.3', [579], '5.1', '5.2'],
- ['msession_plugin', '5.1.3', [580], '5.1', '5.2'],
- ['msession_randstr', '5.1.3', [581], '5.1', '5.2'],
- ['msession_set_array', '5.1.3', [582], '5.1', '5.2'],
- ['msession_set_data', '5.1.3', [583], '5.1', '5.2'],
- ['msession_set', '5.1.3', [584], '5.1', '5.2'],
- ['msession_timeout', '5.1.3', [585], '5.1', '5.2'],
- ['msession_uniq', '5.1.3', [586], '5.1', '5.2'],
- ['msession_unlock', '5.1.3', [587], '5.1', '5.2'],
-
- ['mysqli_resource', '5.1.4', [1152], '5.1', '5.2'],
-
- ['mysql_createdb', '5.1.7', [975], '5.1', '5.2'],
- ['mysql_dropdb', '5.1.7', [976], '5.1', '5.2'],
- ['mysql_listtables', '5.1.7', [981], '5.1', '5.2'],
-
- ['hwapi_attribute_new', '5.2', [526], '5.1'],
- ['hwapi_content_new', '5.2', [527], '5.1'],
- ['hwapi_hgcsp', '5.2', [528], '5.1'],
- ['hwapi_object_new', '5.2', [529], '5.1'],
- ['filepro_fieldcount', '5.2', [788], '5.1'],
- ['filepro_fieldname', '5.2', [789], '5.1'],
- ['filepro_fieldtype', '5.2', [790], '5.1'],
- ['filepro_fieldwidth', '5.2', [791], '5.1'],
- ['filepro_retrieve', '5.2', [792], '5.1'],
- ['filepro_rowcount', '5.2', [793], '5.1'],
- ['filepro', '5.2', [794], '5.1'],
-
- ['ifx_affected_rows', '5.2.1', [1106], '5.2', '5.3'],
- ['ifx_blobinfile_mode', '5.2.1', [1107], '5.2', '5.3'],
- ['ifx_byteasvarchar', '5.2.1', [1108], '5.2', '5.3'],
- ['ifx_close', '5.2.1', [1109], '5.2', '5.3'],
- ['ifx_connect', '5.2.1', [1110], '5.2', '5.3'],
- ['ifx_copy_blob', '5.2.1', [1111], '5.2', '5.3'],
- ['ifx_create_blob', '5.2.1', [1112], '5.2', '5.3'],
- ['ifx_create_char', '5.2.1', [1113], '5.2', '5.3'],
- ['ifx_do', '5.2.1', [1114], '5.2', '5.3'],
- ['ifx_error', '5.2.1', [1115], '5.2', '5.3'],
- ['ifx_errormsg', '5.2.1', [1116], '5.2', '5.3'],
- ['ifx_fetch_row', '5.2.1', [1117], '5.2', '5.3'],
- ['ifx_fieldproperties', '5.2.1', [1118], '5.2', '5.3'],
- ['ifx_fieldtypes', '5.2.1', [1119], '5.2', '5.3'],
- ['ifx_free_blob', '5.2.1', [1120], '5.2', '5.3'],
- ['ifx_free_char', '5.2.1', [1121], '5.2', '5.3'],
- ['ifx_free_result', '5.2.1', [1122], '5.2', '5.3'],
- ['ifx_get_blob', '5.2.1', [1123], '5.2', '5.3'],
- ['ifx_get_char', '5.2.1', [1124], '5.2', '5.3'],
- ['ifx_getsqlca', '5.2.1', [1125], '5.2', '5.3'],
- ['ifx_htmltbl_result', '5.2.1', [1126], '5.2', '5.3'],
- ['ifx_nullformat', '5.2.1', [1127], '5.2', '5.3'],
- ['ifx_num_fields', '5.2.1', [1128], '5.2', '5.3'],
- ['ifx_num_rows', '5.2.1', [1129], '5.2', '5.3'],
- ['ifx_pconnect', '5.2.1', [1130], '5.2', '5.3'],
- ['ifx_prepare', '5.2.1', [1131], '5.2', '5.3'],
- ['ifx_query', '5.2.1', [1132], '5.2', '5.3'],
- ['ifx_textasvarchar', '5.2.1', [1133], '5.2', '5.3'],
- ['ifx_update_blob', '5.2.1', [1134], '5.2', '5.3'],
- ['ifx_update_char', '5.2.1', [1135], '5.2', '5.3'],
- ['ifxus_close_slob', '5.2.1', [1136], '5.2', '5.3'],
- ['ifxus_create_slob', '5.2.1', [1137], '5.2', '5.3'],
- ['ifxus_free_slob', '5.2.1', [1138], '5.2', '5.3'],
- ['ifxus_open_slob', '5.2.1', [1139], '5.2', '5.3'],
- ['ifxus_read_slob', '5.2.1', [1140], '5.2', '5.3'],
- ['ifxus_seek_slob', '5.2.1', [1141], '5.2', '5.3'],
- ['ifxus_tell_slob', '5.2.1', [1142], '5.2', '5.3'],
- ['ifxus_write_slob', '5.2.1', [1143], '5.2', '5.3'],
-
- ['ncurses_addch', '5.3', [255], '5.2'],
- ['ncurses_addchnstr', '5.3', [256], '5.2'],
- ['ncurses_addchstr', '5.3', [257], '5.2'],
- ['ncurses_addnstr', '5.3', [258], '5.2'],
- ['ncurses_addstr', '5.3', [259], '5.2'],
- ['ncurses_assume_default_colors', '5.3', [260], '5.2'],
- ['ncurses_attroff', '5.3', [261], '5.2'],
- ['ncurses_attron', '5.3', [262], '5.2'],
- ['ncurses_attrset', '5.3', [263], '5.2'],
- ['ncurses_baudrate', '5.3', [264], '5.2'],
- ['ncurses_beep', '5.3', [265], '5.2'],
- ['ncurses_bkgd', '5.3', [266], '5.2'],
- ['ncurses_bkgdset', '5.3', [267], '5.2'],
- ['ncurses_border', '5.3', [268], '5.2'],
- ['ncurses_bottom_panel', '5.3', [269], '5.2'],
- ['ncurses_can_change_color', '5.3', [270], '5.2'],
- ['ncurses_cbreak', '5.3', [271], '5.2'],
- ['ncurses_clear', '5.3', [272], '5.2'],
- ['ncurses_clrtobot', '5.3', [273], '5.2'],
- ['ncurses_clrtoeol', '5.3', [274], '5.2'],
- ['ncurses_color_content', '5.3', [275], '5.2'],
- ['ncurses_color_set', '5.3', [276], '5.2'],
- ['ncurses_curs_set', '5.3', [277], '5.2'],
- ['ncurses_def_prog_mode', '5.3', [278], '5.2'],
- ['ncurses_def_shell_mode', '5.3', [279], '5.2'],
- ['ncurses_define_key', '5.3', [280], '5.2'],
- ['ncurses_del_panel', '5.3', [281], '5.2'],
- ['ncurses_delay_output', '5.3', [282], '5.2'],
- ['ncurses_delch', '5.3', [283], '5.2'],
- ['ncurses_deleteln', '5.3', [284], '5.2'],
- ['ncurses_delwin', '5.3', [285], '5.2'],
- ['ncurses_doupdate', '5.3', [286], '5.2'],
- ['ncurses_echo', '5.3', [287], '5.2'],
- ['ncurses_echochar', '5.3', [288], '5.2'],
- ['ncurses_end', '5.3', [289], '5.2'],
- ['ncurses_erase', '5.3', [290], '5.2'],
- ['ncurses_erasechar', '5.3', [291], '5.2'],
- ['ncurses_filter', '5.3', [292], '5.2'],
- ['ncurses_flash', '5.3', [293], '5.2'],
- ['ncurses_flushinp', '5.3', [294], '5.2'],
- ['ncurses_getch', '5.3', [295], '5.2'],
- ['ncurses_getmaxyx', '5.3', [296], '5.2'],
- ['ncurses_getmouse', '5.3', [297], '5.2'],
- ['ncurses_getyx', '5.3', [298], '5.2'],
- ['ncurses_halfdelay', '5.3', [299], '5.2'],
- ['ncurses_has_colors', '5.3', [300], '5.2'],
- ['ncurses_has_ic', '5.3', [301], '5.2'],
- ['ncurses_has_il', '5.3', [302], '5.2'],
- ['ncurses_has_key', '5.3', [303], '5.2'],
- ['ncurses_hide_panel', '5.3', [304], '5.2'],
- ['ncurses_hline', '5.3', [305], '5.2'],
- ['ncurses_inch', '5.3', [306], '5.2'],
- ['ncurses_init_color', '5.3', [307], '5.2'],
- ['ncurses_init_pair', '5.3', [308], '5.2'],
- ['ncurses_init', '5.3', [309], '5.2'],
- ['ncurses_insch', '5.3', [310], '5.2'],
- ['ncurses_insdelln', '5.3', [311], '5.2'],
- ['ncurses_insertln', '5.3', [312], '5.2'],
- ['ncurses_insstr', '5.3', [313], '5.2'],
- ['ncurses_instr', '5.3', [314], '5.2'],
- ['ncurses_isendwin', '5.3', [315], '5.2'],
- ['ncurses_keyok', '5.3', [316], '5.2'],
- ['ncurses_keypad', '5.3', [317], '5.2'],
- ['ncurses_killchar', '5.3', [318], '5.2'],
- ['ncurses_longname', '5.3', [319], '5.2'],
- ['ncurses_meta', '5.3', [320], '5.2'],
- ['ncurses_mouse_trafo', '5.3', [321], '5.2'],
- ['ncurses_mouseinterval', '5.3', [322], '5.2'],
- ['ncurses_mousemask', '5.3', [323], '5.2'],
- ['ncurses_move_panel', '5.3', [324], '5.2'],
- ['ncurses_move', '5.3', [325], '5.2'],
- ['ncurses_mvaddch', '5.3', [326], '5.2'],
- ['ncurses_mvaddchnstr', '5.3', [327], '5.2'],
- ['ncurses_mvaddchstr', '5.3', [328], '5.2'],
- ['ncurses_mvaddnstr', '5.3', [329], '5.2'],
- ['ncurses_mvaddstr', '5.3', [330], '5.2'],
- ['ncurses_mvcur', '5.3', [331], '5.2'],
- ['ncurses_mvdelch', '5.3', [332], '5.2'],
- ['ncurses_mvgetch', '5.3', [333], '5.2'],
- ['ncurses_mvhline', '5.3', [334], '5.2'],
- ['ncurses_mvinch', '5.3', [335], '5.2'],
- ['ncurses_mvvline', '5.3', [336], '5.2'],
- ['ncurses_mvwaddstr', '5.3', [337], '5.2'],
- ['ncurses_napms', '5.3', [338], '5.2'],
- ['ncurses_new_panel', '5.3', [339], '5.2'],
- ['ncurses_newpad', '5.3', [340], '5.2'],
- ['ncurses_newwin', '5.3', [341], '5.2'],
- ['ncurses_nl', '5.3', [342], '5.2'],
- ['ncurses_nocbreak', '5.3', [343], '5.2'],
- ['ncurses_noecho', '5.3', [344], '5.2'],
- ['ncurses_nonl', '5.3', [345], '5.2'],
- ['ncurses_noqiflush', '5.3', [346], '5.2'],
- ['ncurses_noraw', '5.3', [347], '5.2'],
- ['ncurses_pair_content', '5.3', [348], '5.2'],
- ['ncurses_panel_above', '5.3', [349], '5.2'],
- ['ncurses_panel_below', '5.3', [350], '5.2'],
- ['ncurses_panel_window', '5.3', [351], '5.2'],
- ['ncurses_pnoutrefresh', '5.3', [352], '5.2'],
- ['ncurses_prefresh', '5.3', [353], '5.2'],
- ['ncurses_putp', '5.3', [354], '5.2'],
- ['ncurses_qiflush', '5.3', [355], '5.2'],
- ['ncurses_raw', '5.3', [356], '5.2'],
- ['ncurses_refresh', '5.3', [357], '5.2'],
- ['ncurses_replace_panel', '5.3', [358], '5.2'],
- ['ncurses_reset_prog_mode', '5.3', [359], '5.2'],
- ['ncurses_reset_shell_mode', '5.3', [360], '5.2'],
- ['ncurses_resetty', '5.3', [361], '5.2'],
- ['ncurses_savetty', '5.3', [362], '5.2'],
- ['ncurses_scr_dump', '5.3', [363], '5.2'],
- ['ncurses_scr_init', '5.3', [364], '5.2'],
- ['ncurses_scr_restore', '5.3', [365], '5.2'],
- ['ncurses_scr_set', '5.3', [366], '5.2'],
- ['ncurses_scrl', '5.3', [367], '5.2'],
- ['ncurses_show_panel', '5.3', [368], '5.2'],
- ['ncurses_slk_attr', '5.3', [369], '5.2'],
- ['ncurses_slk_attroff', '5.3', [370], '5.2'],
- ['ncurses_slk_attron', '5.3', [371], '5.2'],
- ['ncurses_slk_attrset', '5.3', [372], '5.2'],
- ['ncurses_slk_clear', '5.3', [373], '5.2'],
- ['ncurses_slk_color', '5.3', [374], '5.2'],
- ['ncurses_slk_init', '5.3', [375], '5.2'],
- ['ncurses_slk_noutrefresh', '5.3', [376], '5.2'],
- ['ncurses_slk_refresh', '5.3', [377], '5.2'],
- ['ncurses_slk_restore', '5.3', [378], '5.2'],
- ['ncurses_slk_set', '5.3', [379], '5.2'],
- ['ncurses_slk_touch', '5.3', [380], '5.2'],
- ['ncurses_standend', '5.3', [381], '5.2'],
- ['ncurses_standout', '5.3', [382], '5.2'],
- ['ncurses_start_color', '5.3', [383], '5.2'],
- ['ncurses_termattrs', '5.3', [384], '5.2'],
- ['ncurses_termname', '5.3', [385], '5.2'],
- ['ncurses_timeout', '5.3', [386], '5.2'],
- ['ncurses_top_panel', '5.3', [387], '5.2'],
- ['ncurses_typeahead', '5.3', [388], '5.2'],
- ['ncurses_ungetch', '5.3', [389], '5.2'],
- ['ncurses_ungetmouse', '5.3', [390], '5.2'],
- ['ncurses_update_panels', '5.3', [391], '5.2'],
- ['ncurses_use_default_colors', '5.3', [392], '5.2'],
- ['ncurses_use_env', '5.3', [393], '5.2'],
- ['ncurses_use_extended_names', '5.3', [394], '5.2'],
- ['ncurses_vidattr', '5.3', [395], '5.2'],
- ['ncurses_vline', '5.3', [396], '5.2'],
- ['ncurses_waddch', '5.3', [397], '5.2'],
- ['ncurses_waddstr', '5.3', [398], '5.2'],
- ['ncurses_wattroff', '5.3', [399], '5.2'],
- ['ncurses_wattron', '5.3', [400], '5.2'],
- ['ncurses_wattrset', '5.3', [401], '5.2'],
- ['ncurses_wborder', '5.3', [402], '5.2'],
- ['ncurses_wclear', '5.3', [403], '5.2'],
- ['ncurses_wcolor_set', '5.3', [404], '5.2'],
- ['ncurses_werase', '5.3', [405], '5.2'],
- ['ncurses_wgetch', '5.3', [406], '5.2'],
- ['ncurses_whline', '5.3', [407], '5.2'],
- ['ncurses_wmouse_trafo', '5.3', [408], '5.2'],
- ['ncurses_wmove', '5.3', [409], '5.2'],
- ['ncurses_wnoutrefresh', '5.3', [410], '5.2'],
- ['ncurses_wrefresh', '5.3', [411], '5.2'],
- ['ncurses_wstandend', '5.3', [412], '5.2'],
- ['ncurses_wstandout', '5.3', [413], '5.2'],
- ['ncurses_wvline', '5.3', [414], '5.2'],
- ['fdf_add_doc_javascript', '5.3', [469], '5.2'],
- ['fdf_add_template', '5.3', [470], '5.2'],
- ['fdf_close', '5.3', [471], '5.2'],
- ['fdf_create', '5.3', [472], '5.2'],
- ['fdf_enum_values', '5.3', [473], '5.2'],
- ['fdf_errno', '5.3', [474], '5.2'],
- ['fdf_error', '5.3', [475], '5.2'],
- ['fdf_get_ap', '5.3', [476], '5.2'],
- ['fdf_get_attachment', '5.3', [477], '5.2'],
- ['fdf_get_encoding', '5.3', [478], '5.2'],
- ['fdf_get_file', '5.3', [479], '5.2'],
- ['fdf_get_flags', '5.3', [480], '5.2'],
- ['fdf_get_opt', '5.3', [481], '5.2'],
- ['fdf_get_status', '5.3', [482], '5.2'],
- ['fdf_get_value', '5.3', [483], '5.2'],
- ['fdf_get_version', '5.3', [484], '5.2'],
- ['fdf_header', '5.3', [485], '5.2'],
- ['fdf_next_field_name', '5.3', [486], '5.2'],
- ['fdf_open_string', '5.3', [487], '5.2'],
- ['fdf_open', '5.3', [488], '5.2'],
- ['fdf_remove_item', '5.3', [489], '5.2'],
- ['fdf_save_string', '5.3', [490], '5.2'],
- ['fdf_save', '5.3', [491], '5.2'],
- ['fdf_set_ap', '5.3', [492], '5.2'],
- ['fdf_set_encoding', '5.3', [493], '5.2'],
- ['fdf_set_file', '5.3', [494], '5.2'],
- ['fdf_set_flags', '5.3', [495], '5.2'],
- ['fdf_set_javascript_action', '5.3', [496], '5.2'],
- ['fdf_set_on_import_javascript', '5.3', [497], '5.2'],
- ['fdf_set_opt', '5.3', [498], '5.2'],
- ['fdf_set_status', '5.3', [499], '5.2'],
- ['fdf_set_submit_form_action', '5.3', [500], '5.2'],
- ['fdf_set_target_frame', '5.3', [501], '5.2'],
- ['fdf_set_value', '5.3', [502], '5.2'],
- ['fdf_set_version', '5.3', [503], '5.2'],
- ['ming_keypress', '5.3', [506], '5.2'],
- ['ming_setcubicthreshold', '5.3', [507], '5.2'],
- ['ming_setscale', '5.3', [508], '5.2'],
- ['ming_setswfcompression', '5.3', [509], '5.2'],
- ['ming_useconstants', '5.3', [510], '5.2'],
- ['ming_useswfversion', '5.3', [511], '5.2'],
- ['dbase_add_record', '5.3', [708], '5.2'],
- ['dbase_close', '5.3', [709], '5.2'],
- ['dbase_create', '5.3', [710], '5.2'],
- ['dbase_delete_record', '5.3', [711], '5.2'],
- ['dbase_get_header_info', '5.3', [712], '5.2'],
- ['dbase_get_record_with_names', '5.3', [713], '5.2'],
- ['dbase_get_record', '5.3', [714], '5.2'],
- ['dbase_numfields', '5.3', [715], '5.2'],
- ['dbase_numrecords', '5.3', [716], '5.2'],
- ['dbase_open', '5.3', [717], '5.2'],
- ['dbase_pack', '5.3', [718], '5.2'],
- ['dbase_replace_record', '5.3', [719], '5.2'],
- ['fbsql_affected_rows', '5.3', [728], '5.2'],
- ['fbsql_autocommit', '5.3', [729], '5.2'],
- ['fbsql_blob_size', '5.3', [730], '5.2'],
- ['fbsql_change_user', '5.3', [731], '5.2'],
- ['fbsql_clob_size', '5.3', [732], '5.2'],
- ['fbsql_close', '5.3', [733], '5.2'],
- ['fbsql_commit', '5.3', [734], '5.2'],
- ['fbsql_connect', '5.3', [735], '5.2'],
- ['fbsql_create_blob', '5.3', [736], '5.2'],
- ['fbsql_create_clob', '5.3', [737], '5.2'],
- ['fbsql_create_db', '5.3', [738], '5.2'],
- ['fbsql_data_seek', '5.3', [739], '5.2'],
- ['fbsql_database_password', '5.3', [740], '5.2'],
- ['fbsql_database', '5.3', [741], '5.2'],
- ['fbsql_db_query', '5.3', [742], '5.2'],
- ['fbsql_db_status', '5.3', [743], '5.2'],
- ['fbsql_drop_db', '5.3', [744], '5.2'],
- ['fbsql_errno', '5.3', [745], '5.2'],
- ['fbsql_error', '5.3', [746], '5.2'],
- ['fbsql_fetch_array', '5.3', [747], '5.2'],
- ['fbsql_fetch_assoc', '5.3', [748], '5.2'],
- ['fbsql_fetch_field', '5.3', [749], '5.2'],
- ['fbsql_fetch_lengths', '5.3', [750], '5.2'],
- ['fbsql_fetch_object', '5.3', [751], '5.2'],
- ['fbsql_fetch_row', '5.3', [752], '5.2'],
- ['fbsql_field_flags', '5.3', [753], '5.2'],
- ['fbsql_field_len', '5.3', [754], '5.2'],
- ['fbsql_field_name', '5.3', [755], '5.2'],
- ['fbsql_field_seek', '5.3', [756], '5.2'],
- ['fbsql_field_table', '5.3', [757], '5.2'],
- ['fbsql_field_type', '5.3', [758], '5.2'],
- ['fbsql_free_result', '5.3', [759], '5.2'],
- ['fbsql_get_autostart_info', '5.3', [760], '5.2'],
- ['fbsql_hostname', '5.3', [761], '5.2'],
- ['fbsql_insert_id', '5.3', [762], '5.2'],
- ['fbsql_list_dbs', '5.3', [763], '5.2'],
- ['fbsql_list_fields', '5.3', [764], '5.2'],
- ['fbsql_list_tables', '5.3', [765], '5.2'],
- ['fbsql_next_result', '5.3', [766], '5.2'],
- ['fbsql_num_fields', '5.3', [767], '5.2'],
- ['fbsql_num_rows', '5.3', [768], '5.2'],
- ['fbsql_password', '5.3', [769], '5.2'],
- ['fbsql_pconnect', '5.3', [770], '5.2'],
- ['fbsql_query', '5.3', [771], '5.2'],
- ['fbsql_read_blob', '5.3', [772], '5.2'],
- ['fbsql_read_clob', '5.3', [773], '5.2'],
- ['fbsql_result', '5.3', [774], '5.2'],
- ['fbsql_rollback', '5.3', [775], '5.2'],
- ['fbsql_rows_fetched', '5.3', [776], '5.2'],
- ['fbsql_select_db', '5.3', [777], '5.2'],
- ['fbsql_set_characterset', '5.3', [778], '5.2'],
- ['fbsql_set_lob_mode', '5.3', [779], '5.2'],
- ['fbsql_set_password', '5.3', [780], '5.2'],
- ['fbsql_set_transaction', '5.3', [781], '5.2'],
- ['fbsql_start_db', '5.3', [782], '5.2'],
- ['fbsql_stop_db', '5.3', [783], '5.2'],
- ['fbsql_table_name', '5.3', [784], '5.2'],
- ['fbsql_tablename', '5.3', [785], '5.2'],
- ['fbsql_username', '5.3', [786], '5.2'],
- ['fbsql_warnings', '5.3', [787], '5.2'],
- ['msql_affected_rows', '5.3', [813], '5.2'],
- ['msql_close', '5.3', [814], '5.2'],
- ['msql_connect', '5.3', [815], '5.2'],
- ['msql_create_db', '5.3', [816], '5.2'],
- ['msql_createdb', '5.3', [817], '5.2'],
- ['msql_data_seek', '5.3', [818], '5.2'],
- ['msql_db_query', '5.3', [819], '5.2'],
- ['msql_dbname', '5.3', [820], '5.2'],
- ['msql_drop_db', '5.3', [821], '5.2'],
- ['msql_error', '5.3', [822], '5.2'],
- ['msql_fetch_array', '5.3', [823], '5.2'],
- ['msql_fetch_field', '5.3', [824], '5.2'],
- ['msql_fetch_object', '5.3', [825], '5.2'],
- ['msql_fetch_row', '5.3', [826], '5.2'],
- ['msql_field_flags', '5.3', [827], '5.2'],
- ['msql_field_len', '5.3', [828], '5.2'],
- ['msql_field_name', '5.3', [829], '5.2'],
- ['msql_field_seek', '5.3', [830], '5.2'],
- ['msql_field_table', '5.3', [831], '5.2'],
- ['msql_field_type', '5.3', [832], '5.2'],
- ['msql_fieldflags', '5.3', [833], '5.2'],
- ['msql_fieldlen', '5.3', [834], '5.2'],
- ['msql_fieldname', '5.3', [835], '5.2'],
- ['msql_fieldtable', '5.3', [836], '5.2'],
- ['msql_fieldtype', '5.3', [837], '5.2'],
- ['msql_free_result', '5.3', [838], '5.2'],
- ['msql_list_dbs', '5.3', [839], '5.2'],
- ['msql_list_fields', '5.3', [840], '5.2'],
- ['msql_list_tables', '5.3', [841], '5.2'],
- ['msql_num_fields', '5.3', [842], '5.2'],
- ['msql_num_rows', '5.3', [843], '5.2'],
- ['msql_numfields', '5.3', [844], '5.2'],
- ['msql_numrows', '5.3', [845], '5.2'],
- ['msql_pconnect', '5.3', [846], '5.2'],
- ['msql_query', '5.3', [847], '5.2'],
- ['msql_regcase', '5.3', [848], '5.2'],
- ['msql_result', '5.3', [849], '5.2'],
- ['msql_select_db', '5.3', [850], '5.2'],
- ['msql_tablename', '5.3', [851], '5.2'],
- ['msql', '5.3', [852], '5.2'],
- ['mysqli_disable_reads_from_master', '5.3', [1144], '5.2'],
- ['mysqli_disable_rpl_parse', '5.3', [1145], '5.2'],
- ['mysqli_enable_reads_from_master', '5.3', [1149], '5.2'],
- ['mysqli_enable_rpl_parse', '5.3', [1150], '5.2'],
- ['mysqli_master_query', '5.3', [1151], '5.2'],
- ['mysqli_rpl_parse_enabled', '5.3', [1153], '5.2'],
- ['mysqli_rpl_probe', '5.3', [1154], '5.2'],
- ['mysqli_slave_query', '5.3', [1157], '5.2'],
-
- ['sqlite_array_query', '5.4', [883], '5.3'],
- ['sqlite_busy_timeout', '5.4', [884], '5.3'],
- ['sqlite_changes', '5.4', [885], '5.3'],
- ['sqlite_close', '5.4', [886], '5.3'],
- ['sqlite_column', '5.4', [887], '5.3'],
- ['sqlite_create_aggregate', '5.4', [888], '5.3'],
- ['sqlite_create_function', '5.4', [889], '5.3'],
- ['sqlite_current', '5.4', [890], '5.3'],
- ['sqlite_error_string', '5.4', [891], '5.3'],
- ['sqlite_escape_string', '5.4', [892], '5.3'],
- ['sqlite_exec', '5.4', [893], '5.3'],
- ['sqlite_factory', '5.4', [894], '5.3'],
- ['sqlite_fetch_all', '5.4', [895], '5.3'],
- ['sqlite_fetch_array', '5.4', [896], '5.3'],
- ['sqlite_fetch_column_types', '5.4', [897], '5.3'],
- ['sqlite_fetch_object', '5.4', [898], '5.3'],
- ['sqlite_fetch_single', '5.4', [899], '5.3'],
- ['sqlite_fetch_string', '5.4', [900], '5.3'],
- ['sqlite_field_name', '5.4', [901], '5.3'],
- ['sqlite_has_more', '5.4', [902], '5.3'],
- ['sqlite_has_prev', '5.4', [903], '5.3'],
- ['sqlite_key', '5.4', [904], '5.3'],
- ['sqlite_last_error', '5.4', [905], '5.3'],
- ['sqlite_last_insert_rowid', '5.4', [906], '5.3'],
- ['sqlite_libencoding', '5.4', [907], '5.3'],
- ['sqlite_libversion', '5.4', [908], '5.3'],
- ['sqlite_next', '5.4', [909], '5.3'],
- ['sqlite_num_fields', '5.4', [910], '5.3'],
- ['sqlite_num_rows', '5.4', [911], '5.3'],
- ['sqlite_open', '5.4', [912], '5.3'],
- ['sqlite_popen', '5.4', [913], '5.3'],
- ['sqlite_prev', '5.4', [914], '5.3'],
- ['sqlite_query', '5.4', [915], '5.3'],
- ['sqlite_rewind', '5.4', [916], '5.3'],
- ['sqlite_seek', '5.4', [917], '5.3'],
- ['sqlite_single_query', '5.4', [918], '5.3'],
- ['sqlite_udf_decode_binary', '5.4', [919], '5.3'],
- ['sqlite_udf_encode_binary', '5.4', [920], '5.3'],
- ['sqlite_unbuffered_query', '5.4', [921], '5.3'],
- ['sqlite_valid', '5.4', [922], '5.3'],
-
- ['php_logo_guid', '5.5', [32], '5.4'],
- ['php_egg_logo_guid', '5.5', [33], '5.4'],
- ['php_real_logo_guid', '5.5', [34], '5.4'],
- ['imagepsbbox', '7.0', [90], '5.6'],
- ['imagepsencodefont', '7.0', [91], '5.6'],
- ['imagepsextendfont', '7.0', [92], '5.6'],
- ['imagepsfreefont', '7.0', [93], '5.6'],
- ['imagepsloadfont', '7.0', [94], '5.6'],
- ['imagepsslantfont', '7.0', [95], '5.6'],
- ['imagepstext', '7.0', [96], '5.6'],
- ['mssql_bind', '7.0', [853], '5.6'],
- ['mssql_close', '7.0', [854], '5.6'],
- ['mssql_connect', '7.0', [855], '5.6'],
- ['mssql_data_seek', '7.0', [856], '5.6'],
- ['mssql_execute', '7.0', [857], '5.6'],
- ['mssql_fetch_array', '7.0', [858], '5.6'],
- ['mssql_fetch_assoc', '7.0', [859], '5.6'],
- ['mssql_fetch_batch', '7.0', [860], '5.6'],
- ['mssql_fetch_field', '7.0', [861], '5.6'],
- ['mssql_fetch_object', '7.0', [862], '5.6'],
- ['mssql_fetch_row', '7.0', [863], '5.6'],
- ['mssql_field_length', '7.0', [864], '5.6'],
- ['mssql_field_name', '7.0', [865], '5.6'],
- ['mssql_field_seek', '7.0', [866], '5.6'],
- ['mssql_field_type', '7.0', [867], '5.6'],
- ['mssql_free_result', '7.0', [868], '5.6'],
- ['mssql_free_statement', '7.0', [869], '5.6'],
- ['mssql_get_last_message', '7.0', [870], '5.6'],
- ['mssql_guid_string', '7.0', [871], '5.6'],
- ['mssql_init', '7.0', [872], '5.6'],
- ['mssql_min_error_severity', '7.0', [873], '5.6'],
- ['mssql_min_message_severity', '7.0', [874], '5.6'],
- ['mssql_next_result', '7.0', [875], '5.6'],
- ['mssql_num_fields', '7.0', [876], '5.6'],
- ['mssql_num_rows', '7.0', [877], '5.6'],
- ['mssql_pconnect', '7.0', [878], '5.6'],
- ['mssql_query', '7.0', [879], '5.6'],
- ['mssql_result', '7.0', [880], '5.6'],
- ['mssql_rows_affected', '7.0', [881], '5.6'],
- ['mssql_select_db', '7.0', [882], '5.6'],
- ['sybase_affected_rows', '7.0', [1081], '5.6'],
- ['sybase_close', '7.0', [1082], '5.6'],
- ['sybase_connect', '7.0', [1083], '5.6'],
- ['sybase_data_seek', '7.0', [1084], '5.6'],
- ['sybase_deadlock_retry_count', '7.0', [1085], '5.6'],
- ['sybase_fetch_array', '7.0', [1086], '5.6'],
- ['sybase_fetch_assoc', '7.0', [1087], '5.6'],
- ['sybase_fetch_field', '7.0', [1088], '5.6'],
- ['sybase_fetch_object', '7.0', [1089], '5.6'],
- ['sybase_fetch_row', '7.0', [1090], '5.6'],
- ['sybase_field_seek', '7.0', [1091], '5.6'],
- ['sybase_free_result', '7.0', [1092], '5.6'],
- ['sybase_get_last_message', '7.0', [1093], '5.6'],
- ['sybase_min_client_severity', '7.0', [1094], '5.6'],
- ['sybase_min_error_severity', '7.0', [1095], '5.6'],
- ['sybase_min_message_severity', '7.0', [1096], '5.6'],
- ['sybase_min_server_severity', '7.0', [1097], '5.6'],
- ['sybase_num_fields', '7.0', [1098], '5.6'],
- ['sybase_num_rows', '7.0', [1099], '5.6'],
- ['sybase_pconnect', '7.0', [1100], '5.6'],
- ['sybase_query', '7.0', [1101], '5.6'],
- ['sybase_result', '7.0', [1102], '5.6'],
- ['sybase_select_db', '7.0', [1103], '5.6'],
- ['sybase_set_message_handler', '7.0', [1104], '5.6'],
- ['sybase_unbuffered_query', '7.0', [1105], '5.6'],
-
- ['php_check_syntax', '5.0.5', [98], '5.0', '5.1'],
- ['mysqli_get_cache_stats', '5.4', [99], '5.3'],
- ['ibase_add_user', '7.4', [171], '7.3'],
- ['ibase_affected_rows', '7.4', [172], '7.3'],
- ['ibase_backup', '7.4', [173], '7.3'],
- ['ibase_blob_add', '7.4', [174], '7.3'],
- ['ibase_blob_cancel', '7.4', [175], '7.3'],
- ['ibase_blob_close', '7.4', [176], '7.3'],
- ['ibase_blob_create', '7.4', [177], '7.3'],
- ['ibase_blob_echo', '7.4', [178], '7.3'],
- ['ibase_blob_get', '7.4', [179], '7.3'],
- ['ibase_blob_import', '7.4', [180], '7.3'],
- ['ibase_blob_info', '7.4', [181], '7.3'],
- ['ibase_blob_open', '7.4', [182], '7.3'],
- ['ibase_close', '7.4', [183], '7.3'],
- ['ibase_commit_ret', '7.4', [184], '7.3'],
- ['ibase_commit', '7.4', [185], '7.3'],
- ['ibase_connect', '7.4', [186], '7.3'],
- ['ibase_db_info', '7.4', [187], '7.3'],
- ['ibase_delete_user', '7.4', [188], '7.3'],
- ['ibase_drop_db', '7.4', [189], '7.3'],
- ['ibase_errcode', '7.4', [190], '7.3'],
- ['ibase_errmsg', '7.4', [191], '7.3'],
- ['ibase_execute', '7.4', [192], '7.3'],
- ['ibase_fetch_assoc', '7.4', [193], '7.3'],
- ['ibase_fetch_object', '7.4', [194], '7.3'],
- ['ibase_fetch_row', '7.4', [195], '7.3'],
- ['ibase_field_info', '7.4', [196], '7.3'],
- ['ibase_free_event_handler', '7.4', [197], '7.3'],
- ['ibase_free_query', '7.4', [198], '7.3'],
- ['ibase_free_result', '7.4', [199], '7.3'],
- ['ibase_gen_id', '7.4', [200], '7.3'],
- ['ibase_maintain_db', '7.4', [201], '7.3'],
- ['ibase_modify_user', '7.4', [202], '7.3'],
- ['ibase_name_result', '7.4', [203], '7.3'],
- ['ibase_num_fields', '7.4', [204], '7.3'],
- ['ibase_num_params', '7.4', [205], '7.3'],
- ['ibase_param_info', '7.4', [206], '7.3'],
- ['ibase_pconnect', '7.4', [207], '7.3'],
- ['ibase_prepare', '7.4', [208], '7.3'],
- ['ibase_query', '7.4', [209], '7.3'],
- ['ibase_restore', '7.4', [210], '7.3'],
- ['ibase_rollback_ret', '7.4', [211], '7.3'],
- ['ibase_rollback', '7.4', [212], '7.3'],
- ['ibase_server_info', '7.4', [213], '7.3'],
- ['ibase_service_attach', '7.4', [214], '7.3'],
- ['ibase_service_detach', '7.4', [215], '7.3'],
- ['ibase_set_event_handler', '7.4', [216], '7.3'],
- ['ibase_trans', '7.4', [217], '7.3'],
- ['ibase_wait_event', '7.4', [218], '7.3'],
- ['fbird_add_user', '7.4', [987], '7.3'],
- ['fbird_affected_rows', '7.4', [988], '7.3'],
- ['fbird_backup', '7.4', [989], '7.3'],
- ['fbird_blob_add', '7.4', [990], '7.3'],
- ['fbird_blob_cancel', '7.4', [991], '7.3'],
- ['fbird_blob_close', '7.4', [992], '7.3'],
- ['fbird_blob_create', '7.4', [993], '7.3'],
- ['fbird_blob_echo', '7.4', [994], '7.3'],
- ['fbird_blob_get', '7.4', [995], '7.3'],
- ['fbird_blob_import', '7.4', [996], '7.3'],
- ['fbird_blob_info', '7.4', [997], '7.3'],
- ['fbird_blob_open', '7.4', [998], '7.3'],
- ['fbird_close', '7.4', [999], '7.3'],
- ['fbird_commit_ret', '7.4', [1000], '7.3'],
- ['fbird_commit', '7.4', [1001], '7.3'],
- ['fbird_connect', '7.4', [1002], '7.3'],
- ['fbird_db_info', '7.4', [1003], '7.3'],
- ['fbird_delete_user', '7.4', [1004], '7.3'],
- ['fbird_drop_db', '7.4', [1005], '7.3'],
- ['fbird_errcode', '7.4', [1006], '7.3'],
- ['fbird_errmsg', '7.4', [1007], '7.3'],
- ['fbird_execute', '7.4', [1008], '7.3'],
- ['fbird_fetch_assoc', '7.4', [1009], '7.3'],
- ['fbird_fetch_object', '7.4', [1010], '7.3'],
- ['fbird_fetch_row', '7.4', [1011], '7.3'],
- ['fbird_field_info', '7.4', [1012], '7.3'],
- ['fbird_free_event_handler', '7.4', [1013], '7.3'],
- ['fbird_free_query', '7.4', [1014], '7.3'],
- ['fbird_free_result', '7.4', [1015], '7.3'],
- ['fbird_gen_id', '7.4', [1016], '7.3'],
- ['fbird_maintain_db', '7.4', [1017], '7.3'],
- ['fbird_modify_user', '7.4', [1018], '7.3'],
- ['fbird_name_result', '7.4', [1019], '7.3'],
- ['fbird_num_fields', '7.4', [1020], '7.3'],
- ['fbird_num_params', '7.4', [1021], '7.3'],
- ['fbird_param_info', '7.4', [1022], '7.3'],
- ['fbird_pconnect', '7.4', [1023], '7.3'],
- ['fbird_prepare', '7.4', [1024], '7.3'],
- ['fbird_query', '7.4', [1025], '7.3'],
- ['fbird_restore', '7.4', [1026], '7.3'],
- ['fbird_rollback_ret', '7.4', [1027], '7.3'],
- ['fbird_rollback', '7.4', [1028], '7.3'],
- ['fbird_server_info', '7.4', [1029], '7.3'],
- ['fbird_service_attach', '7.4', [1030], '7.3'],
- ['fbird_service_detach', '7.4', [1031], '7.3'],
- ['fbird_set_event_handler', '7.4', [1032], '7.3'],
- ['fbird_trans', '7.4', [1033], '7.3'],
- ['fbird_wait_event', '7.4', [1034], '7.3'],
-
- ['wddx_add_vars', '7.4', [228], '7.3'],
- ['wddx_deserialize', '7.4', [229], '7.3'],
- ['wddx_packet_end', '7.4', [230], '7.3'],
- ['wddx_packet_start', '7.4', [231], '7.3'],
- ['wddx_serialize_value', '7.4', [232], '7.3'],
- ['wddx_serialize_vars', '7.4', [233], '7.3'],
- ['mysqli_embedded_server_end', '7.4', [1147], '7.3'],
- ['mysqli_embedded_server_start', '7.4', [1148], '7.3'],
-
- ['oci_internal_debug', '8.0', [1178], '7.4'],
- ['xmlrpc_decode_request', '8.0', [1158], '7.4'],
- ['xmlrpc_decode', '8.0', [1159], '7.4'],
- ['xmlrpc_encode_request', '8.0', [1160], '7.4'],
- ['xmlrpc_encode', '8.0', [1161], '7.4'],
- ['xmlrpc_get_type', '8.0', [1162], '7.4'],
- ['xmlrpc_is_fault', '8.0', [1163], '7.4'],
- ['xmlrpc_parse_method_descriptions', '8.0', [1164], '7.4'],
- ['xmlrpc_server_add_introspection_data', '8.0', [1165], '7.4'],
- ['xmlrpc_server_call_method', '8.0', [1166], '7.4'],
- ['xmlrpc_server_create', '8.0', [1167], '7.4'],
- ['xmlrpc_server_destroy', '8.0', [1168], '7.4'],
- ['xmlrpc_server_register_introspection_callback', '8.0', [1169], '7.4'],
- ['xmlrpc_server_register_method', '8.0', [1170], '7.4'],
- ['xmlrpc_set_type', '8.0', [1171], '7.4'],
- ];
- }
-
-
- /**
- * testRemovedFunctionWithAlternative
- *
- * @dataProvider dataRemovedFunctionWithAlternative
- *
- * @param string $functionName Name of the function.
- * @param string $removedIn The PHP version in which the function was removed.
- * @param string $alternative An alternative function.
- * @param array $lines The line numbers in the test file which apply to this function.
- * @param string $okVersion A PHP version in which the function was still valid.
- * @param string $removedVersion Optional PHP version to test removed message with -
- * if different from the $removedIn version.
- *
- * @return void
- */
- public function testRemovedFunctionWithAlternative($functionName, $removedIn, $alternative, $lines, $okVersion, $removedVersion = null)
- {
- $file = $this->sniffFile(__FILE__, $okVersion);
- foreach ($lines as $line) {
- $this->assertNoViolation($file, $line);
- }
-
- $errorVersion = (isset($removedVersion)) ? $removedVersion : $removedIn;
- $file = $this->sniffFile(__FILE__, $errorVersion);
- $error = "Function {$functionName}() is removed since PHP {$removedIn}; Use {$alternative} instead";
- foreach ($lines as $line) {
- $this->assertError($file, $line, $error);
- }
- }
-
- /**
- * Data provider.
- *
- * @see testRemovedFunctionWithAlternative()
- *
- * @return array
- */
- public function dataRemovedFunctionWithAlternative()
- {
- return [
- ['zend_logo_guid', '5.5', 'text string "PHPE9568F35-D428-11d2-A769-00AA001ACF42"', [35], '5.4'],
-
- ['recode_file', '7.4', 'the iconv or mbstring extension', [236], '7.3'],
- ['recode_string', '7.4', 'the iconv or mbstring extension', [237], '7.3'],
- ['recode', '7.4', 'the iconv or mbstring extension', [238], '7.3'],
-
- ['imap_header', '8.0', 'imap_headerinfo()', [1216], '7.4'],
- ];
- }
-
-
- /**
- * testDeprecatedRemovedFunction
- *
- * @dataProvider dataDeprecatedRemovedFunction
- *
- * @param string $functionName Name of the function.
- * @param string $deprecatedIn The PHP version in which the function was deprecated.
- * @param string $removedIn The PHP version in which the function was removed.
- * @param array $lines The line numbers in the test file which apply to this function.
- * @param string $okVersion A PHP version in which the function was still valid.
- * @param string $deprecatedVersion Optional PHP version to test deprecation message with -
- * if different from the $deprecatedIn version.
- * @param string $removedVersion Optional PHP version to test removed message with -
- * if different from the $removedIn version.
- *
- * @return void
- */
- public function testDeprecatedRemovedFunction($functionName, $deprecatedIn, $removedIn, $lines, $okVersion, $deprecatedVersion = null, $removedVersion = null)
- {
- $file = $this->sniffFile(__FILE__, $okVersion);
- foreach ($lines as $line) {
- $this->assertNoViolation($file, $line);
- }
-
- $errorVersion = (isset($deprecatedVersion)) ? $deprecatedVersion : $deprecatedIn;
- $file = $this->sniffFile(__FILE__, $errorVersion);
- $error = "Function {$functionName}() is deprecated since PHP {$deprecatedIn}";
- foreach ($lines as $line) {
- $this->assertWarning($file, $line, $error);
- }
-
- $errorVersion = (isset($removedVersion)) ? $removedVersion : $removedIn;
- $file = $this->sniffFile(__FILE__, $errorVersion);
- $error = "Function {$functionName}() is deprecated since PHP {$deprecatedIn} and removed since PHP {$removedIn}";
- foreach ($lines as $line) {
- $this->assertError($file, $line, $error);
- }
- }
-
- /**
- * Data provider.
- *
- * @see testDeprecatedRemovedFunction()
- *
- * @return array
- */
- public function dataDeprecatedRemovedFunction()
- {
- return [
- ['define_syslog_variables', '5.3', '5.4', [5], '5.2'],
- ['import_request_variables', '5.3', '5.4', [11], '5.2'],
- ['mysql_list_dbs', '5.4', '7.0', [15], '5.3'],
- ['magic_quotes_runtime', '5.3', '7.0', [23], '5.2'],
- ['set_magic_quotes_runtime', '5.3', '7.0', [27], '5.2'],
- ['sql_regcase', '5.3', '7.0', [31], '5.2'],
- ['mysql_affected_rows', '5.5', '7.0', [923], '5.4'],
- ['mysql_client_encoding', '5.5', '7.0', [924], '5.4'],
- ['mysql_close', '5.5', '7.0', [925], '5.4'],
- ['mysql_connect', '5.5', '7.0', [926], '5.4'],
- ['mysql_create_db', '4.3', '7.0', [927], '4.2'],
- ['mysql_data_seek', '5.5', '7.0', [928], '5.4'],
- ['mysql_db_name', '5.5', '7.0', [929], '5.4'],
- ['mysql_drop_db', '4.3', '7.0', [930], '4.2'],
- ['mysql_errno', '5.5', '7.0', [931], '5.4'],
- ['mysql_error', '5.5', '7.0', [932], '5.4'],
- ['mysql_fetch_array', '5.5', '7.0', [933], '5.4'],
- ['mysql_fetch_assoc', '5.5', '7.0', [934], '5.4'],
- ['mysql_fetch_field', '5.5', '7.0', [935], '5.4'],
- ['mysql_fetch_lengths', '5.5', '7.0', [936], '5.4'],
- ['mysql_fetch_object', '5.5', '7.0', [937], '5.4'],
- ['mysql_fetch_row', '5.5', '7.0', [938], '5.4'],
- ['mysql_field_flags', '5.5', '7.0', [939], '5.4'],
- ['mysql_field_len', '5.5', '7.0', [940], '5.4'],
- ['mysql_field_name', '5.5', '7.0', [941], '5.4'],
- ['mysql_field_seek', '5.5', '7.0', [942], '5.4'],
- ['mysql_field_table', '5.5', '7.0', [943], '5.4'],
- ['mysql_field_type', '5.5', '7.0', [944], '5.4'],
- ['mysql_free_result', '5.5', '7.0', [945], '5.4'],
- ['mysql_get_client_info', '5.5', '7.0', [946], '5.4'],
- ['mysql_get_host_info', '5.5', '7.0', [947], '5.4'],
- ['mysql_get_proto_info', '5.5', '7.0', [948], '5.4'],
- ['mysql_get_server_info', '5.5', '7.0', [949], '5.4'],
- ['mysql_info', '5.5', '7.0', [950], '5.4'],
- ['mysql_insert_id', '5.5', '7.0', [951], '5.4'],
- ['mysql_list_fields', '5.4', '7.0', [952], '5.3'],
- ['mysql_list_processes', '5.5', '7.0', [953], '5.4'],
- ['mysql_list_tables', '4.3.7', '7.0', [954], '4.3', '4.4'],
- ['mysql_num_fields', '5.5', '7.0', [955], '5.4'],
- ['mysql_num_rows', '5.5', '7.0', [956], '5.4'],
- ['mysql_pconnect', '5.5', '7.0', [957], '5.4'],
- ['mysql_ping', '5.5', '7.0', [958], '5.4'],
- ['mysql_query', '5.5', '7.0', [959], '5.4'],
- ['mysql_real_escape_string', '5.5', '7.0', [960], '5.4'],
- ['mysql_result', '5.5', '7.0', [961], '5.4'],
- ['mysql_select_db', '5.5', '7.0', [962], '5.4'],
- ['mysql_set_charset', '5.5', '7.0', [963], '5.4'],
- ['mysql_stat', '5.5', '7.0', [964], '5.4'],
- ['mysql_tablename', '5.5', '7.0', [965], '5.4'],
- ['mysql_thread_id', '5.5', '7.0', [966], '5.4'],
- ['mysql_unbuffered_query', '5.5', '7.0', [967], '5.4'],
- ['mysql', '5.5', '7.0', [968], '5.4'],
- ['mysql_fieldname', '5.5', '7.0', [969], '5.4'],
- ['mysql_fieldtable', '5.5', '7.0', [970], '5.4'],
- ['mysql_fieldlen', '5.5', '7.0', [971], '5.4'],
- ['mysql_fieldtype', '5.5', '7.0', [972], '5.4'],
- ['mysql_fieldflags', '5.5', '7.0', [973], '5.4'],
- ['mysql_selectdb', '5.5', '7.0', [974], '5.4'],
- ['mysql_freeresult', '5.5', '7.0', [977], '5.4'],
- ['mysql_numfields', '5.5', '7.0', [978], '5.4'],
- ['mysql_numrows', '5.5', '7.0', [979], '5.4'],
- ['mysql_listdbs', '5.5', '7.0', [980], '5.4'],
- ['mysql_listfields', '5.5', '7.0', [982], '5.4'],
- ['mysql_dbname', '5.5', '7.0', [983], '5.4'],
- ['mysql_table_name', '5.5', '7.0', [984], '5.4'],
-
- ['ldap_sort', '7.0', '8.0', [97], '5.6'],
- ['fgetss', '7.3', '8.0', [167], '7.2'],
- ['gzgetss', '7.3', '8.0', [168], '7.2'],
- ['ezmlm_hash', '7.4', '8.0', [245], '7.3'],
- ['get_magic_quotes_gpc', '7.4', '8.0', [240], '7.3'],
- ['get_magic_quotes_runtime', '7.4', '8.0', [241], '7.3'],
- ['hebrevc', '7.4', '8.0', [242], '7.3'],
- ];
- }
-
-
- /**
- * testDeprecatedRemovedFunctionWithAlternative
- *
- * @dataProvider dataDeprecatedRemovedFunctionWithAlternative
- *
- * @param string $functionName Name of the function.
- * @param string $deprecatedIn The PHP version in which the function was deprecated.
- * @param string $removedIn The PHP version in which the function was removed.
- * @param string $alternative An alternative function.
- * @param array $lines The line numbers in the test file which apply to this function.
- * @param string $okVersion A PHP version in which the function was still valid.
- * @param string $deprecatedVersion Optional PHP version to test deprecation message with -
- * if different from the $deprecatedIn version.
- * @param string $removedVersion Optional PHP version to test removed message with -
- * if different from the $removedIn version.
- *
- * @return void
- */
- public function testDeprecatedRemovedFunctionWithAlternative($functionName, $deprecatedIn, $removedIn, $alternative, $lines, $okVersion, $deprecatedVersion = null, $removedVersion = null)
- {
- $file = $this->sniffFile(__FILE__, $okVersion);
- foreach ($lines as $line) {
- $this->assertNoViolation($file, $line);
- }
-
- $errorVersion = (isset($deprecatedVersion)) ? $deprecatedVersion : $deprecatedIn;
- $file = $this->sniffFile(__FILE__, $errorVersion);
- $error = "Function {$functionName}() is deprecated since PHP {$deprecatedIn}; Use {$alternative} instead";
- foreach ($lines as $line) {
- $this->assertWarning($file, $line, $error);
- }
-
- $errorVersion = (isset($removedVersion)) ? $removedVersion : $removedIn;
- $file = $this->sniffFile(__FILE__, $errorVersion);
- $error = "Function {$functionName}() is deprecated since PHP {$deprecatedIn} and removed since PHP {$removedIn}; Use {$alternative} instead";
- foreach ($lines as $line) {
- $this->assertError($file, $line, $error);
- }
- }
-
- /**
- * Data provider.
- *
- * @see testDeprecatedRemovedFunctionWithAlternative()
- *
- * @return array
- */
- public function dataDeprecatedRemovedFunctionWithAlternative()
- {
- return [
- ['call_user_method', '4.1', '7.0', 'call_user_func()', [3], '4.0'],
- ['call_user_method_array', '4.1', '7.0', 'call_user_func_array()', [4], '4.0'],
- ['ereg', '5.3', '7.0', 'preg_match()', [7], '5.2'],
- ['ereg_replace', '5.3', '7.0', 'preg_replace()', [8], '5.2'],
- ['eregi', '5.3', '7.0', 'preg_match() (with the i modifier)', [9], '5.2'],
- ['eregi_replace', '5.3', '7.0', 'preg_replace() (with the i modifier)', [10], '5.2'],
- ['mcrypt_generic_end', '5.3', '7.0', 'mcrypt_generic_deinit()', [12], '5.2'],
- ['mcrypt_ecb', '5.5', '7.0', 'mcrypt_decrypt()/mcrypt_encrypt()', [37], '5.4'],
- ['mcrypt_cbc', '5.5', '7.0', 'mcrypt_decrypt()/mcrypt_encrypt()', [38], '5.4'],
- ['mcrypt_cfb', '5.5', '7.0', 'mcrypt_decrypt()/mcrypt_encrypt()', [39], '5.4'],
- ['mcrypt_ofb', '5.5', '7.0', 'mcrypt_decrypt()/mcrypt_encrypt()', [40], '5.4'],
- ['mysql_db_query', '5.3', '7.0', 'mysqli::select_db() and mysqli::query()', [13], '5.2'],
- ['mysql_escape_string', '4.3', '7.0', 'mysqli::real_escape_string()', [14], '4.2'],
- ['mysqli_bind_param', '5.3', '5.4', 'mysqli_stmt::bind_param()', [16], '5.2'],
- ['mysqli_bind_result', '5.3', '5.4', 'mysqli_stmt::bind_result()', [17], '5.2'],
- ['mysqli_client_encoding', '5.3', '5.4', 'mysqli::character_set_name()', [18], '5.2'],
- ['mysqli_fetch', '5.3', '5.4', 'mysqli_stmt::fetch()', [19], '5.2'],
- ['mysqli_param_count', '5.3', '5.4', 'mysqli_stmt_param_count()', [20], '5.2'],
- ['mysqli_get_metadata', '5.3', '5.4', 'mysqli_stmt::result_metadata()', [21], '5.2'],
- ['mysqli_send_long_data', '5.3', '5.4', 'mysqli_stmt::send_long_data()', [22], '5.2'],
- ['session_register', '5.3', '5.4', '$_SESSION', [24], '5.2'],
- ['session_unregister', '5.3', '5.4', '$_SESSION', [25], '5.2'],
- ['session_is_registered', '5.3', '5.4', '$_SESSION', [26], '5.2'],
- ['set_socket_blocking', '5.3', '7.0', 'stream_set_blocking()', [28], '5.2'],
- ['split', '5.3', '7.0', 'preg_split(), explode() or str_split()', [29], '5.2'],
- ['spliti', '5.3', '7.0', 'preg_split() (with the i modifier)', [30], '5.2'],
- ['datefmt_set_timezone_id', '5.5', '7.0', 'IntlDateFormatter::setTimeZone()', [36], '5.4'],
-
- ['mcrypt_create_iv', '7.1', '7.2', 'random_bytes() or OpenSSL', [100], '7.0'],
- ['mcrypt_decrypt', '7.1', '7.2', 'OpenSSL', [101], '7.0'],
- ['mcrypt_enc_get_algorithms_name', '7.1', '7.2', 'OpenSSL', [102], '7.0'],
- ['mcrypt_enc_get_block_size', '7.1', '7.2', 'OpenSSL', [103], '7.0'],
- ['mcrypt_enc_get_iv_size', '7.1', '7.2', 'OpenSSL', [104], '7.0'],
- ['mcrypt_enc_get_key_size', '7.1', '7.2', 'OpenSSL', [105], '7.0'],
- ['mcrypt_enc_get_modes_name', '7.1', '7.2', 'OpenSSL', [106], '7.0'],
- ['mcrypt_enc_get_supported_key_sizes', '7.1', '7.2', 'OpenSSL', [107], '7.0'],
- ['mcrypt_enc_is_block_algorithm_mode', '7.1', '7.2', 'OpenSSL', [108], '7.0'],
- ['mcrypt_enc_is_block_algorithm', '7.1', '7.2', 'OpenSSL', [109], '7.0'],
- ['mcrypt_enc_is_block_mode', '7.1', '7.2', 'OpenSSL', [110], '7.0'],
- ['mcrypt_enc_self_test', '7.1', '7.2', 'OpenSSL', [111], '7.0'],
- ['mcrypt_encrypt', '7.1', '7.2', 'OpenSSL', [112], '7.0'],
- ['mcrypt_generic_deinit', '7.1', '7.2', 'OpenSSL', [113], '7.0'],
- ['mcrypt_generic_init', '7.1', '7.2', 'OpenSSL', [114], '7.0'],
- ['mcrypt_generic', '7.1', '7.2', 'OpenSSL', [115], '7.0'],
- ['mcrypt_get_block_size', '7.1', '7.2', 'OpenSSL', [116], '7.0'],
- ['mcrypt_get_cipher_name', '7.1', '7.2', 'OpenSSL', [117], '7.0'],
- ['mcrypt_get_iv_size', '7.1', '7.2', 'OpenSSL', [118], '7.0'],
- ['mcrypt_get_key_size', '7.1', '7.2', 'OpenSSL', [119], '7.0'],
- ['mcrypt_list_algorithms', '7.1', '7.2', 'OpenSSL', [120], '7.0'],
- ['mcrypt_list_modes', '7.1', '7.2', 'OpenSSL', [121], '7.0'],
- ['mcrypt_module_close', '7.1', '7.2', 'OpenSSL', [122], '7.0'],
- ['mcrypt_module_get_algo_block_size', '7.1', '7.2', 'OpenSSL', [123], '7.0'],
- ['mcrypt_module_get_algo_key_size', '7.1', '7.2', 'OpenSSL', [124], '7.0'],
- ['mcrypt_module_get_supported_key_sizes', '7.1', '7.2', 'OpenSSL', [125], '7.0'],
- ['mcrypt_module_is_block_algorithm_mode', '7.1', '7.2', 'OpenSSL', [126], '7.0'],
- ['mcrypt_module_is_block_algorithm', '7.1', '7.2', 'OpenSSL', [127], '7.0'],
- ['mcrypt_module_is_block_mode', '7.1', '7.2', 'OpenSSL', [128], '7.0'],
- ['mcrypt_module_open', '7.1', '7.2', 'OpenSSL', [129], '7.0'],
- ['mcrypt_module_self_test', '7.1', '7.2', 'OpenSSL', [130], '7.0'],
- ['mdecrypt_generic', '7.1', '7.2', 'OpenSSL', [131], '7.0'],
-
- ['create_function', '7.2', '8.0', 'an anonymous function', [146], '7.1'],
- ['each', '7.2', '8.0', 'a foreach loop or ArrayIterator', [147], '7.1'],
- ['read_exif_data', '7.2', '8.0', 'exif_read_data()', [149], '7.1'],
- ['jpeg2wbmp', '7.2', '8.0', 'imagecreatefromjpeg() and imagewbmp()', [144], '7.1'],
- ['png2wbmp', '7.2', '8.0', 'imagecreatefrompng() or imagewbmp()', [145], '7.1'],
- ['gmp_random', '7.2', '8.0', 'gmp_random_bits() or gmp_random_range()', [148], '7.1'],
-
- ['image2wbmp', '7.3', '8.0', 'imagewbmp()', [152], '7.2'],
- ['mbregex_encoding', '7.3', '8.0', 'mb_regex_encoding()', [153], '7.2'],
- ['mbereg', '7.3', '8.0', 'mb_ereg()', [154], '7.2'],
- ['mberegi', '7.3', '8.0', 'mb_eregi()', [155], '7.2'],
- ['mbereg_replace', '7.3', '8.0', 'mb_ereg_replace()', [156], '7.2'],
- ['mberegi_replace', '7.3', '8.0', 'mb_eregi_replace()', [157], '7.2'],
- ['mbsplit', '7.3', '8.0', 'mb_split()', [158], '7.2'],
- ['mbereg_match', '7.3', '8.0', 'mb_ereg_match()', [159], '7.2'],
- ['mbereg_search', '7.3', '8.0', 'mb_ereg_search()', [160], '7.2'],
- ['mbereg_search_pos', '7.3', '8.0', 'mb_ereg_search_pos()', [161], '7.2'],
- ['mbereg_search_regs', '7.3', '8.0', 'mb_ereg_search_regs()', [162], '7.2'],
- ['mbereg_search_init', '7.3', '8.0', 'mb_ereg_search_init()', [163], '7.2'],
- ['mbereg_search_getregs', '7.3', '8.0', 'mb_ereg_search_getregs()', [164], '7.2'],
- ['mbereg_search_getpos', '7.3', '8.0', 'mb_ereg_search_getpos()', [165], '7.2'],
- ['mbereg_search_setpos', '7.3', '8.0', 'mb_ereg_search_setpos()', [166], '7.2'],
-
- ['convert_cyr_string', '7.4', '8.0', 'mb_convert_encoding(), iconv() or UConverter', [243], '7.3'],
- ['money_format', '7.4', '8.0', 'NumberFormatter::formatCurrency()', [244], '7.3'],
- ['restore_include_path', '7.4', '8.0', "ini_restore('include_path')", [246], '7.3'],
- ['ociinternaldebug', '5.4', '8.0', 'oci_internal_debug() (PHP < 8.0)', [69], '5.3'],
- ['ldap_control_paged_result_response', '7.4', '8.0', 'ldap_search()', [234], '7.3'],
- ['ldap_control_paged_result', '7.4', '8.0', 'ldap_search()', [235], '7.3'],
- ];
- }
-
-
- /**
- * testNoFalsePositives
- *
- * @dataProvider dataNoFalsePositives
- *
- * @param int $line The line number.
- *
- * @return void
- */
- public function testNoFalsePositives($line)
- {
- $file = $this->sniffFile(__FILE__, '99.0'); // High version beyond latest deprecation.
- $this->assertNoViolation($file, $line);
- }
-
- /**
- * Data provider.
- *
- * @see testNoFalsePositives()
- *
- * @return array
- */
- public function dataNoFalsePositives()
- {
- return [
- [134],
- [135],
- [136],
- [137],
- [138],
- [139],
- [140],
- [141],
- [249],
- [250],
- [251],
- [252],
- [1232],
- ];
- }
-
-
- /**
- * Verify no notices are thrown at all.
- *
- * @return void
- */
- public function testNoViolationsInFileOnValidVersion()
- {
- $file = $this->sniffFile(__FILE__, '4.0'); // Low version below the first deprecation.
- $this->assertNoViolation($file);
- }
-}
diff --git a/PHPCompatibility/Tests/ParameterValues/ChangedIntToBoolParamTypeUnitTest.inc b/PHPCompatibility/Tests/ParameterValues/ChangedIntToBoolParamTypeUnitTest.inc
deleted file mode 100644
index 1690d84c..00000000
--- a/PHPCompatibility/Tests/ParameterValues/ChangedIntToBoolParamTypeUnitTest.inc
+++ /dev/null
@@ -1,28 +0,0 @@
-sniffFile(__FILE__, $since);
- $error = "The {$paramName} parameter of {$functionName}() expects a boolean value instead of an integer since PHP {$since}";
-
- $this->assertError($file, $line, $error);
- }
-
- /**
- * Data provider.
- *
- * @see testChangedIntToBoolParamType)
- *
- * @return array
- */
- public function dataChangedIntToBoolParamType()
- {
- return [
- [21, '8.0', '$auto_release', 'sem_get'],
- [22, '8.0', '$auto_release', 'sem_get'],
- [23, '8.0', '$auto_release', 'sem_get'],
- [24, '8.0', '$auto_release', 'sem_get'],
- [25, '8.0', '$auto_release', 'sem_get'],
- [26, '8.0', '$auto_release', 'sem_get'],
- [27, '8.0', '$enable', 'ob_implicit_flush'],
- [28, '8.0', '$enable', 'ob_implicit_flush'],
- ];
- }
-
-
- /**
- * Verify no false positives are thrown for valid code.
- *
- * @dataProvider dataNoFalsePositives
- *
- * @param int $line Line number.
- *
- * @return void
- */
- public function testNoFalsePositives($line)
- {
- $file = $this->sniffFile(__FILE__, '99.0');
- $this->assertNoViolation($file, $line);
- }
-
- /**
- * Data provider.
- *
- * @see testNoFalsePositives()
- *
- * @return array
- */
- public function dataNoFalsePositives()
- {
- $data = [];
-
- // No errors expected on the first 19 lines.
- for ($line = 1; $line <= 19; $line++) {
- $data[] = [$line];
- }
-
- return $data;
- }
-
-
- /**
- * Verify no notices are thrown at all.
- *
- * @return void
- */
- public function testNoViolationsInFileOnValidVersion()
- {
- $file = $this->sniffFile(__FILE__, '7.4'); // Version before first change.
- $this->assertNoViolation($file);
- }
-}
diff --git a/PHPCompatibility/Tests/ParameterValues/RemovedAssertStringAssertionUnitTest.inc b/PHPCompatibility/Tests/ParameterValues/RemovedAssertStringAssertionUnitTest.inc
deleted file mode 100644
index 2f0d9d2e..00000000
--- a/PHPCompatibility/Tests/ParameterValues/RemovedAssertStringAssertionUnitTest.inc
+++ /dev/null
@@ -1,28 +0,0 @@
- 0);
-EOT
-);
-assert(
- 'is_int($int)'
- . '&& $int > 10'
-);
diff --git a/PHPCompatibility/Tests/ParameterValues/RemovedAssertStringAssertionUnitTest.php b/PHPCompatibility/Tests/ParameterValues/RemovedAssertStringAssertionUnitTest.php
deleted file mode 100644
index fd6326e1..00000000
--- a/PHPCompatibility/Tests/ParameterValues/RemovedAssertStringAssertionUnitTest.php
+++ /dev/null
@@ -1,91 +0,0 @@
-sniffFile(__FILE__, '7.2');
- $error = 'Using a string as the assertion passed to assert() is deprecated since PHP 7.2';
- $this->assertWarning($file, $line, $error);
-
- $file = $this->sniffFile(__FILE__, '8.0');
- $error = 'Using a string as the assertion passed to assert() is deprecated since PHP 7.2 and removed since PHP 8.0';
- $this->assertError($file, $line, $error);
- }
-
- /**
- * Data provider.
- *
- * @see testRemovedAssertStringAssertion()
- *
- * @return array
- */
- public function dataRemovedAssertStringAssertion()
- {
- return [
- [18],
- [19],
- [20],
- [25],
- ];
- }
-
-
- /**
- * Verify there are no false positives on code this sniff should ignore.
- *
- * @return void
- */
- public function testNoFalsePositives()
- {
- $file = $this->sniffFile(__FILE__, '7.2');
-
- // No errors expected on the first 16 lines.
- for ($line = 1; $line <= 16; $line++) {
- $this->assertNoViolation($file, $line);
- }
- }
-
- /**
- * Verify no notices are thrown at all.
- *
- * @return void
- */
- public function testNoViolationsInFileOnValidVersion()
- {
- $file = $this->sniffFile(__FILE__, '7.1');
- $this->assertNoViolation($file);
- }
-}
diff --git a/PHPCompatibility/Tests/ParameterValues/RemovedGetDefinedFunctionsExcludeDisabledFalseUnitTest.inc b/PHPCompatibility/Tests/ParameterValues/RemovedGetDefinedFunctionsExcludeDisabledFalseUnitTest.inc
deleted file mode 100644
index 257e89fd..00000000
--- a/PHPCompatibility/Tests/ParameterValues/RemovedGetDefinedFunctionsExcludeDisabledFalseUnitTest.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-sniffFile(__FILE__, '8.0');
- $this->assertWarning($file, $line, 'Explicitly passing "false" as the value for $exclude_disabled to get_defined_functions() is deprecated since PHP 8.0.');
- }
-
- /**
- * Data provider.
- *
- * @see testRemovedGetDefinedFunctionsExcludeDisabledFalse()
- *
- * @return array
- */
- public function dataRemovedGetDefinedFunctionsExcludeDisabledFalse()
- {
- return [
- [11],
- ];
- }
-
-
- /**
- * Verify the sniff does not throw false positives for valid code.
- *
- * @return void
- */
- public function testNoFalsePositives()
- {
- $file = $this->sniffFile(__FILE__, '8.0');
-
- // No errors expected on the first 9 lines.
- for ($line = 1; $line <= 9; $line++) {
- $this->assertNoViolation($file, $line);
- }
- }
-
-
- /**
- * Verify no notices are thrown at all.
- *
- * @return void
- */
- public function testNoViolationsInFileOnValidVersion()
- {
- $file = $this->sniffFile(__FILE__, '7.4');
- $this->assertNoViolation($file);
- }
-}
diff --git a/PHPCompatibility/Tests/ParameterValues/RemovedSplAutoloadRegisterThrowFalseUnitTest.inc b/PHPCompatibility/Tests/ParameterValues/RemovedSplAutoloadRegisterThrowFalseUnitTest.inc
deleted file mode 100644
index 7703e396..00000000
--- a/PHPCompatibility/Tests/ParameterValues/RemovedSplAutoloadRegisterThrowFalseUnitTest.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-sniffFile(__FILE__, '8.0');
- $this->assertWarning($file, $line, 'Explicitly passing "false" as the value for $throw to spl_autoload_register() is deprecated since PHP 8.0.');
- }
-
- /**
- * Data provider.
- *
- * @see testRemovedSplAutoloadRegisterThrowFalse()
- *
- * @return array
- */
- public function dataRemovedSplAutoloadRegisterThrowFalse()
- {
- return [
- [14],
- [15],
- ];
- }
-
-
- /**
- * Verify the sniff does not throw false positives for valid code.
- *
- * @return void
- */
- public function testNoFalsePositives()
- {
- $file = $this->sniffFile(__FILE__, '8.0');
-
- // No errors expected on the first 12 lines.
- for ($line = 1; $line <= 12; $line++) {
- $this->assertNoViolation($file, $line);
- }
- }
-
-
- /**
- * Verify no notices are thrown at all.
- *
- * @return void
- */
- public function testNoViolationsInFileOnValidVersion()
- {
- $file = $this->sniffFile(__FILE__, '7.4');
- $this->assertNoViolation($file);
- }
-}
diff --git a/PHPCompatibility/Tests/TextStrings/RemovedDollarBraceStringEmbedsUnitTest.1.inc b/PHPCompatibility/Tests/TextStrings/RemovedDollarBraceStringEmbedsUnitTest.1.inc
deleted file mode 100644
index 4ec71d18..00000000
--- a/PHPCompatibility/Tests/TextStrings/RemovedDollarBraceStringEmbedsUnitTest.1.inc
+++ /dev/null
@@ -1,90 +0,0 @@
-bar";
-$text = "some text $var some text";
-
-$heredoc = <<bar}";
-echo "{$foo->bar()}";
-echo "{$foo['bar']->baz()()}";
-echo "{${$bar}}";
-echo "{$foo()}";
-echo "{${$object->getMethod()}}"
-$text = "some text {$var} some text";
-
-$heredoc = <<<"EOD"
-some text {$var} some text
-EOD;
-
-/*
- * Not our target.
- */
-
-// Ordinary variable variables outside strings.
-$foo = ${'bar'};
-
-// Heredoc without embeds.
-echo <<bar}";
-echo "${$object->getMethod()}"
-$text = "some text ${(foo)} some text";
-echo "${substr('laruence', 0, 2)}";
-
-echo "${foo["${bar}"]}";
-echo "${foo["${bar['baz']}"]}";
-echo "${foo->{$baz}}";
-echo "${foo->{${'a'}}}";
-echo "${foo->{"${'a'}"}}";
-
-// Verify correct handling of stack pointers in multi-token code.
-$text = "Line without embed
-some text ${foo["${bar}"]} some text
-some text ${foo["${bar['baz']}"]} some text
-some text ${foo->{${'a'}}} some text
-";
-
-$heredoc = <<<"EOD"
-some text ${(foo)} some text
-EOD;
diff --git a/PHPCompatibility/Tests/TextStrings/RemovedDollarBraceStringEmbedsUnitTest.2.inc b/PHPCompatibility/Tests/TextStrings/RemovedDollarBraceStringEmbedsUnitTest.2.inc
deleted file mode 100644
index f637fbf1..00000000
--- a/PHPCompatibility/Tests/TextStrings/RemovedDollarBraceStringEmbedsUnitTest.2.inc
+++ /dev/null
@@ -1,42 +0,0 @@
-getMethod()} some text
- some text ${foo["${bar['baz']}"]} some text
- some text ${foo->{${'a'}}} some text
- EOD;
diff --git a/PHPCompatibility/Tests/TextStrings/RemovedDollarBraceStringEmbedsUnitTest.php b/PHPCompatibility/Tests/TextStrings/RemovedDollarBraceStringEmbedsUnitTest.php
deleted file mode 100644
index 25d0c939..00000000
--- a/PHPCompatibility/Tests/TextStrings/RemovedDollarBraceStringEmbedsUnitTest.php
+++ /dev/null
@@ -1,256 +0,0 @@
-sniffFile(__DIR__ . '/' . self::TEST_FILE, '8.2');
- $this->assertWarning($file, $line, 'Using ${var} in strings is deprecated since PHP 8.2, use {$var} instead. Found: ' . $found);
- }
-
- /**
- * Data provider.
- *
- * @see testRemovedDollarBraceStringEmbedsType3()
- *
- * @return array
- */
- public function dataRemovedDollarBraceStringEmbedsType3()
- {
- return [
- [57, '${foo}'],
- [58, '${foo[\'bar\']}'],
- [59, '${foo}'],
- [59, '${text}'],
- [62, '${foo}'],
- [65, '${foo}'],
- ];
- }
-
-
- /**
- * Test that variable embeds of "type 4" - Variable variables (“${expr}”, equivalent to
- * (string) ${expr}) - are correctly detected.
- *
- * @dataProvider dataRemovedDollarBraceStringEmbedsType4
- *
- * @param int $line The line number.
- * @param string $found The embedded expression found.
- *
- * @return void
- */
- public function testRemovedDollarBraceStringEmbedsType4($line, $found)
- {
- $file = $this->sniffFile(__DIR__ . '/' . self::TEST_FILE, '8.2');
- $this->assertWarning($file, $line, "Using {$found} (variable variables) in strings is deprecated since PHP 8.2, use {\${expr}} instead.");
- }
-
- /**
- * Data provider.
- *
- * @see testRemovedDollarBraceStringEmbedsType4()
- *
- * @return array
- */
- public function dataRemovedDollarBraceStringEmbedsType4()
- {
- return [
- [68, '${$bar}'],
- [69, '${(foo)}'],
- [70, '${foo->bar}'],
- [71, '${$object->getMethod()}'],
- [72, '${(foo)}'],
- [73, '${substr(\'laruence\', 0, 2)}'],
- [75, '${foo["${bar}"]}'],
- [76, '${foo["${bar[\'baz\']}"]}'],
- [77, '${foo->{$baz}}'],
- [78, '${foo->{${\'a\'}}}'],
- [79, '${foo->{"${\'a\'}"}}'],
- [83, '${foo["${bar}"]}'],
- [84, '${foo["${bar[\'baz\']}"]}'],
- [85, '${foo->{${\'a\'}}}'],
- [89, '${(foo)}'],
- ];
- }
-
-
- /**
- * Test that variable embeds of "type 3" - Braces after the dollar sign (“${foo}”) -
- * are correctly detected in PHP 7.3+ indented heredocs.
- *
- * @dataProvider dataRemovedDollarBraceStringEmbedsType3InIndentedHeredoc
- *
- * @param int $line The line number.
- * @param string $found The embedded variable found.
- *
- * @return void
- */
- public function testRemovedDollarBraceStringEmbedsType3InIndentedHeredoc($line, $found)
- {
- if (\PHP_VERSION_ID < 70300) {
- $this->markTestSkipped('Test code involving PHP 7.3 heredocs will not tokenize correctly on PHP < 7.3');
- }
-
- $file = $this->sniffFile(__DIR__ . '/' . self::TEST_FILE_PHP73HEREDOCS, '8.2');
- $this->assertWarning($file, $line, 'Using ${var} in strings is deprecated since PHP 8.2, use {$var} instead. Found: ' . $found);
- }
-
- /**
- * Data provider.
- *
- * @see testRemovedDollarBraceStringEmbedsType3InIndentedHeredoc()
- *
- * @return array
- */
- public function dataRemovedDollarBraceStringEmbedsType3InIndentedHeredoc()
- {
- return [
- [33, '${foo[\'bar\']}'],
- ];
- }
-
-
- /**
- * Test that variable embeds of "type 4" - Variable variables (“${expr}”, equivalent to
- * (string) ${expr}) - are correctly detected in PHP 7.3+ indented heredocs.
- *
- * @dataProvider dataRemovedDollarBraceStringEmbedsType4InIndentedHeredoc
- *
- * @param int $line The line number.
- * @param string $found The embedded expression found.
- *
- * @return void
- */
- public function testRemovedDollarBraceStringEmbedsType4InIndentedHeredoc($line, $found)
- {
- if (\PHP_VERSION_ID < 70300) {
- $this->markTestSkipped('Test code involving PHP 7.3 heredocs will not tokenize correctly on PHP < 7.3');
- }
-
- $file = $this->sniffFile(__DIR__ . '/' . self::TEST_FILE_PHP73HEREDOCS, '8.2');
- $this->assertWarning($file, $line, "Using {$found} (variable variables) in strings is deprecated since PHP 8.2, use {\${expr}} instead.");
- }
-
- /**
- * Data provider.
- *
- * @see testRemovedDollarBraceStringEmbedsType4InIndentedHeredoc()
- *
- * @return array
- */
- public function dataRemovedDollarBraceStringEmbedsType4InIndentedHeredoc()
- {
- return [
- [39, '${$object->getMethod()}'],
- [40, '${foo["${bar[\'baz\']}"]}'],
- [41, '${foo->{${\'a\'}}}'],
- ];
- }
-
-
- /**
- * Verify the sniff does not throw false positives for valid code.
- *
- * @dataProvider dataTestFiles
- *
- * @param string $testFile File name for the test case file to use.
- * @param int $lines Number of lines at the top of the file for which we don't expect errors.
- *
- * @return void
- */
- public function testNoFalsePositives($testFile, $lines)
- {
- if ($testFile === self::TEST_FILE_PHP73HEREDOCS && \PHP_VERSION_ID < 70300) {
- $this->markTestSkipped('Test code involving PHP 7.3 heredocs will not tokenize correctly on PHP < 7.3');
- }
-
- $file = $this->sniffFile(__DIR__ . '/' . $testFile, '8.2');
-
- // No errors expected on the first # lines.
- for ($line = 1; $line <= $lines; $line++) {
- $this->assertNoViolation($file, $line);
- }
- }
-
-
- /**
- * Verify no notices are thrown at all.
- *
- * @dataProvider dataTestFiles
- *
- * @param string $testFile File name for the test case file to use.
- *
- * @return void
- */
- public function testNoViolationsInFileOnValidVersion($testFile)
- {
- if ($testFile === self::TEST_FILE_PHP73HEREDOCS && \PHP_VERSION_ID < 70300) {
- $this->markTestSkipped('Test code involving PHP 7.3 heredocs will not tokenize correctly on PHP < 7.3');
- }
-
- $file = $this->sniffFile(__DIR__ . '/' . $testFile, '8.1');
- $this->assertNoViolation($file);
- }
-
-
- /**
- * Data provider.
- *
- * @return array
- */
- public function dataTestFiles()
- {
- return [
- [self::TEST_FILE, 51],
- [self::TEST_FILE_PHP73HEREDOCS, 26],
- ];
- }
-}
diff --git a/composer.json b/composer.json
index 4b134e67..0dd89da8 100644
--- a/composer.json
+++ b/composer.json
@@ -17,7 +17,7 @@
"squizlabs/php_codesniffer": "^3.6.1",
"rector/rector": "^0.15.10",
"symfony/polyfill": "^1.16",
- "phpcsstandards/phpcsutils": "~1.0.5"
+ "phpcsstandards/phpcsutils": "^1.0.5"
},
"require-dev": {
"phpunit/phpunit": "^9.5.8",
@@ -34,8 +34,7 @@
],
"psr-4": {
"Magento2\\": "Magento2/",
- "Magento2Framework\\": "Magento2Framework/",
- "PHPCompatibility\\": "PHPCompatibility/"
+ "Magento2Framework\\": "Magento2Framework/"
}
},
"config": {
diff --git a/composer.lock b/composer.lock
index 84932d58..79654647 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "09272502b1a24be77dab645eacf57d66",
+ "content-hash": "b28b6be1b758e20337117fe68ef2c5e4",
"packages": [
{
"name": "dealerdirect/phpcodesniffer-composer-installer",
diff --git a/phpunit-bootstrap.php b/phpunit-bootstrap.php
index 487e0170..94f424dd 100644
--- a/phpunit-bootstrap.php
+++ b/phpunit-bootstrap.php
@@ -1,30 +1,9 @@
=')
- && class_exists('PHPUnit_Framework_TestCase') === false
-) {
- class_alias('PHPUnit\Framework\TestCase', 'PHPUnit_Framework_TestCase');
-}
-
-unset($ds, $phpcsDir, $vendorDir);
+require_once __DIR__ . '/vendor/squizlabs/php_codesniffer/tests/bootstrap.php';