diff --git a/conf/bleedingEdge.neon b/conf/bleedingEdge.neon index c48f5cf179..d31bfe3029 100644 --- a/conf/bleedingEdge.neon +++ b/conf/bleedingEdge.neon @@ -22,3 +22,4 @@ parameters: listType: true missingMagicSerializationRule: true nullContextForVoidReturningFunctions: true + unescapeStrings: true diff --git a/conf/config.neon b/conf/config.neon index b0676c34a7..5b2e00f632 100644 --- a/conf/config.neon +++ b/conf/config.neon @@ -52,6 +52,7 @@ parameters: listType: false missingMagicSerializationRule: false nullContextForVoidReturningFunctions: false + unescapeStrings: false fileExtensions: - php checkAdvancedIsset: false @@ -263,6 +264,7 @@ parametersSchema: listType: bool() missingMagicSerializationRule: bool() nullContextForVoidReturningFunctions: bool() + unescapeStrings: bool() ]) fileExtensions: listOf(string()) checkAdvancedIsset: bool() @@ -507,6 +509,8 @@ services: - class: PHPStan\PhpDocParser\Parser\ConstExprParser + arguments: + unescapeStrings: %featureToggles.unescapeStrings% - class: PHPStan\PhpDocParser\Parser\PhpDocParser diff --git a/src/DependencyInjection/ValidateIgnoredErrorsExtension.php b/src/DependencyInjection/ValidateIgnoredErrorsExtension.php index 756d1a7bd2..18779e8b51 100644 --- a/src/DependencyInjection/ValidateIgnoredErrorsExtension.php +++ b/src/DependencyInjection/ValidateIgnoredErrorsExtension.php @@ -63,7 +63,7 @@ public function loadConfiguration(): void $parser, new TypeStringResolver( new Lexer(), - new TypeParser(new ConstExprParser()), + new TypeParser(new ConstExprParser($builder->parameters['featureToggles']['unescapeStrings'])), new TypeNodeResolver( new DirectTypeNodeResolverExtensionRegistryProvider( new class implements TypeNodeResolverExtensionRegistry {