Skip to content

Commit 6aa6b92

Browse files
author
symfonyaml
committed
Use getParser() method to try to remove Psalm issue : UndefinedVariable: Cannot find referenced variable $prevErrorHandler
1 parent 6d7b762 commit 6aa6b92

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/Symfony/Component/Validator/Constraints/YamlValidator.php

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,18 +39,17 @@ public function validate(mixed $value, Constraint $constraint): void
3939

4040
$value = (string) $value;
4141

42-
$parser = new Parser();
4342
/** @see \Symfony\Component\Yaml\Command\LintCommand::validate() */
44-
$prevErrorHandler = set_error_handler(function ($level, $message, $file, $line) use ($parser, &$prevErrorHandler) {
43+
$prevErrorHandler = set_error_handler(function ($level, $message, $file, $line) use (&$prevErrorHandler) {
4544
if (\E_USER_DEPRECATED === $level) {
46-
throw new ParseException($message, $parser->getRealCurrentLineNb() + 1);
45+
throw new ParseException($message, $this->getParser()->getRealCurrentLineNb() + 1);
4746
}
4847

4948
return $prevErrorHandler ? $prevErrorHandler($level, $message, $file, $line) : false;
5049
});
5150

5251
try {
53-
$parser->parse($value, $constraint->flags);
52+
$this->getParser()->parse($value, $constraint->flags);
5453
} catch (ParseException $e) {
5554
$this->context->buildViolation($constraint->message)
5655
->setParameter('{{ error }}', $e->getMessage())
@@ -61,4 +60,9 @@ public function validate(mixed $value, Constraint $constraint): void
6160
restore_error_handler();
6261
}
6362
}
63+
64+
private function getParser(): Parser
65+
{
66+
return new Parser();
67+
}
6468
}

0 commit comments

Comments
 (0)