@@ -39,18 +39,17 @@ public function validate(mixed $value, Constraint $constraint): void
39
39
40
40
$ value = (string ) $ value ;
41
41
42
- $ parser = new Parser ();
43
42
/** @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 ) {
45
44
if (\E_USER_DEPRECATED === $ level ) {
46
- throw new ParseException ($ message , $ parser ->getRealCurrentLineNb () + 1 );
45
+ throw new ParseException ($ message , $ this -> getParser () ->getRealCurrentLineNb () + 1 );
47
46
}
48
47
49
48
return $ prevErrorHandler ? $ prevErrorHandler ($ level , $ message , $ file , $ line ) : false ;
50
49
});
51
50
52
51
try {
53
- $ parser ->parse ($ value , $ constraint ->flags );
52
+ $ this -> getParser () ->parse ($ value , $ constraint ->flags );
54
53
} catch (ParseException $ e ) {
55
54
$ this ->context ->buildViolation ($ constraint ->message )
56
55
->setParameter ('{{ error }} ' , $ e ->getMessage ())
@@ -61,4 +60,9 @@ public function validate(mixed $value, Constraint $constraint): void
61
60
restore_error_handler ();
62
61
}
63
62
}
63
+
64
+ private function getParser (): Parser
65
+ {
66
+ return new Parser ();
67
+ }
64
68
}
0 commit comments