bug #24191 [DependencyInjection] include file and line number in deprecation (xabbuh)
This PR was merged into the 3.3 branch.
Discussion
----------
[DependencyInjection] include file and line number in deprecation
| Q | A
| ------------- | ---
| Branch? | 3.3
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
In #23108 we removed line numbers from deprecation messages created by the YAML parser because those numbers were quite useless without the file being parsed. I suggest to revert this change and add the file being parsed to the deprecation message.
Commits
-------
cf03552
include file and line number in deprecation
This commit is contained in:
commit
006380034e
@ -605,10 +605,18 @@ class YamlFileLoader extends FileLoader
|
|||||||
$this->yamlParser = new YamlParser();
|
$this->yamlParser = new YamlParser();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$prevErrorHandler = set_error_handler(function ($level, $message, $script, $line) use ($file, &$prevErrorHandler) {
|
||||||
|
$message = E_USER_DEPRECATED === $level ? preg_replace('/ on line \d+/', ' in "'.$file.'"$0', $message) : $message;
|
||||||
|
|
||||||
|
return $prevErrorHandler ? $prevErrorHandler($level, $message, $script, $line) : false;
|
||||||
|
});
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$configuration = $this->yamlParser->parse(file_get_contents($file), Yaml::PARSE_CONSTANT | Yaml::PARSE_CUSTOM_TAGS | Yaml::PARSE_KEYS_AS_STRINGS);
|
$configuration = $this->yamlParser->parse(file_get_contents($file), Yaml::PARSE_CONSTANT | Yaml::PARSE_CUSTOM_TAGS | Yaml::PARSE_KEYS_AS_STRINGS);
|
||||||
} catch (ParseException $e) {
|
} catch (ParseException $e) {
|
||||||
throw new InvalidArgumentException(sprintf('The file "%s" does not contain valid YAML.', $file), 0, $e);
|
throw new InvalidArgumentException(sprintf('The file "%s" does not contain valid YAML.', $file), 0, $e);
|
||||||
|
} finally {
|
||||||
|
restore_error_handler();
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->validate($configuration, $file);
|
return $this->validate($configuration, $file);
|
||||||
|
@ -58,10 +58,18 @@ class YamlFileLoader extends FileLoader
|
|||||||
$this->yamlParser = new YamlParser();
|
$this->yamlParser = new YamlParser();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$prevErrorHandler = set_error_handler(function ($level, $message, $script, $line) use ($file, &$prevErrorHandler) {
|
||||||
|
$message = E_USER_DEPRECATED === $level ? preg_replace('/ on line \d+/', ' in "'.$file.'"$0', $message) : $message;
|
||||||
|
|
||||||
|
return $prevErrorHandler ? $prevErrorHandler($level, $message, $script, $line) : false;
|
||||||
|
});
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$parsedConfig = $this->yamlParser->parse(file_get_contents($path), Yaml::PARSE_KEYS_AS_STRINGS);
|
$parsedConfig = $this->yamlParser->parse(file_get_contents($path), Yaml::PARSE_KEYS_AS_STRINGS);
|
||||||
} catch (ParseException $e) {
|
} catch (ParseException $e) {
|
||||||
throw new \InvalidArgumentException(sprintf('The file "%s" does not contain valid YAML.', $path), 0, $e);
|
throw new \InvalidArgumentException(sprintf('The file "%s" does not contain valid YAML.', $path), 0, $e);
|
||||||
|
} finally {
|
||||||
|
restore_error_handler();
|
||||||
}
|
}
|
||||||
|
|
||||||
$collection = new RouteCollection();
|
$collection = new RouteCollection();
|
||||||
|
@ -114,7 +114,17 @@ class YamlFileLoader extends FileLoader
|
|||||||
$this->yamlParser = new Parser();
|
$this->yamlParser = new Parser();
|
||||||
}
|
}
|
||||||
|
|
||||||
$classes = $this->yamlParser->parse(file_get_contents($this->file), Yaml::PARSE_KEYS_AS_STRINGS);
|
$prevErrorHandler = set_error_handler(function ($level, $message, $script, $line) use (&$prevErrorHandler) {
|
||||||
|
$message = E_USER_DEPRECATED === $level ? preg_replace('/ on line \d+/', ' in "'.$this->file.'"$0', $message) : $message;
|
||||||
|
|
||||||
|
return $prevErrorHandler ? $prevErrorHandler($level, $message, $script, $line) : false;
|
||||||
|
});
|
||||||
|
|
||||||
|
try {
|
||||||
|
$classes = $this->yamlParser->parse(file_get_contents($this->file), Yaml::PARSE_KEYS_AS_STRINGS);
|
||||||
|
} finally {
|
||||||
|
restore_error_handler();
|
||||||
|
}
|
||||||
|
|
||||||
if (empty($classes)) {
|
if (empty($classes)) {
|
||||||
return array();
|
return array();
|
||||||
|
@ -39,10 +39,18 @@ class YamlFileLoader extends FileLoader
|
|||||||
$this->yamlParser = new YamlParser();
|
$this->yamlParser = new YamlParser();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$prevErrorHandler = set_error_handler(function ($level, $message, $script, $line) use ($resource, &$prevErrorHandler) {
|
||||||
|
$message = E_USER_DEPRECATED === $level ? preg_replace('/ on line \d+/', ' in "'.$resource.'"$0', $message) : $message;
|
||||||
|
|
||||||
|
return $prevErrorHandler ? $prevErrorHandler($level, $message, $script, $line) : false;
|
||||||
|
});
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$messages = $this->yamlParser->parse(file_get_contents($resource), Yaml::PARSE_KEYS_AS_STRINGS);
|
$messages = $this->yamlParser->parse(file_get_contents($resource), Yaml::PARSE_KEYS_AS_STRINGS);
|
||||||
} catch (ParseException $e) {
|
} catch (ParseException $e) {
|
||||||
throw new InvalidResourceException(sprintf('Error parsing YAML, invalid file "%s"', $resource), 0, $e);
|
throw new InvalidResourceException(sprintf('Error parsing YAML, invalid file "%s"', $resource), 0, $e);
|
||||||
|
} finally {
|
||||||
|
restore_error_handler();
|
||||||
}
|
}
|
||||||
|
|
||||||
return $messages;
|
return $messages;
|
||||||
|
@ -115,10 +115,18 @@ class YamlFileLoader extends FileLoader
|
|||||||
*/
|
*/
|
||||||
private function parseFile($path)
|
private function parseFile($path)
|
||||||
{
|
{
|
||||||
|
$prevErrorHandler = set_error_handler(function ($level, $message, $script, $line) use ($path, &$prevErrorHandler) {
|
||||||
|
$message = E_USER_DEPRECATED === $level ? preg_replace('/ on line \d+/', ' in "'.$path.'"$0', $message) : $message;
|
||||||
|
|
||||||
|
return $prevErrorHandler ? $prevErrorHandler($level, $message, $script, $line) : false;
|
||||||
|
});
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$classes = $this->yamlParser->parse(file_get_contents($path), Yaml::PARSE_KEYS_AS_STRINGS);
|
$classes = $this->yamlParser->parse(file_get_contents($path), Yaml::PARSE_KEYS_AS_STRINGS);
|
||||||
} catch (ParseException $e) {
|
} catch (ParseException $e) {
|
||||||
throw new \InvalidArgumentException(sprintf('The file "%s" does not contain valid YAML.', $path), 0, $e);
|
throw new \InvalidArgumentException(sprintf('The file "%s" does not contain valid YAML.', $path), 0, $e);
|
||||||
|
} finally {
|
||||||
|
restore_error_handler();
|
||||||
}
|
}
|
||||||
|
|
||||||
// empty file
|
// empty file
|
||||||
|
@ -335,7 +335,7 @@ class Inline
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($output && '%' === $output[0]) {
|
if ($output && '%' === $output[0]) {
|
||||||
@trigger_error(sprintf('Not quoting the scalar "%s" starting with the "%%" indicator character is deprecated since Symfony 3.1 and will throw a ParseException in 4.0.', $output), E_USER_DEPRECATED);
|
@trigger_error(sprintf('Not quoting the scalar "%s" starting with the "%%" indicator character is deprecated since Symfony 3.1 and will throw a ParseException in 4.0 on line %d.', $output, self::$parsedLineNumber + 1), E_USER_DEPRECATED);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($evaluate) {
|
if ($evaluate) {
|
||||||
@ -487,19 +487,19 @@ class Inline
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (':' === $key) {
|
if (':' === $key) {
|
||||||
@trigger_error('Omitting the key of a mapping is deprecated and will throw a ParseException in 4.0.', E_USER_DEPRECATED);
|
@trigger_error(sprintf('Omitting the key of a mapping is deprecated and will throw a ParseException in 4.0 on line %d.', self::$parsedLineNumber + 1), E_USER_DEPRECATED);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(Yaml::PARSE_KEYS_AS_STRINGS & $flags)) {
|
if (!(Yaml::PARSE_KEYS_AS_STRINGS & $flags)) {
|
||||||
$evaluatedKey = self::evaluateScalar($key, $flags, $references);
|
$evaluatedKey = self::evaluateScalar($key, $flags, $references);
|
||||||
|
|
||||||
if ('' !== $key && $evaluatedKey !== $key && !is_string($evaluatedKey) && !is_int($evaluatedKey)) {
|
if ('' !== $key && $evaluatedKey !== $key && !is_string($evaluatedKey) && !is_int($evaluatedKey)) {
|
||||||
@trigger_error('Implicit casting of incompatible mapping keys to strings is deprecated since version 3.3 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0. Quote your evaluable mapping keys instead.', E_USER_DEPRECATED);
|
@trigger_error(sprintf('Implicit casting of incompatible mapping keys to strings is deprecated since version 3.3 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0. Quote your evaluable mapping keys instead on line %d.', self::$parsedLineNumber + 1), E_USER_DEPRECATED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (':' !== $key && !$isKeyQuoted && (!isset($mapping[$i + 1]) || !in_array($mapping[$i + 1], array(' ', ',', '[', ']', '{', '}'), true))) {
|
if (':' !== $key && !$isKeyQuoted && (!isset($mapping[$i + 1]) || !in_array($mapping[$i + 1], array(' ', ',', '[', ']', '{', '}'), true))) {
|
||||||
@trigger_error('Using a colon after an unquoted mapping key that is not followed by an indication character (i.e. " ", ",", "[", "]", "{", "}") is deprecated since version 3.2 and will throw a ParseException in 4.0.', E_USER_DEPRECATED);
|
@trigger_error(sprintf('Using a colon after an unquoted mapping key that is not followed by an indication character (i.e. " ", ",", "[", "]", "{", "}") is deprecated since version 3.2 and will throw a ParseException in 4.0 on line %d.', self::$parsedLineNumber + 1), E_USER_DEPRECATED);
|
||||||
}
|
}
|
||||||
|
|
||||||
while ($i < $len) {
|
while ($i < $len) {
|
||||||
@ -519,7 +519,7 @@ class Inline
|
|||||||
// Parser cannot abort this mapping earlier, since lines
|
// Parser cannot abort this mapping earlier, since lines
|
||||||
// are processed sequentially.
|
// are processed sequentially.
|
||||||
if (isset($output[$key])) {
|
if (isset($output[$key])) {
|
||||||
@trigger_error(sprintf('Duplicate key "%s" detected whilst parsing YAML. Silent handling of duplicate mapping keys in YAML is deprecated since version 3.2 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0.', $key), E_USER_DEPRECATED);
|
@trigger_error(sprintf('Duplicate key "%s" detected whilst parsing YAML. Silent handling of duplicate mapping keys in YAML is deprecated since version 3.2 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0 on line %d.', $key, self::$parsedLineNumber + 1), E_USER_DEPRECATED);
|
||||||
$duplicate = true;
|
$duplicate = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -530,7 +530,7 @@ class Inline
|
|||||||
// Parser cannot abort this mapping earlier, since lines
|
// Parser cannot abort this mapping earlier, since lines
|
||||||
// are processed sequentially.
|
// are processed sequentially.
|
||||||
if (isset($output[$key])) {
|
if (isset($output[$key])) {
|
||||||
@trigger_error(sprintf('Duplicate key "%s" detected whilst parsing YAML. Silent handling of duplicate mapping keys in YAML is deprecated since version 3.2 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0.', $key), E_USER_DEPRECATED);
|
@trigger_error(sprintf('Duplicate key "%s" detected whilst parsing YAML. Silent handling of duplicate mapping keys in YAML is deprecated since version 3.2 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0 on line %d.', $key, self::$parsedLineNumber + 1), E_USER_DEPRECATED);
|
||||||
$duplicate = true;
|
$duplicate = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -540,7 +540,7 @@ class Inline
|
|||||||
// Parser cannot abort this mapping earlier, since lines
|
// Parser cannot abort this mapping earlier, since lines
|
||||||
// are processed sequentially.
|
// are processed sequentially.
|
||||||
if (isset($output[$key])) {
|
if (isset($output[$key])) {
|
||||||
@trigger_error(sprintf('Duplicate key "%s" detected whilst parsing YAML. Silent handling of duplicate mapping keys in YAML is deprecated since version 3.2 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0.', $key), E_USER_DEPRECATED);
|
@trigger_error(sprintf('Duplicate key "%s" detected whilst parsing YAML. Silent handling of duplicate mapping keys in YAML is deprecated since version 3.2 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0 on line %d.', $key, self::$parsedLineNumber + 1), E_USER_DEPRECATED);
|
||||||
$duplicate = true;
|
$duplicate = true;
|
||||||
}
|
}
|
||||||
--$i;
|
--$i;
|
||||||
@ -624,7 +624,7 @@ class Inline
|
|||||||
return;
|
return;
|
||||||
case 0 === strpos($scalar, '!!php/object:'):
|
case 0 === strpos($scalar, '!!php/object:'):
|
||||||
if (self::$objectSupport) {
|
if (self::$objectSupport) {
|
||||||
@trigger_error('The !!php/object tag to indicate dumped PHP objects is deprecated since version 3.1 and will be removed in 4.0. Use the !php/object tag instead.', E_USER_DEPRECATED);
|
@trigger_error(sprintf('The !!php/object tag to indicate dumped PHP objects is deprecated since version 3.1 and will be removed in 4.0. Use the !php/object tag instead on line %d.', self::$parsedLineNumber + 1), E_USER_DEPRECATED);
|
||||||
|
|
||||||
return unserialize(substr($scalar, 13));
|
return unserialize(substr($scalar, 13));
|
||||||
}
|
}
|
||||||
@ -652,7 +652,7 @@ class Inline
|
|||||||
case 0 === strpos($scalar, '!!binary '):
|
case 0 === strpos($scalar, '!!binary '):
|
||||||
return self::evaluateBinaryScalar(substr($scalar, 9));
|
return self::evaluateBinaryScalar(substr($scalar, 9));
|
||||||
default:
|
default:
|
||||||
@trigger_error(sprintf('Using the unquoted scalar value "%s" is deprecated since version 3.3 and will be considered as a tagged value in 4.0. You must quote it.', $scalar), E_USER_DEPRECATED);
|
@trigger_error(sprintf('Using the unquoted scalar value "%s" is deprecated since version 3.3 and will be considered as a tagged value in 4.0. You must quote it on line %d.', $scalar, self::$parsedLineNumber + 1), E_USER_DEPRECATED);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Optimize for returning strings.
|
// Optimize for returning strings.
|
||||||
@ -686,7 +686,7 @@ class Inline
|
|||||||
case Parser::preg_match('/^(-|\+)?[0-9][0-9,]*(\.[0-9_]+)?$/', $scalar):
|
case Parser::preg_match('/^(-|\+)?[0-9][0-9,]*(\.[0-9_]+)?$/', $scalar):
|
||||||
case Parser::preg_match('/^(-|\+)?[0-9][0-9_]*(\.[0-9_]+)?$/', $scalar):
|
case Parser::preg_match('/^(-|\+)?[0-9][0-9_]*(\.[0-9_]+)?$/', $scalar):
|
||||||
if (false !== strpos($scalar, ',')) {
|
if (false !== strpos($scalar, ',')) {
|
||||||
@trigger_error('Using the comma as a group separator for floats is deprecated since version 3.2 and will be removed in 4.0.', E_USER_DEPRECATED);
|
@trigger_error(sprintf('Using the comma as a group separator for floats is deprecated since version 3.2 and will be removed in 4.0 on line %d.', self::$parsedLineNumber + 1), E_USER_DEPRECATED);
|
||||||
}
|
}
|
||||||
|
|
||||||
return (float) str_replace(array(',', '_'), '', $scalar);
|
return (float) str_replace(array(',', '_'), '', $scalar);
|
||||||
|
@ -178,7 +178,7 @@ class Parser
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (isset($values['value'][1]) && '?' === $values['value'][0] && ' ' === $values['value'][1]) {
|
if (isset($values['value'][1]) && '?' === $values['value'][0] && ' ' === $values['value'][1]) {
|
||||||
@trigger_error('Starting an unquoted string with a question mark followed by a space is deprecated since version 3.3 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0.', E_USER_DEPRECATED);
|
@trigger_error(sprintf('Starting an unquoted string with a question mark followed by a space is deprecated since version 3.3 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0 on line %d.', $this->getRealCurrentLineNb() + 1), E_USER_DEPRECATED);
|
||||||
}
|
}
|
||||||
|
|
||||||
// array
|
// array
|
||||||
@ -238,7 +238,7 @@ class Parser
|
|||||||
|
|
||||||
if (!(Yaml::PARSE_KEYS_AS_STRINGS & $flags) && !is_string($key) && !is_int($key)) {
|
if (!(Yaml::PARSE_KEYS_AS_STRINGS & $flags) && !is_string($key) && !is_int($key)) {
|
||||||
$keyType = is_numeric($key) ? 'numeric key' : 'non-string key';
|
$keyType = is_numeric($key) ? 'numeric key' : 'non-string key';
|
||||||
@trigger_error(sprintf('Implicit casting of %s to string is deprecated since version 3.3 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0. Quote your evaluable mapping keys instead.', $keyType), E_USER_DEPRECATED);
|
@trigger_error(sprintf('Implicit casting of %s to string is deprecated since version 3.3 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0. Quote your evaluable mapping keys instead on line %d.', $keyType, $this->getRealCurrentLineNb() + 1), E_USER_DEPRECATED);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert float keys to strings, to avoid being converted to integers by PHP
|
// Convert float keys to strings, to avoid being converted to integers by PHP
|
||||||
@ -324,7 +324,7 @@ class Parser
|
|||||||
$data[$key] = null;
|
$data[$key] = null;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@trigger_error(sprintf('Duplicate key "%s" detected whilst parsing YAML. Silent handling of duplicate mapping keys in YAML is deprecated since version 3.2 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0.', $key), E_USER_DEPRECATED);
|
@trigger_error(sprintf('Duplicate key "%s" detected whilst parsing YAML. Silent handling of duplicate mapping keys in YAML is deprecated since version 3.2 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0 on line %d.', $key, $this->getRealCurrentLineNb() + 1), E_USER_DEPRECATED);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// remember the parsed line number here in case we need it to provide some contexts in error messages below
|
// remember the parsed line number here in case we need it to provide some contexts in error messages below
|
||||||
@ -339,7 +339,7 @@ class Parser
|
|||||||
$data[$key] = $value;
|
$data[$key] = $value;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@trigger_error(sprintf('Duplicate key "%s" detected whilst parsing YAML. Silent handling of duplicate mapping keys in YAML is deprecated since version 3.2 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0.', $key), E_USER_DEPRECATED);
|
@trigger_error(sprintf('Duplicate key "%s" detected whilst parsing YAML. Silent handling of duplicate mapping keys in YAML is deprecated since version 3.2 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0 on line %d.', $key, $realCurrentLineNbKey + 1), E_USER_DEPRECATED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -349,7 +349,7 @@ class Parser
|
|||||||
if ($allowOverwrite || !isset($data[$key])) {
|
if ($allowOverwrite || !isset($data[$key])) {
|
||||||
$data[$key] = $value;
|
$data[$key] = $value;
|
||||||
} else {
|
} else {
|
||||||
@trigger_error(sprintf('Duplicate key "%s" detected whilst parsing YAML. Silent handling of duplicate mapping keys in YAML is deprecated since version 3.2 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0.', $key), E_USER_DEPRECATED);
|
@trigger_error(sprintf('Duplicate key "%s" detected whilst parsing YAML. Silent handling of duplicate mapping keys in YAML is deprecated since version 3.2 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0 on line %d.', $key, $this->getRealCurrentLineNb() + 1), E_USER_DEPRECATED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($isRef) {
|
if ($isRef) {
|
||||||
@ -362,7 +362,7 @@ class Parser
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (isset($this->currentLine[1]) && '?' === $this->currentLine[0] && ' ' === $this->currentLine[1]) {
|
if (isset($this->currentLine[1]) && '?' === $this->currentLine[0] && ' ' === $this->currentLine[1]) {
|
||||||
@trigger_error('Starting an unquoted string with a question mark followed by a space is deprecated since version 3.3 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0.', E_USER_DEPRECATED);
|
@trigger_error(sprintf('Starting an unquoted string with a question mark followed by a space is deprecated since version 3.3 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0 on line %d.', $this->getRealCurrentLineNb() + 1), E_USER_DEPRECATED);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 1-liner optionally followed by newline(s)
|
// 1-liner optionally followed by newline(s)
|
||||||
@ -675,7 +675,7 @@ class Parser
|
|||||||
if ('!!binary' === $matches['tag']) {
|
if ('!!binary' === $matches['tag']) {
|
||||||
return Inline::evaluateBinaryScalar($data);
|
return Inline::evaluateBinaryScalar($data);
|
||||||
} elseif ('!' !== $matches['tag']) {
|
} elseif ('!' !== $matches['tag']) {
|
||||||
@trigger_error(sprintf('Using the custom tag "%s" for the value "%s" is deprecated since version 3.3. It will be replaced by an instance of %s in 4.0.', $matches['tag'], $data, TaggedValue::class), E_USER_DEPRECATED);
|
@trigger_error(sprintf('Using the custom tag "%s" for the value "%s" is deprecated since version 3.3. It will be replaced by an instance of %s in 4.0 on line %d.', $matches['tag'], $data, TaggedValue::class, $this->getRealCurrentLineNb() + 1), E_USER_DEPRECATED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -168,7 +168,7 @@ class InlineTest extends TestCase
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @group legacy
|
* @group legacy
|
||||||
* @expectedDeprecation Using a colon after an unquoted mapping key that is not followed by an indication character (i.e. " ", ",", "[", "]", "{", "}") is deprecated since version 3.2 and will throw a ParseException in 4.0.
|
* @expectedDeprecation Using a colon after an unquoted mapping key that is not followed by an indication character (i.e. " ", ",", "[", "]", "{", "}") is deprecated since version 3.2 and will throw a ParseException in 4.0 on line 1.
|
||||||
* throws \Symfony\Component\Yaml\Exception\ParseException in 4.0
|
* throws \Symfony\Component\Yaml\Exception\ParseException in 4.0
|
||||||
*/
|
*/
|
||||||
public function testParseMappingKeyWithColonNotFollowedBySpace()
|
public function testParseMappingKeyWithColonNotFollowedBySpace()
|
||||||
@ -304,7 +304,7 @@ class InlineTest extends TestCase
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @group legacy
|
* @group legacy
|
||||||
* @expectedDeprecation Not quoting the scalar "%bar " starting with the "%" indicator character is deprecated since Symfony 3.1 and will throw a ParseException in 4.0.
|
* @expectedDeprecation Not quoting the scalar "%bar " starting with the "%" indicator character is deprecated since Symfony 3.1 and will throw a ParseException in 4.0 on line 1.
|
||||||
* throws \Symfony\Component\Yaml\Exception\ParseException in 4.0
|
* throws \Symfony\Component\Yaml\Exception\ParseException in 4.0
|
||||||
*/
|
*/
|
||||||
public function testParseUnquotedScalarStartingWithPercentCharacter()
|
public function testParseUnquotedScalarStartingWithPercentCharacter()
|
||||||
@ -700,7 +700,7 @@ class InlineTest extends TestCase
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @group legacy
|
* @group legacy
|
||||||
* @expectedDeprecation Omitting the key of a mapping is deprecated and will throw a ParseException in 4.0.
|
* @expectedDeprecation Omitting the key of a mapping is deprecated and will throw a ParseException in 4.0 on line 1.
|
||||||
*/
|
*/
|
||||||
public function testOmittedMappingKeyIsParsedAsColon()
|
public function testOmittedMappingKeyIsParsedAsColon()
|
||||||
{
|
{
|
||||||
@ -730,7 +730,7 @@ class InlineTest extends TestCase
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @group legacy
|
* @group legacy
|
||||||
* @expectedDeprecation Implicit casting of incompatible mapping keys to strings is deprecated since version 3.3 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0. Quote your evaluable mapping keys instead.
|
* @expectedDeprecation Implicit casting of incompatible mapping keys to strings is deprecated since version 3.3 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0. Quote your evaluable mapping keys instead on line 1.
|
||||||
* @dataProvider getNotPhpCompatibleMappingKeyData
|
* @dataProvider getNotPhpCompatibleMappingKeyData
|
||||||
*/
|
*/
|
||||||
public function testImplicitStringCastingOfMappingKeysIsDeprecated($yaml, $expected)
|
public function testImplicitStringCastingOfMappingKeysIsDeprecated($yaml, $expected)
|
||||||
|
@ -61,7 +61,7 @@ class ParserTest extends TestCase
|
|||||||
restore_error_handler();
|
restore_error_handler();
|
||||||
|
|
||||||
$this->assertCount(1, $deprecations);
|
$this->assertCount(1, $deprecations);
|
||||||
$this->assertContains('Using the comma as a group separator for floats is deprecated since version 3.2 and will be removed in 4.0.', $deprecations[0]);
|
$this->assertContains('Using the comma as a group separator for floats is deprecated since version 3.2 and will be removed in 4.0 on line 1.', $deprecations[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -853,7 +853,7 @@ EOD;
|
|||||||
/**
|
/**
|
||||||
* @group legacy
|
* @group legacy
|
||||||
* @dataProvider getParseExceptionOnDuplicateData
|
* @dataProvider getParseExceptionOnDuplicateData
|
||||||
* @expectedDeprecation Duplicate key "%s" detected whilst parsing YAML. Silent handling of duplicate mapping keys in YAML is deprecated %s.
|
* @expectedDeprecation Duplicate key "%s" detected whilst parsing YAML. Silent handling of duplicate mapping keys in YAML is deprecated %s and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0 on line %d.
|
||||||
* throws \Symfony\Component\Yaml\Exception\ParseException in 4.0
|
* throws \Symfony\Component\Yaml\Exception\ParseException in 4.0
|
||||||
*/
|
*/
|
||||||
public function testParseExceptionOnDuplicate($input, $duplicateKey, $lineNumber)
|
public function testParseExceptionOnDuplicate($input, $duplicateKey, $lineNumber)
|
||||||
@ -1081,7 +1081,7 @@ EOF;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @group legacy
|
* @group legacy
|
||||||
* @expectedDeprecation Implicit casting of numeric key to string is deprecated since version 3.3 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0. Quote your evaluable mapping keys instead.
|
* @expectedDeprecation Implicit casting of numeric key to string is deprecated since version 3.3 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0. Quote your evaluable mapping keys instead on line 2.
|
||||||
*/
|
*/
|
||||||
public function testFloatKeys()
|
public function testFloatKeys()
|
||||||
{
|
{
|
||||||
@ -1103,7 +1103,7 @@ EOF;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @group legacy
|
* @group legacy
|
||||||
* @expectedDeprecation Implicit casting of non-string key to string is deprecated since version 3.3 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0. Quote your evaluable mapping keys instead.
|
* @expectedDeprecation Implicit casting of non-string key to string is deprecated since version 3.3 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0. Quote your evaluable mapping keys instead on line 1.
|
||||||
*/
|
*/
|
||||||
public function testBooleanKeys()
|
public function testBooleanKeys()
|
||||||
{
|
{
|
||||||
@ -1682,7 +1682,7 @@ YAML
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @group legacy
|
* @group legacy
|
||||||
* @expectedDeprecation Using the unquoted scalar value "!iterator foo" is deprecated since version 3.3 and will be considered as a tagged value in 4.0. You must quote it.
|
* @expectedDeprecation Using the unquoted scalar value "!iterator foo" is deprecated since version 3.3 and will be considered as a tagged value in 4.0. You must quote it on line 1.
|
||||||
*/
|
*/
|
||||||
public function testUnsupportedTagWithScalar()
|
public function testUnsupportedTagWithScalar()
|
||||||
{
|
{
|
||||||
@ -1700,7 +1700,7 @@ YAML
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @group legacy
|
* @group legacy
|
||||||
* @expectedDeprecation Starting an unquoted string with a question mark followed by a space is deprecated since version 3.3 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0.
|
* @expectedDeprecation Starting an unquoted string with a question mark followed by a space is deprecated since version 3.3 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0 on line 1.
|
||||||
*/
|
*/
|
||||||
public function testComplexMappingThrowsParseException()
|
public function testComplexMappingThrowsParseException()
|
||||||
{
|
{
|
||||||
@ -1715,7 +1715,7 @@ YAML;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @group legacy
|
* @group legacy
|
||||||
* @expectedDeprecation Starting an unquoted string with a question mark followed by a space is deprecated since version 3.3 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0.
|
* @expectedDeprecation Starting an unquoted string with a question mark followed by a space is deprecated since version 3.3 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0 on line 2.
|
||||||
*/
|
*/
|
||||||
public function testComplexMappingNestedInMappingThrowsParseException()
|
public function testComplexMappingNestedInMappingThrowsParseException()
|
||||||
{
|
{
|
||||||
@ -1731,7 +1731,7 @@ YAML;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @group legacy
|
* @group legacy
|
||||||
* @expectedDeprecation Starting an unquoted string with a question mark followed by a space is deprecated since version 3.3 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0.
|
* @expectedDeprecation Starting an unquoted string with a question mark followed by a space is deprecated since version 3.3 and will throw \Symfony\Component\Yaml\Exception\ParseException in 4.0 on line 1.
|
||||||
*/
|
*/
|
||||||
public function testComplexMappingNestedInSequenceThrowsParseException()
|
public function testComplexMappingNestedInSequenceThrowsParseException()
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user