From e176c09d0057a0605a57c09eb1fa3f09f5880214 Mon Sep 17 00:00:00 2001 From: Guilhem N Date: Tue, 10 Jan 2017 18:32:05 +0100 Subject: [PATCH 1/2] [Yaml] Remove internal arguments from the api --- UPGRADE-3.3.md | 7 +++++++ UPGRADE-4.0.md | 3 +++ src/Symfony/Component/Yaml/Parser.php | 27 ++++++++++++++++----------- 3 files changed, 26 insertions(+), 11 deletions(-) diff --git a/UPGRADE-3.3.md b/UPGRADE-3.3.md index f5c2d756a0eac..9cab8f6db531b 100644 --- a/UPGRADE-3.3.md +++ b/UPGRADE-3.3.md @@ -65,3 +65,10 @@ Workflow * Deprecated class name support in `WorkflowRegistry::add()` as second parameter. Wrap the class name in an instance of ClassInstanceSupportStrategy instead. + +Yaml +---- + + * The constructor arguments `$offset`, `$totalNumberOfLines` and + `$skippedLineNumbers` of the `Parser` class are deprecated and will be + removed in 4.0 diff --git a/UPGRADE-4.0.md b/UPGRADE-4.0.md index 8047e7ae3c06a..8aa3e17ba754e 100644 --- a/UPGRADE-4.0.md +++ b/UPGRADE-4.0.md @@ -391,6 +391,9 @@ Yaml * Duplicate mapping keys lead to a `ParseException`. + * The constructor arguments `$offset`, `$totalNumberOfLines` and + `$skippedLineNumbers` of the `Parser` class were removed. + Ldap ---- diff --git a/src/Symfony/Component/Yaml/Parser.php b/src/Symfony/Component/Yaml/Parser.php index 14147a6aeef51..ddf9632c9a23c 100644 --- a/src/Symfony/Component/Yaml/Parser.php +++ b/src/Symfony/Component/Yaml/Parser.php @@ -32,18 +32,19 @@ class Parser private $skippedLineNumbers = array(); private $locallySkippedLineNumbers = array(); - /** - * Constructor. - * - * @param int $offset The offset of YAML document (used for line numbers in error messages) - * @param int|null $totalNumberOfLines The overall number of lines being parsed - * @param int[] $skippedLineNumbers Number of comment lines that have been skipped by the parser - */ public function __construct($offset = 0, $totalNumberOfLines = null, array $skippedLineNumbers = array()) { - $this->offset = $offset; - $this->totalNumberOfLines = $totalNumberOfLines; - $this->skippedLineNumbers = $skippedLineNumbers; + if (func_num_args() > 0) { + @trigger_error(sprintf('The constructor arguments $offset, $totalNumberOfLines, $skippedLineNumbers of %s are deprecated and will be removed in 4.0', self::class), E_USER_DEPRECATED); + + $this->offset = func_get_arg(0); + if (func_num_args() > 1) { + $this->totalNumberOfLines = func_get_arg(1); + } + if (func_num_args() > 2) { + $this->skippedLineNumbers = func_get_arg(2); + } + } } /** @@ -384,7 +385,11 @@ private function parseBlock($offset, $yaml, $flags) $skippedLineNumbers[] = $lineNumber; } - $parser = new self($offset, $this->totalNumberOfLines, $skippedLineNumbers); + $parser = new self(); + $parser->offset = $offset; + $parser->totalNumberOfLines = $this->totalNumberOfLines; + $parser->skippedLineNumbers = $skippedLineNumbers; + $parser->refs = &$this->refs; return $parser->parse($yaml, $flags); From 1a4626dc5467aab0f0a3c3f186483b2ef7788b73 Mon Sep 17 00:00:00 2001 From: Guilhem N Date: Sat, 21 Jan 2017 08:39:29 +0100 Subject: [PATCH 2/2] Remove constructor arguments --- src/Symfony/Component/Yaml/Parser.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Symfony/Component/Yaml/Parser.php b/src/Symfony/Component/Yaml/Parser.php index ddf9632c9a23c..45359bac2439a 100644 --- a/src/Symfony/Component/Yaml/Parser.php +++ b/src/Symfony/Component/Yaml/Parser.php @@ -32,7 +32,7 @@ class Parser private $skippedLineNumbers = array(); private $locallySkippedLineNumbers = array(); - public function __construct($offset = 0, $totalNumberOfLines = null, array $skippedLineNumbers = array()) + public function __construct() { if (func_num_args() > 0) { @trigger_error(sprintf('The constructor arguments $offset, $totalNumberOfLines, $skippedLineNumbers of %s are deprecated and will be removed in 4.0', self::class), E_USER_DEPRECATED);