Updated Rector to commit 3e80d2a454

3e80d2a454 [DeadCode] Handle fluent call with concat in RemoveUnusedPrivatePropertyRector (#73)
This commit is contained in:
Tomas Votruba 2021-05-19 16:21:49 +00:00
parent feba977d4e
commit f6065d6cbd
424 changed files with 33696 additions and 22 deletions

View File

@ -16,11 +16,11 @@ final class VersionResolver
/**
* @var string
*/
public const PACKAGE_VERSION = '"a1b963fcfa8c32f1447bbaafbf328497d4cb7917"';
public const PACKAGE_VERSION = '"3e80d2a454421ed4a498200694fca532ee46cfcd"';
/**
* @var string
*/
public const RELEASE_DATE = '2021-05-19 14:27:48';
public const RELEASE_DATE = '2021-05-19 16:23:56';
public static function resolvePackageVersion() : string
{
$process = new \RectorPrefix20210519\Symfony\Component\Process\Process(['git', 'log', '--pretty="%H"', '-n1', 'HEAD'], __DIR__);

2
vendor/autoload.php vendored
View File

@ -4,4 +4,4 @@
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInitda5ea7f98f0e497201928a63cf7cb800::getLoader();
return ComposerAutoloaderInit0cd9784b5ef4a6016015d565dfa25f6c::getLoader();

File diff suppressed because one or more lines are too long

View File

@ -376,6 +376,62 @@ return array(
'RectorPrefix20210519\\Doctrine\\Inflector\\WordInflector' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/WordInflector.php',
'RectorPrefix20210519\\Ergebnis\\Json\\Printer\\Printer' => $vendorDir . '/ergebnis/json-printer/src/Printer.php',
'RectorPrefix20210519\\Ergebnis\\Json\\Printer\\PrinterInterface' => $vendorDir . '/ergebnis/json-printer/src/PrinterInterface.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Builder' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/AST/Builder.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Comment' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/AST/Comment.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\ConditionalStatement' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/AST/ConditionalStatement.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\DirectoryIncludeStatement' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/AST/DirectoryIncludeStatement.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\FileIncludeStatement' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/AST/FileIncludeStatement.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\IncludeStatement' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/AST/IncludeStatement.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\MultilineComment' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/AST/MultilineComment.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\NestedAssignment' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/AST/NestedAssignment.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\NopStatement' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/AST/NopStatement.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\ObjectPath' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/AST/ObjectPath.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Operator\\Assignment' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/AST/Operator/Assignment.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Operator\\BinaryObjectOperator' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/AST/Operator/BinaryObjectOperator.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Operator\\BinaryOperator' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/AST/Operator/BinaryOperator.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Operator\\Builder' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/AST/Operator/Builder.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Operator\\Copy' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/AST/Operator/Copy.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Operator\\Delete' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/AST/Operator/Delete.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Operator\\Modification' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/AST/Operator/Modification.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Operator\\ModificationCall' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/AST/Operator/ModificationCall.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Operator\\ObjectCreation' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/AST/Operator/ObjectCreation.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Operator\\Reference' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/AST/Operator/Reference.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Operator\\UnaryOperator' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/AST/Operator/UnaryOperator.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\RootObjectPath' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/AST/RootObjectPath.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Scalar' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/AST/Scalar.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Statement' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/AST/Statement.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\ParseError' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/ParseError.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\Parser' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/Parser.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\ParserInterface' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/ParserInterface.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\ParserState' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/ParserState.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\Printer\\ASTPrinterInterface' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/Printer/ASTPrinterInterface.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\Printer\\PrettyPrinter' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/Printer/PrettyPrinter.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\Printer\\PrettyPrinterConfiguration' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/Printer/PrettyPrinterConfiguration.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\TokenStream' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/TokenStream.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\Traverser\\AggregatingVisitor' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/Traverser/AggregatingVisitor.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\Traverser\\Traverser' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/Traverser/Traverser.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\Traverser\\Visitor' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Parser/Traverser/Visitor.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\LineGrouper' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Tokenizer/LineGrouper.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\MultilineTokenBuilder' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Tokenizer/MultilineTokenBuilder.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\Preprocessing\\NoOpPreprocessor' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Tokenizer/Preprocessing/NoOpPreprocessor.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\Preprocessing\\Preprocessor' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Tokenizer/Preprocessing/Preprocessor.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\Preprocessing\\ProcessorChain' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Tokenizer/Preprocessing/ProcessorChain.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\Preprocessing\\RemoveTrailingWhitespacePreprocessor' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Tokenizer/Preprocessing/RemoveTrailingWhitespacePreprocessor.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\Preprocessing\\StandardPreprocessor' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Tokenizer/Preprocessing/StandardPreprocessor.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\Preprocessing\\UnifyLineEndingsPreprocessor' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Tokenizer/Preprocessing/UnifyLineEndingsPreprocessor.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\Printer\\CodeTokenPrinter' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Tokenizer/Printer/CodeTokenPrinter.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\Printer\\StructuredTokenPrinter' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Tokenizer/Printer/StructuredTokenPrinter.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\Printer\\TokenPrinterInterface' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Tokenizer/Printer/TokenPrinterInterface.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\Scanner' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Tokenizer/Scanner.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\ScannerLine' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Tokenizer/ScannerLine.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\Token' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Tokenizer/Token.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\TokenInterface' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Tokenizer/TokenInterface.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\TokenStreamBuilder' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Tokenizer/TokenStreamBuilder.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\Tokenizer' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Tokenizer/Tokenizer.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\TokenizerException' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Tokenizer/TokenizerException.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\TokenizerInterface' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Tokenizer/TokenizerInterface.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\UnknownOperatorException' => $vendorDir . '/helmich/typo3-typoscript-parser/src/Tokenizer/UnknownOperatorException.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\TypoScriptParserExtension' => $vendorDir . '/helmich/typo3-typoscript-parser/src/TypoScriptParserExtension.php',
'RectorPrefix20210519\\Idiosyncratic\\EditorConfig\\Declaration\\BooleanDeclaration' => $vendorDir . '/idiosyncratic/editorconfig/src/Declaration/BooleanDeclaration.php',
'RectorPrefix20210519\\Idiosyncratic\\EditorConfig\\Declaration\\Charset' => $vendorDir . '/idiosyncratic/editorconfig/src/Declaration/Charset.php',
'RectorPrefix20210519\\Idiosyncratic\\EditorConfig\\Declaration\\Declaration' => $vendorDir . '/idiosyncratic/editorconfig/src/Declaration/Declaration.php',
@ -1192,6 +1248,16 @@ return array(
'RectorPrefix20210519\\Symfony\\Component\\VarDumper\\Server\\DumpServer' => $vendorDir . '/symfony/var-dumper/Server/DumpServer.php',
'RectorPrefix20210519\\Symfony\\Component\\VarDumper\\Test\\VarDumperTestTrait' => $vendorDir . '/symfony/var-dumper/Test/VarDumperTestTrait.php',
'RectorPrefix20210519\\Symfony\\Component\\VarDumper\\VarDumper' => $vendorDir . '/symfony/var-dumper/VarDumper.php',
'RectorPrefix20210519\\Symfony\\Component\\VarExporter\\Exception\\ClassNotFoundException' => $vendorDir . '/symfony/var-exporter/Exception/ClassNotFoundException.php',
'RectorPrefix20210519\\Symfony\\Component\\VarExporter\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/var-exporter/Exception/ExceptionInterface.php',
'RectorPrefix20210519\\Symfony\\Component\\VarExporter\\Exception\\NotInstantiableTypeException' => $vendorDir . '/symfony/var-exporter/Exception/NotInstantiableTypeException.php',
'RectorPrefix20210519\\Symfony\\Component\\VarExporter\\Instantiator' => $vendorDir . '/symfony/var-exporter/Instantiator.php',
'RectorPrefix20210519\\Symfony\\Component\\VarExporter\\Internal\\Exporter' => $vendorDir . '/symfony/var-exporter/Internal/Exporter.php',
'RectorPrefix20210519\\Symfony\\Component\\VarExporter\\Internal\\Hydrator' => $vendorDir . '/symfony/var-exporter/Internal/Hydrator.php',
'RectorPrefix20210519\\Symfony\\Component\\VarExporter\\Internal\\Reference' => $vendorDir . '/symfony/var-exporter/Internal/Reference.php',
'RectorPrefix20210519\\Symfony\\Component\\VarExporter\\Internal\\Registry' => $vendorDir . '/symfony/var-exporter/Internal/Registry.php',
'RectorPrefix20210519\\Symfony\\Component\\VarExporter\\Internal\\Values' => $vendorDir . '/symfony/var-exporter/Internal/Values.php',
'RectorPrefix20210519\\Symfony\\Component\\VarExporter\\VarExporter' => $vendorDir . '/symfony/var-exporter/VarExporter.php',
'RectorPrefix20210519\\Symfony\\Component\\Yaml\\Command\\LintCommand' => $vendorDir . '/symfony/yaml/Command/LintCommand.php',
'RectorPrefix20210519\\Symfony\\Component\\Yaml\\Dumper' => $vendorDir . '/symfony/yaml/Dumper.php',
'RectorPrefix20210519\\Symfony\\Component\\Yaml\\Escaper' => $vendorDir . '/symfony/yaml/Escaper.php',
@ -3118,6 +3184,261 @@ return array(
'Rector\\Visibility\\Rector\\Property\\ChangePropertyVisibilityRector' => $baseDir . '/rules/Visibility/Rector/Property/ChangePropertyVisibilityRector.php',
'Rector\\Visibility\\ValueObject\\ChangeConstantVisibility' => $baseDir . '/rules/Visibility/ValueObject/ChangeConstantVisibility.php',
'Rector\\Visibility\\ValueObject\\ChangeMethodVisibility' => $baseDir . '/rules/Visibility/ValueObject/ChangeMethodVisibility.php',
'Ssch\\TYPO3Rector\\Contract\\FlexForms\\Rector\\FlexFormRectorInterface' => $vendorDir . '/ssch/typo3-rector/src/Contract/FlexForms/Rector/FlexFormRectorInterface.php',
'Ssch\\TYPO3Rector\\Contract\\Helper\\Database\\Refactorings\\DatabaseConnectionToDbalRefactoring' => $vendorDir . '/ssch/typo3-rector/src/Contract/Helper/Database/Refactorings/DatabaseConnectionToDbalRefactoring.php',
'Ssch\\TYPO3Rector\\Contract\\Processor\\ConfigurableProcessorInterface' => $vendorDir . '/ssch/typo3-rector/src/Contract/Processor/ConfigurableProcessorInterface.php',
'Ssch\\TYPO3Rector\\Contract\\Resources\\IconRectorInterface' => $vendorDir . '/ssch/typo3-rector/src/Contract/Resources/IconRectorInterface.php',
'Ssch\\TYPO3Rector\\Contract\\TypoScript\\Conditions\\TyposcriptConditionMatcher' => $vendorDir . '/ssch/typo3-rector/src/Contract/TypoScript/Conditions/TyposcriptConditionMatcher.php',
'Ssch\\TYPO3Rector\\Contract\\TypoScript\\ConvertToPhpFileInterface' => $vendorDir . '/ssch/typo3-rector/src/Contract/TypoScript/ConvertToPhpFileInterface.php',
'Ssch\\TYPO3Rector\\Contract\\Yaml\\Form\\FormYamlRectorInterface' => $vendorDir . '/ssch/typo3-rector/src/Contract/Yaml/Form/FormYamlRectorInterface.php',
'Ssch\\TYPO3Rector\\FlexForms\\FlexFormsProcessor' => $vendorDir . '/ssch/typo3-rector/src/FlexForms/FlexFormsProcessor.php',
'Ssch\\TYPO3Rector\\FlexForms\\Rector\\RenderTypeFlexFormRector' => $vendorDir . '/ssch/typo3-rector/src/FlexForms/Rector/RenderTypeFlexFormRector.php',
'Ssch\\TYPO3Rector\\Helper\\ArrayUtility' => $vendorDir . '/ssch/typo3-rector/src/Helper/ArrayUtility.php',
'Ssch\\TYPO3Rector\\Helper\\Database\\Refactorings\\ConnectionCallFactory' => $vendorDir . '/ssch/typo3-rector/src/Helper/Database/Refactorings/ConnectionCallFactory.php',
'Ssch\\TYPO3Rector\\Helper\\Database\\Refactorings\\DatabaseConnectionExecInsertQueryRefactoring' => $vendorDir . '/ssch/typo3-rector/src/Helper/Database/Refactorings/DatabaseConnectionExecInsertQueryRefactoring.php',
'Ssch\\TYPO3Rector\\Helper\\Database\\Refactorings\\DatabaseConnectionExecTruncateTableRefactoring' => $vendorDir . '/ssch/typo3-rector/src/Helper/Database/Refactorings/DatabaseConnectionExecTruncateTableRefactoring.php',
'Ssch\\TYPO3Rector\\Helper\\FilesFinder' => $vendorDir . '/ssch/typo3-rector/src/Helper/FilesFinder.php',
'Ssch\\TYPO3Rector\\Helper\\OldSeverityToLogLevelMapper' => $vendorDir . '/ssch/typo3-rector/src/Helper/OldSeverityToLogLevelMapper.php',
'Ssch\\TYPO3Rector\\Helper\\StringUtility' => $vendorDir . '/ssch/typo3-rector/src/Helper/StringUtility.php',
'Ssch\\TYPO3Rector\\Helper\\TcaHelperTrait' => $vendorDir . '/ssch/typo3-rector/src/Helper/TcaHelperTrait.php',
'Ssch\\TYPO3Rector\\Helper\\Typo3NodeResolver' => $vendorDir . '/ssch/typo3-rector/src/Helper/Typo3NodeResolver.php',
'Ssch\\TYPO3Rector\\NodeAnalyzer\\ClassConstAnalyzer' => $vendorDir . '/ssch/typo3-rector/src/NodeAnalyzer/ClassConstAnalyzer.php',
'Ssch\\TYPO3Rector\\NodeFactory\\HelperArgumentAssignFactory' => $vendorDir . '/ssch/typo3-rector/src/NodeFactory/HelperArgumentAssignFactory.php',
'Ssch\\TYPO3Rector\\NodeFactory\\InitializeArgumentsClassMethodFactory' => $vendorDir . '/ssch/typo3-rector/src/NodeFactory/InitializeArgumentsClassMethodFactory.php',
'Ssch\\TYPO3Rector\\PHPStan\\Rules\\AddChangelogDocBlockForRectorClass' => $vendorDir . '/ssch/typo3-rector/utils/phpstan/src/Rules/AddChangelogDocBlockForRectorClass.php',
'Ssch\\TYPO3Rector\\PHPStan\\Rules\\AddCodeCoverageIgnoreForRectorDefinition' => $vendorDir . '/ssch/typo3-rector/utils/phpstan/src/Rules/AddCodeCoverageIgnoreForRectorDefinition.php',
'Ssch\\TYPO3Rector\\PHPStan\\Type\\ContextGetAspectDynamicReturnTypeExtension' => $vendorDir . '/ssch/typo3-rector/utils/phpstan/src/Type/ContextGetAspectDynamicReturnTypeExtension.php',
'Ssch\\TYPO3Rector\\PHPStan\\Type\\GeneralUtilityDynamicReturnTypeExtension' => $vendorDir . '/ssch/typo3-rector/utils/phpstan/src/Type/GeneralUtilityDynamicReturnTypeExtension.php',
'Ssch\\TYPO3Rector\\PHPStan\\Type\\ObjectManagerDynamicReturnTypeExtension' => $vendorDir . '/ssch/typo3-rector/utils/phpstan/src/Type/ObjectManagerDynamicReturnTypeExtension.php',
'Ssch\\TYPO3Rector\\PHPStan\\Type\\ValidatorResolverDynamicReturnTypeExtension' => $vendorDir . '/ssch/typo3-rector/utils/phpstan/src/Type/ValidatorResolverDynamicReturnTypeExtension.php',
'Ssch\\TYPO3Rector\\Rector\\Composer\\ExtensionComposerRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/Composer/ExtensionComposerRector.php',
'Ssch\\TYPO3Rector\\Rector\\Composer\\RemoveCmsPackageDirFromExtraComposerRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/Composer/RemoveCmsPackageDirFromExtraComposerRector.php',
'Ssch\\TYPO3Rector\\Rector\\Experimental\\OptionalConstructorToHardRequirementRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/Experimental/OptionalConstructorToHardRequirementRector.php',
'Ssch\\TYPO3Rector\\Rector\\Extensions\\solr\\v8\\SolrConnectionAddDocumentsToWriteServiceAddDocumentsRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/Extensions/solr/v8/SolrConnectionAddDocumentsToWriteServiceAddDocumentsRector.php',
'Ssch\\TYPO3Rector\\Rector\\Extensions\\solr\\v8\\SolrSiteToSolrRepositoryRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/Extensions/solr/v8/SolrSiteToSolrRepositoryRector.php',
'Ssch\\TYPO3Rector\\Rector\\Extensions\\solr\\v9\\ApacheSolrDocumentToSolariumDocumentRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/Extensions/solr/v9/ApacheSolrDocumentToSolariumDocumentRector.php',
'Ssch\\TYPO3Rector\\Rector\\General\\ConvertTypo3ConfVarsRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/General/ConvertTypo3ConfVarsRector.php',
'Ssch\\TYPO3Rector\\Rector\\General\\ExtEmConfRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/General/ExtEmConfRector.php',
'Ssch\\TYPO3Rector\\Rector\\Migrations\\RenameClassMapAliasRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/Migrations/RenameClassMapAliasRector.php',
'Ssch\\TYPO3Rector\\Rector\\Tca\\AbstractTcaRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/Tca/AbstractTcaRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v0\\BackendUtilityGetViewDomainToPageRouterRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v0/BackendUtilityGetViewDomainToPageRouterRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v0\\ChangeDefaultCachingFrameworkNamesRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v0/ChangeDefaultCachingFrameworkNamesRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v0\\ConfigurationManagerAddControllerConfigurationMethodRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v0/ConfigurationManagerAddControllerConfigurationMethodRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v0\\ForceTemplateParsingInTsfeAndTemplateServiceRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v0/ForceTemplateParsingInTsfeAndTemplateServiceRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v0\\RefactorIdnaEncodeMethodToNativeFunctionRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v0/RefactorIdnaEncodeMethodToNativeFunctionRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v0\\RemovePropertyExtensionNameRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v0/RemovePropertyExtensionNameRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v0\\RemoveSeliconFieldPathRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v0/RemoveSeliconFieldPathRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v0\\RemoveTcaOptionSetToDefaultOnCopyRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v0/RemoveTcaOptionSetToDefaultOnCopyRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v0\\SetSystemLocaleFromSiteLanguageRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v0/SetSystemLocaleFromSiteLanguageRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v0\\SwiftMailerBasedMailMessageToMailerBasedMessageRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v0/SwiftMailerBasedMailMessageToMailerBasedMessageRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v0\\UseControllerClassesInExtbasePluginsAndModulesRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v0/UseControllerClassesInExtbasePluginsAndModulesRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v0\\UseMetaDataAspectRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v0/UseMetaDataAspectRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v0\\UseNativePhpHex2binMethodRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v0/UseNativePhpHex2binMethodRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v0\\UseTwoLetterIsoCodeFromSiteLanguageRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v0/UseTwoLetterIsoCodeFromSiteLanguageRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v1\\BackendUtilityEditOnClickRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v1/BackendUtilityEditOnClickRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v1\\RefactorInternalPropertiesOfTSFERector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v1/RefactorInternalPropertiesOfTSFERector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v1\\RegisterPluginWithVendorNameRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v1/RegisterPluginWithVendorNameRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v1\\SendNotifyEmailToMailApiRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v1/SendNotifyEmailToMailApiRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v2\\ExcludeServiceKeysToArrayRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v2/ExcludeServiceKeysToArrayRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v2\\InjectEnvironmentServiceIfNeededInResponseRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v2/InjectEnvironmentServiceIfNeededInResponseRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v2\\MoveApplicationContextToEnvironmentApiRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v2/MoveApplicationContextToEnvironmentApiRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v2\\UseActionControllerRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v2/UseActionControllerRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v2\\UseTypo3InformationForCopyRightNoticeRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v2/UseTypo3InformationForCopyRightNoticeRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v3\\RemoveExcludeOnTransOrigPointerFieldRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v3/RemoveExcludeOnTransOrigPointerFieldRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v3\\RemoveShowRecordFieldListInsideInterfaceSectionRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v3/RemoveShowRecordFieldListInsideInterfaceSectionRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v3\\SubstituteResourceFactoryRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v3/SubstituteResourceFactoryRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v3\\UseClassTypo3InformationRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v3/UseClassTypo3InformationRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v3\\UseClassTypo3VersionRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v3/UseClassTypo3VersionRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v4\\RemoveFormatConstantsEmailFinisherRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v4/RemoveFormatConstantsEmailFinisherRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v4\\SubstituteGeneralUtilityMethodsWithNativePhpFunctionsRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v4/SubstituteGeneralUtilityMethodsWithNativePhpFunctionsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v4\\UnifiedFileNameValidatorRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v4/UnifiedFileNameValidatorRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v4\\UseFileGetContentsForGetUrlRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v10/v4/UseFileGetContentsForGetUrlRector.php',
'Ssch\\TYPO3Rector\\Rector\\v11\\v0\\DateTimeAspectInsteadOfGlobalsExecTimeRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v11/v0/DateTimeAspectInsteadOfGlobalsExecTimeRector.php',
'Ssch\\TYPO3Rector\\Rector\\v11\\v0\\ExtbaseControllerActionsMustReturnResponseInterfaceRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v11/v0/ExtbaseControllerActionsMustReturnResponseInterfaceRector.php',
'Ssch\\TYPO3Rector\\Rector\\v11\\v0\\ForwardResponseInsteadOfForwardMethodRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v11/v0/ForwardResponseInsteadOfForwardMethodRector.php',
'Ssch\\TYPO3Rector\\Rector\\v11\\v0\\GetClickMenuOnIconTagParametersRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v11/v0/GetClickMenuOnIconTagParametersRector.php',
'Ssch\\TYPO3Rector\\Rector\\v11\\v0\\RemoveAddQueryStringMethodRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v11/v0/RemoveAddQueryStringMethodRector.php',
'Ssch\\TYPO3Rector\\Rector\\v11\\v0\\RemoveLanguageModeMethodsFromTypo3QuerySettingsRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v11/v0/RemoveLanguageModeMethodsFromTypo3QuerySettingsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v11\\v0\\SubstituteConstantsModeAndRequestTypeRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v11/v0/SubstituteConstantsModeAndRequestTypeRector.php',
'Ssch\\TYPO3Rector\\Rector\\v11\\v0\\UniqueListFromStringUtilityRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v11/v0/UniqueListFromStringUtilityRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v0\\RemoveDivider2TabsConfigurationRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v7/v0/RemoveDivider2TabsConfigurationRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v0\\RemoveMethodCallConnectDbRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v7/v0/RemoveMethodCallConnectDbRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v0\\RemoveMethodCallLoadTcaRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v7/v0/RemoveMethodCallLoadTcaRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v0\\TypeHandlingServiceToTypeHandlingUtilityRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v7/v0/TypeHandlingServiceToTypeHandlingUtilityRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v1\\GetTemporaryImageWithTextRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v7/v1/GetTemporaryImageWithTextRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v4\\DropAdditionalPaletteRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v7/v4/DropAdditionalPaletteRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v4\\InstantiatePageRendererExplicitlyRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v7/v4/InstantiatePageRendererExplicitlyRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v4\\MethodReadLLFileToLocalizationFactoryRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v7/v4/MethodReadLLFileToLocalizationFactoryRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v4\\MoveLanguageFilesFromRemovedCmsExtensionRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v7/v4/MoveLanguageFilesFromRemovedCmsExtensionRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v5\\RemoveIconsInOptionTagsRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v7/v5/RemoveIconsInOptionTagsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v5\\UseExtPrefixForTcaIconFileRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v7/v5/UseExtPrefixForTcaIconFileRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v6\\AddRenderTypeToSelectFieldRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v7/v6/AddRenderTypeToSelectFieldRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v6\\MigrateT3editorWizardToRenderTypeT3editorRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v7/v6/MigrateT3editorWizardToRenderTypeT3editorRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v6\\RemoveIconOptionForRenderTypeSelectRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v7/v6/RemoveIconOptionForRenderTypeSelectRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v6\\RenamePiListBrowserResultsRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v7/v6/RenamePiListBrowserResultsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v6\\WrapClickMenuOnIconRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v7/v6/WrapClickMenuOnIconRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\ChangeMethodCallsForStandaloneViewRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v0/ChangeMethodCallsForStandaloneViewRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\GetFileAbsFileNameRemoveDeprecatedArgumentsRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v0/GetFileAbsFileNameRemoveDeprecatedArgumentsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\GetPreferredClientLanguageRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v0/GetPreferredClientLanguageRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\PrependAbsolutePathToGetFileAbsFileNameRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v0/PrependAbsolutePathToGetFileAbsFileNameRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\RandomMethodsToRandomClassRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v0/RandomMethodsToRandomClassRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\RefactorRemovedMarkerMethodsFromHtmlParserRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v0/RefactorRemovedMarkerMethodsFromHtmlParserRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\RefactorRemovedMethodsFromContentObjectRendererRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v0/RefactorRemovedMethodsFromContentObjectRendererRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\RefactorRemovedMethodsFromGeneralUtilityRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v0/RefactorRemovedMethodsFromGeneralUtilityRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\RemoveCharsetConverterParametersRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v0/RemoveCharsetConverterParametersRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\RemoveLangCsConvObjAndParserFactoryRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v0/RemoveLangCsConvObjAndParserFactoryRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\RemovePropertyUserAuthenticationRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v0/RemovePropertyUserAuthenticationRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\RemoveRteHtmlParserEvalWriteFileRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v0/RemoveRteHtmlParserEvalWriteFileRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\RemoveWakeupCallFromEntityRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v0/RemoveWakeupCallFromEntityRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\RenderCharsetDefaultsToUtf8Rector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v0/RenderCharsetDefaultsToUtf8Rector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\RequireMethodsToNativeFunctionsRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v0/RequireMethodsToNativeFunctionsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\RteHtmlParserRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v0/RteHtmlParserRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\TimeTrackerGlobalsToSingletonRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v0/TimeTrackerGlobalsToSingletonRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\TimeTrackerInsteadOfNullTimeTrackerRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v0/TimeTrackerInsteadOfNullTimeTrackerRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v1\\Array2XmlCsToArray2XmlRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v1/Array2XmlCsToArray2XmlRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v1\\GeneralUtilityToUpperAndLowerRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v1/GeneralUtilityToUpperAndLowerRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v1\\RefactorDbConstantsRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v1/RefactorDbConstantsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v1\\RefactorVariousGeneralUtilityMethodsRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v1/RefactorVariousGeneralUtilityMethodsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v1\\TypoScriptFrontendControllerCharsetConverterRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v1/TypoScriptFrontendControllerCharsetConverterRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v2\\UseHtmlSpecialCharsDirectlyForTranslationRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v2/UseHtmlSpecialCharsDirectlyForTranslationRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v3\\RefactorMethodFileContentRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v3/RefactorMethodFileContentRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v3\\RefactorQueryViewTableWrapRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v3/RefactorQueryViewTableWrapRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v3\\RemovedTcaSelectTreeOptionsRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v3/RemovedTcaSelectTreeOptionsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v3\\SoftReferencesFunctionalityRemovedRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v3/SoftReferencesFunctionalityRemovedRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v4\\ExtensionManagementUtilityExtRelPathRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v4/ExtensionManagementUtilityExtRelPathRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v4\\RemoveOptionShowIfRteRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v4/RemoveOptionShowIfRteRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v4\\SubstituteOldWizardIconsRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v4/SubstituteOldWizardIconsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v5\\CharsetConverterToMultiByteFunctionsRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v5/CharsetConverterToMultiByteFunctionsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v5\\ContentObjectRendererFileResourceRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v5/ContentObjectRendererFileResourceRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v5\\MoveLanguageFilesFromLocallangToResourcesRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v5/MoveLanguageFilesFromLocallangToResourcesRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v5\\RemoveOptionVersioningFollowPagesRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v5/RemoveOptionVersioningFollowPagesRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v5\\RemoveSupportForTransForeignTableRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v5/RemoveSupportForTransForeignTableRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v6\\AddTypeToColumnConfigRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v6/AddTypeToColumnConfigRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v6\\ArrayUtilityInArrayToFuncInArrayRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v6/ArrayUtilityInArrayToFuncInArrayRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v6\\MigrateLastPiecesOfDefaultExtrasRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v6/MigrateLastPiecesOfDefaultExtrasRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v6\\MigrateOptionsOfTypeGroupRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v6/MigrateOptionsOfTypeGroupRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v6\\MigrateSelectShowIconTableRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v6/MigrateSelectShowIconTableRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v6\\MigrateSpecialConfigurationAndRemoveShowItemStylePointerConfigRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v6/MigrateSpecialConfigurationAndRemoveShowItemStylePointerConfigRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v6\\MoveRequestUpdateOptionFromControlToColumnsRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v6/MoveRequestUpdateOptionFromControlToColumnsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v6\\MoveTypeGroupSuggestWizardToSuggestOptionsRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v6/MoveTypeGroupSuggestWizardToSuggestOptionsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v6\\RefactorTCARector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v6/RefactorTCARector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v6\\RemoveL10nModeNoCopyRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v6/RemoveL10nModeNoCopyRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v6\\RichtextFromDefaultExtrasToEnableRichtextRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v6/RichtextFromDefaultExtrasToEnableRichtextRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v7\\BackendUtilityGetRecordRawRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v7/BackendUtilityGetRecordRawRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v7\\BackendUtilityGetRecordsByFieldToQueryBuilderRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v7/BackendUtilityGetRecordsByFieldToQueryBuilderRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v7\\ChangeAttemptsParameterConsoleOutputRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v7/ChangeAttemptsParameterConsoleOutputRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v7\\DataHandlerRmCommaRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v7/DataHandlerRmCommaRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v7\\DataHandlerVariousMethodsAndMethodArgumentsRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v7/DataHandlerVariousMethodsAndMethodArgumentsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v7\\MoveForeignTypesToOverrideChildTcaRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v7/MoveForeignTypesToOverrideChildTcaRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v7\\RefactorArrayBrowserWrapValueRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v7/RefactorArrayBrowserWrapValueRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v7\\RefactorGraphicalFunctionsTempPathAndCreateTemSubDirRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v7/RefactorGraphicalFunctionsTempPathAndCreateTemSubDirRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v7\\RefactorPrintContentMethodsRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v7/RefactorPrintContentMethodsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v7\\RefactorRemovedMarkerMethodsFromContentObjectRendererRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v7/RefactorRemovedMarkerMethodsFromContentObjectRendererRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v7\\RemoveConfigMaxFromInputDateTimeFieldsRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v7/RemoveConfigMaxFromInputDateTimeFieldsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v7\\RemoveLocalizationModeKeepIfNeededRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v7/RemoveLocalizationModeKeepIfNeededRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v7\\TemplateServiceSplitConfArrayRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v7/TemplateServiceSplitConfArrayRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v7\\UseCachingFrameworkInsteadGetAndStoreHashRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v8/v7/UseCachingFrameworkInsteadGetAndStoreHashRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\CheckForExtensionInfoRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v0/CheckForExtensionInfoRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\CheckForExtensionVersionRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v0/CheckForExtensionVersionRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\DatabaseConnectionToDbalRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v0/DatabaseConnectionToDbalRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\FindByPidsAndAuthorIdRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v0/FindByPidsAndAuthorIdRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\GeneratePageTitleRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v0/GeneratePageTitleRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\IgnoreValidationAnnotationRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v0/IgnoreValidationAnnotationRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\InjectAnnotationRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v0/InjectAnnotationRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\MetaTagManagementRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v0/MetaTagManagementRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\MoveRenderArgumentsToInitializeArgumentsMethodRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v0/MoveRenderArgumentsToInitializeArgumentsMethodRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\RefactorBackendUtilityGetPagesTSconfigRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v0/RefactorBackendUtilityGetPagesTSconfigRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\RefactorDeprecationLogRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v0/RefactorDeprecationLogRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\RefactorMethodsFromExtensionManagementUtilityRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v0/RefactorMethodsFromExtensionManagementUtilityRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\RemoveMethodInitTCARector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v0/RemoveMethodInitTCARector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\RemoveOptionLocalizeChildrenAtParentLocalizationRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v0/RemoveOptionLocalizeChildrenAtParentLocalizationRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\RemovePropertiesFromSimpleDataHandlerControllerRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v0/RemovePropertiesFromSimpleDataHandlerControllerRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\RemoveSecondArgumentGeneralUtilityMkdirDeepRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v0/RemoveSecondArgumentGeneralUtilityMkdirDeepRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\ReplaceAnnotationRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v0/ReplaceAnnotationRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\ReplaceExtKeyWithExtensionKeyRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v0/ReplaceExtKeyWithExtensionKeyRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\ReplacedGeneralUtilitySysLogWithLogginApiRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v0/ReplacedGeneralUtilitySysLogWithLogginApiRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\SubstituteCacheWrapperMethodsRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v0/SubstituteCacheWrapperMethodsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\SubstituteConstantParsetimeStartRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v0/SubstituteConstantParsetimeStartRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\SubstituteGeneralUtilityDevLogRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v0/SubstituteGeneralUtilityDevLogRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\UseExtensionConfigurationApiRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v0/UseExtensionConfigurationApiRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\UseLogMethodInsteadOfNewLog2Rector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v0/UseLogMethodInsteadOfNewLog2Rector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\UseNewComponentIdForPageTreeRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v0/UseNewComponentIdForPageTreeRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\UseRenderingContextGetControllerContextRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v0/UseRenderingContextGetControllerContextRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v2\\GeneralUtilityGetUrlRequestHeadersRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v2/GeneralUtilityGetUrlRequestHeadersRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v2\\PageNotFoundAndErrorHandlingRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v2/PageNotFoundAndErrorHandlingRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v2\\RenameMethodCallToEnvironmentMethodCallRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v2/RenameMethodCallToEnvironmentMethodCallRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v3\\BackendUserAuthenticationSimplelogRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v3/BackendUserAuthenticationSimplelogRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v3\\BackendUtilityGetModuleUrlRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v3/BackendUtilityGetModuleUrlRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v3\\CopyMethodGetPidForModTSconfigRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v3/CopyMethodGetPidForModTSconfigRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v3\\MoveLanguageFilesFromExtensionLangRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v3/MoveLanguageFilesFromExtensionLangRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v3\\PhpOptionsUtilityRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v3/PhpOptionsUtilityRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v3\\PropertyUserTsToMethodGetTsConfigOfBackendUserAuthenticationRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v3/PropertyUserTsToMethodGetTsConfigOfBackendUserAuthenticationRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v3\\RefactorTsConfigRelatedMethodsRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v3/RefactorTsConfigRelatedMethodsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v3\\RemoveColPosParameterRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v3/RemoveColPosParameterRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v3\\UseMethodGetPageShortcutDirectlyFromSysPageRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v3/UseMethodGetPageShortcutDirectlyFromSysPageRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v3\\ValidateAnnotationRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v3/ValidateAnnotationRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\BackendUtilityShortcutExistsRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v4/BackendUtilityShortcutExistsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\CallEnableFieldsFromPageRepositoryRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v4/CallEnableFieldsFromPageRepositoryRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\ConstantsToEnvironmentApiCallRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v4/ConstantsToEnvironmentApiCallRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\DocumentTemplateAddStyleSheetRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v4/DocumentTemplateAddStyleSheetRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\RefactorDeprecatedConcatenateMethodsPageRendererRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v4/RefactorDeprecatedConcatenateMethodsPageRendererRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\RefactorExplodeUrl2ArrayFromGeneralUtilityRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v4/RefactorExplodeUrl2ArrayFromGeneralUtilityRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\RemoveInitMethodGraphicalFunctionsRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v4/RemoveInitMethodGraphicalFunctionsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\RemoveInitMethodTemplateServiceRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v4/RemoveInitMethodTemplateServiceRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\RemoveInitTemplateMethodCallRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v4/RemoveInitTemplateMethodCallRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\RemoveMethodsFromEidUtilityAndTsfeRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v4/RemoveMethodsFromEidUtilityAndTsfeRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\SystemEnvironmentBuilderConstantsRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v4/SystemEnvironmentBuilderConstantsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\TemplateGetFileNameToFilePathSanitizerRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v4/TemplateGetFileNameToFilePathSanitizerRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\UseAddJsFileInsteadOfLoadJavascriptLibRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v4/UseAddJsFileInsteadOfLoadJavascriptLibRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\UseClassSchemaInsteadReflectionServiceMethodsRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v4/UseClassSchemaInsteadReflectionServiceMethodsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\UseContextApiForVersioningWorkspaceIdRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v4/UseContextApiForVersioningWorkspaceIdRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\UseContextApiRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v4/UseContextApiRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\UseGetMenuInsteadOfGetFirstWebPageRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v4/UseGetMenuInsteadOfGetFirstWebPageRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\UseLanguageAspectForTsfeLanguagePropertiesRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v4/UseLanguageAspectForTsfeLanguagePropertiesRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\UseRootlineUtilityInsteadOfGetRootlineMethodRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v4/UseRootlineUtilityInsteadOfGetRootlineMethodRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\UseSignalAfterExtensionInstallInsteadOfHasInstalledExtensionsRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v4/UseSignalAfterExtensionInstallInsteadOfHasInstalledExtensionsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\UseSignalTablesDefinitionIsBeingBuiltSqlExpectedSchemaServiceRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v4/UseSignalTablesDefinitionIsBeingBuiltSqlExpectedSchemaServiceRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v5\\ExtbaseCommandControllerToSymfonyCommandRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v5/ExtbaseCommandControllerToSymfonyCommandRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v5\\ExtbaseCommandControllerToSymfonyCommand\\AddArgumentToSymfonyCommandRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v5/ExtbaseCommandControllerToSymfonyCommand/AddArgumentToSymfonyCommandRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v5\\ExtbaseCommandControllerToSymfonyCommand\\AddCommandsToReturnRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v5/ExtbaseCommandControllerToSymfonyCommand/AddCommandsToReturnRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v5\\RefactorProcessOutputRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v5/RefactorProcessOutputRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v5\\RefactorPropertiesOfTypoScriptFrontendControllerRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v5/RefactorPropertiesOfTypoScriptFrontendControllerRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v5\\RefactorTypeInternalTypeFileAndFileReferenceToFalRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v5/RefactorTypeInternalTypeFileAndFileReferenceToFalRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v5\\RemoveFlushCachesRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v5/RemoveFlushCachesRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v5\\RemoveInitMethodFromPageRepositoryRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v5/RemoveInitMethodFromPageRepositoryRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v5\\RemoveInternalAnnotationRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v5/RemoveInternalAnnotationRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v5\\UsePackageManagerActivePackagesRector' => $vendorDir . '/ssch/typo3-rector/src/Rector/v9/v5/UsePackageManagerActivePackagesRector.php',
'Ssch\\TYPO3Rector\\Resources\\Icons\\IconsProcessor' => $vendorDir . '/ssch/typo3-rector/src/Resources/Icons/IconsProcessor.php',
'Ssch\\TYPO3Rector\\Resources\\Icons\\Rector\\IconsRector' => $vendorDir . '/ssch/typo3-rector/src/Resources/Icons/Rector/IconsRector.php',
'Ssch\\TYPO3Rector\\Set\\Extension\\NimutTestingFrameworkSetList' => $vendorDir . '/ssch/typo3-rector/src/Set/Extension/NimutTestingFrameworkSetList.php',
'Ssch\\TYPO3Rector\\Set\\Extension\\SolrSetList' => $vendorDir . '/ssch/typo3-rector/src/Set/Extension/SolrSetList.php',
'Ssch\\TYPO3Rector\\Set\\Typo3SetList' => $vendorDir . '/ssch/typo3-rector/src/Set/Typo3SetList.php',
'Ssch\\TYPO3Rector\\Template\\TemplateResolver' => $vendorDir . '/ssch/typo3-rector/src/Template/TemplateResolver.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\AbstractGlobalConditionMatcher' => $vendorDir . '/ssch/typo3-rector/src/TypoScript/Conditions/AbstractGlobalConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\AbstractRootlineConditionMatcher' => $vendorDir . '/ssch/typo3-rector/src/TypoScript/Conditions/AbstractRootlineConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\ApplicationContextConditionMatcher' => $vendorDir . '/ssch/typo3-rector/src/TypoScript/Conditions/ApplicationContextConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\BrowserConditionMatcher' => $vendorDir . '/ssch/typo3-rector/src/TypoScript/Conditions/BrowserConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\CompatVersionConditionMatcher' => $vendorDir . '/ssch/typo3-rector/src/TypoScript/Conditions/CompatVersionConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\GlobalStringConditionMatcher' => $vendorDir . '/ssch/typo3-rector/src/TypoScript/Conditions/GlobalStringConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\GlobalVarConditionMatcher' => $vendorDir . '/ssch/typo3-rector/src/TypoScript/Conditions/GlobalVarConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\HostnameConditionMatcher' => $vendorDir . '/ssch/typo3-rector/src/TypoScript/Conditions/HostnameConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\IPConditionMatcher' => $vendorDir . '/ssch/typo3-rector/src/TypoScript/Conditions/IPConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\LanguageConditionMatcher' => $vendorDir . '/ssch/typo3-rector/src/TypoScript/Conditions/LanguageConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\LoginUserConditionMatcher' => $vendorDir . '/ssch/typo3-rector/src/TypoScript/Conditions/LoginUserConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\PIDinRootlineConditionMatcher' => $vendorDir . '/ssch/typo3-rector/src/TypoScript/Conditions/PIDinRootlineConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\PIDupinRootlineConditionMatcher' => $vendorDir . '/ssch/typo3-rector/src/TypoScript/Conditions/PIDupinRootlineConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\PageConditionMatcher' => $vendorDir . '/ssch/typo3-rector/src/TypoScript/Conditions/PageConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\TimeConditionMatcher' => $vendorDir . '/ssch/typo3-rector/src/TypoScript/Conditions/TimeConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\TreeLevelConditionMatcher' => $vendorDir . '/ssch/typo3-rector/src/TypoScript/Conditions/TreeLevelConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\UsergroupConditionMatcherMatcher' => $vendorDir . '/ssch/typo3-rector/src/TypoScript/Conditions/UsergroupConditionMatcherMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\VersionConditionMatcher' => $vendorDir . '/ssch/typo3-rector/src/TypoScript/Conditions/VersionConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\TypoScriptProcessor' => $vendorDir . '/ssch/typo3-rector/src/TypoScript/TypoScriptProcessor.php',
'Ssch\\TYPO3Rector\\TypoScript\\Visitors\\AbstractVisitor' => $vendorDir . '/ssch/typo3-rector/src/TypoScript/Visitors/AbstractVisitor.php',
'Ssch\\TYPO3Rector\\TypoScript\\Visitors\\ExtbasePersistenceVisitor' => $vendorDir . '/ssch/typo3-rector/src/TypoScript/Visitors/ExtbasePersistenceVisitor.php',
'Ssch\\TYPO3Rector\\TypoScript\\Visitors\\FileIncludeToImportStatementVisitor' => $vendorDir . '/ssch/typo3-rector/src/TypoScript/Visitors/FileIncludeToImportStatementVisitor.php',
'Ssch\\TYPO3Rector\\TypoScript\\Visitors\\OldConditionToExpressionLanguageVisitor' => $vendorDir . '/ssch/typo3-rector/src/TypoScript/Visitors/OldConditionToExpressionLanguageVisitor.php',
'Ssch\\TYPO3Rector\\Yaml\\Form\\FormYamlProcessor' => $vendorDir . '/ssch/typo3-rector/src/Yaml/Form/FormYamlProcessor.php',
'Ssch\\TYPO3Rector\\Yaml\\Form\\Rector\\EmailFinisherRector' => $vendorDir . '/ssch/typo3-rector/src/Yaml/Form/Rector/EmailFinisherRector.php',
'Stringable' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
'Symplify\\RuleDocGenerator\\Contract\\Category\\CategoryInfererInterface' => $vendorDir . '/symplify/rule-doc-generator-contracts/src/Contract/Category/CategoryInfererInterface.php',
'Symplify\\RuleDocGenerator\\Contract\\CodeSampleInterface' => $vendorDir . '/symplify/rule-doc-generator-contracts/src/Contract/CodeSampleInterface.php',

View File

@ -8,6 +8,8 @@ $baseDir = dirname($vendorDir);
return array(
'Symplify\\SymfonyPhpConfig\\' => array($vendorDir . '/symplify/symfony-php-config/src'),
'Symplify\\RuleDocGenerator\\' => array($vendorDir . '/symplify/rule-doc-generator-contracts/src'),
'Ssch\\TYPO3Rector\\PHPStan\\' => array($vendorDir . '/ssch/typo3-rector/utils/phpstan/src'),
'Ssch\\TYPO3Rector\\' => array($vendorDir . '/ssch/typo3-rector/src'),
'Rector\\Symfony\\' => array($vendorDir . '/rector/rector-symfony/src'),
'Rector\\RectorInstaller\\' => array($vendorDir . '/rector/extension-installer/src'),
'Rector\\PHPUnit\\' => array($vendorDir . '/rector/rector-phpunit/src'),
@ -41,6 +43,7 @@ return array(
'RectorPrefix20210519\\Symfony\\Contracts\\HttpClient\\' => array($vendorDir . '/symfony/http-client-contracts'),
'RectorPrefix20210519\\Symfony\\Contracts\\EventDispatcher\\' => array($vendorDir . '/symfony/event-dispatcher-contracts'),
'RectorPrefix20210519\\Symfony\\Component\\Yaml\\' => array($vendorDir . '/symfony/yaml'),
'RectorPrefix20210519\\Symfony\\Component\\VarExporter\\' => array($vendorDir . '/symfony/var-exporter'),
'RectorPrefix20210519\\Symfony\\Component\\VarDumper\\' => array($vendorDir . '/symfony/var-dumper'),
'RectorPrefix20210519\\Symfony\\Component\\String\\' => array($vendorDir . '/symfony/string'),
'RectorPrefix20210519\\Symfony\\Component\\Process\\' => array($vendorDir . '/symfony/process'),
@ -58,6 +61,7 @@ return array(
'RectorPrefix20210519\\Psr\\EventDispatcher\\' => array($vendorDir . '/psr/event-dispatcher/src'),
'RectorPrefix20210519\\Psr\\Container\\' => array($vendorDir . '/psr/container/src'),
'RectorPrefix20210519\\Idiosyncratic\\EditorConfig\\' => array($vendorDir . '/idiosyncratic/editorconfig/src'),
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\' => array($vendorDir . '/helmich/typo3-typoscript-parser/src'),
'RectorPrefix20210519\\Ergebnis\\Json\\Printer\\' => array($vendorDir . '/ergebnis/json-printer/src'),
'RectorPrefix20210519\\Doctrine\\Inflector\\' => array($vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector'),
'RectorPrefix20210519\\Composer\\XdebugHandler\\' => array($vendorDir . '/composer/xdebug-handler/src'),

View File

@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
class ComposerAutoloaderInitda5ea7f98f0e497201928a63cf7cb800
class ComposerAutoloaderInit0cd9784b5ef4a6016015d565dfa25f6c
{
private static $loader;
@ -22,15 +22,15 @@ class ComposerAutoloaderInitda5ea7f98f0e497201928a63cf7cb800
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInitda5ea7f98f0e497201928a63cf7cb800', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInit0cd9784b5ef4a6016015d565dfa25f6c', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
spl_autoload_unregister(array('ComposerAutoloaderInitda5ea7f98f0e497201928a63cf7cb800', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInit0cd9784b5ef4a6016015d565dfa25f6c', 'loadClassLoader'));
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
if ($useStaticLoader) {
require __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInitda5ea7f98f0e497201928a63cf7cb800::getInitializer($loader));
call_user_func(\Composer\Autoload\ComposerStaticInit0cd9784b5ef4a6016015d565dfa25f6c::getInitializer($loader));
} else {
$classMap = require __DIR__ . '/autoload_classmap.php';
if ($classMap) {
@ -42,19 +42,19 @@ class ComposerAutoloaderInitda5ea7f98f0e497201928a63cf7cb800
$loader->register(true);
if ($useStaticLoader) {
$includeFiles = Composer\Autoload\ComposerStaticInitda5ea7f98f0e497201928a63cf7cb800::$files;
$includeFiles = Composer\Autoload\ComposerStaticInit0cd9784b5ef4a6016015d565dfa25f6c::$files;
} else {
$includeFiles = require __DIR__ . '/autoload_files.php';
}
foreach ($includeFiles as $fileIdentifier => $file) {
composerRequireda5ea7f98f0e497201928a63cf7cb800($fileIdentifier, $file);
composerRequire0cd9784b5ef4a6016015d565dfa25f6c($fileIdentifier, $file);
}
return $loader;
}
}
function composerRequireda5ea7f98f0e497201928a63cf7cb800($fileIdentifier, $file)
function composerRequire0cd9784b5ef4a6016015d565dfa25f6c($fileIdentifier, $file)
{
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
require $file;

View File

@ -4,7 +4,7 @@
namespace Composer\Autoload;
class ComposerStaticInitda5ea7f98f0e497201928a63cf7cb800
class ComposerStaticInit0cd9784b5ef4a6016015d565dfa25f6c
{
public static $files = array (
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
@ -28,6 +28,8 @@ class ComposerStaticInitda5ea7f98f0e497201928a63cf7cb800
array (
'Symplify\\SymfonyPhpConfig\\' => 26,
'Symplify\\RuleDocGenerator\\' => 26,
'Ssch\\TYPO3Rector\\PHPStan\\' => 25,
'Ssch\\TYPO3Rector\\' => 17,
),
'R' =>
array (
@ -64,6 +66,7 @@ class ComposerStaticInitda5ea7f98f0e497201928a63cf7cb800
'RectorPrefix20210519\\Symfony\\Contracts\\HttpClient\\' => 50,
'RectorPrefix20210519\\Symfony\\Contracts\\EventDispatcher\\' => 55,
'RectorPrefix20210519\\Symfony\\Component\\Yaml\\' => 44,
'RectorPrefix20210519\\Symfony\\Component\\VarExporter\\' => 51,
'RectorPrefix20210519\\Symfony\\Component\\VarDumper\\' => 49,
'RectorPrefix20210519\\Symfony\\Component\\String\\' => 46,
'RectorPrefix20210519\\Symfony\\Component\\Process\\' => 47,
@ -81,6 +84,7 @@ class ComposerStaticInitda5ea7f98f0e497201928a63cf7cb800
'RectorPrefix20210519\\Psr\\EventDispatcher\\' => 41,
'RectorPrefix20210519\\Psr\\Container\\' => 35,
'RectorPrefix20210519\\Idiosyncratic\\EditorConfig\\' => 48,
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\' => 46,
'RectorPrefix20210519\\Ergebnis\\Json\\Printer\\' => 43,
'RectorPrefix20210519\\Doctrine\\Inflector\\' => 40,
'RectorPrefix20210519\\Composer\\XdebugHandler\\' => 44,
@ -103,6 +107,14 @@ class ComposerStaticInitda5ea7f98f0e497201928a63cf7cb800
array (
0 => __DIR__ . '/..' . '/symplify/rule-doc-generator-contracts/src',
),
'Ssch\\TYPO3Rector\\PHPStan\\' =>
array (
0 => __DIR__ . '/..' . '/ssch/typo3-rector/utils/phpstan/src',
),
'Ssch\\TYPO3Rector\\' =>
array (
0 => __DIR__ . '/..' . '/ssch/typo3-rector/src',
),
'Rector\\Symfony\\' =>
array (
0 => __DIR__ . '/..' . '/rector/rector-symfony/src',
@ -236,6 +248,10 @@ class ComposerStaticInitda5ea7f98f0e497201928a63cf7cb800
array (
0 => __DIR__ . '/..' . '/symfony/yaml',
),
'RectorPrefix20210519\\Symfony\\Component\\VarExporter\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/var-exporter',
),
'RectorPrefix20210519\\Symfony\\Component\\VarDumper\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/var-dumper',
@ -304,6 +320,10 @@ class ComposerStaticInitda5ea7f98f0e497201928a63cf7cb800
array (
0 => __DIR__ . '/..' . '/idiosyncratic/editorconfig/src',
),
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\' =>
array (
0 => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src',
),
'RectorPrefix20210519\\Ergebnis\\Json\\Printer\\' =>
array (
0 => __DIR__ . '/..' . '/ergebnis/json-printer/src',
@ -705,6 +725,62 @@ class ComposerStaticInitda5ea7f98f0e497201928a63cf7cb800
'RectorPrefix20210519\\Doctrine\\Inflector\\WordInflector' => __DIR__ . '/..' . '/doctrine/inflector/lib/Doctrine/Inflector/WordInflector.php',
'RectorPrefix20210519\\Ergebnis\\Json\\Printer\\Printer' => __DIR__ . '/..' . '/ergebnis/json-printer/src/Printer.php',
'RectorPrefix20210519\\Ergebnis\\Json\\Printer\\PrinterInterface' => __DIR__ . '/..' . '/ergebnis/json-printer/src/PrinterInterface.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Builder' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/AST/Builder.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Comment' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/AST/Comment.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\ConditionalStatement' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/AST/ConditionalStatement.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\DirectoryIncludeStatement' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/AST/DirectoryIncludeStatement.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\FileIncludeStatement' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/AST/FileIncludeStatement.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\IncludeStatement' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/AST/IncludeStatement.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\MultilineComment' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/AST/MultilineComment.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\NestedAssignment' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/AST/NestedAssignment.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\NopStatement' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/AST/NopStatement.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\ObjectPath' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/AST/ObjectPath.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Operator\\Assignment' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/AST/Operator/Assignment.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Operator\\BinaryObjectOperator' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/AST/Operator/BinaryObjectOperator.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Operator\\BinaryOperator' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/AST/Operator/BinaryOperator.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Operator\\Builder' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/AST/Operator/Builder.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Operator\\Copy' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/AST/Operator/Copy.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Operator\\Delete' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/AST/Operator/Delete.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Operator\\Modification' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/AST/Operator/Modification.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Operator\\ModificationCall' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/AST/Operator/ModificationCall.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Operator\\ObjectCreation' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/AST/Operator/ObjectCreation.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Operator\\Reference' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/AST/Operator/Reference.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Operator\\UnaryOperator' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/AST/Operator/UnaryOperator.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\RootObjectPath' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/AST/RootObjectPath.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Scalar' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/AST/Scalar.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\AST\\Statement' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/AST/Statement.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\ParseError' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/ParseError.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\Parser' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/Parser.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\ParserInterface' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/ParserInterface.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\ParserState' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/ParserState.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\Printer\\ASTPrinterInterface' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/Printer/ASTPrinterInterface.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\Printer\\PrettyPrinter' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/Printer/PrettyPrinter.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\Printer\\PrettyPrinterConfiguration' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/Printer/PrettyPrinterConfiguration.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\TokenStream' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/TokenStream.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\Traverser\\AggregatingVisitor' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/Traverser/AggregatingVisitor.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\Traverser\\Traverser' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/Traverser/Traverser.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Parser\\Traverser\\Visitor' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Parser/Traverser/Visitor.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\LineGrouper' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Tokenizer/LineGrouper.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\MultilineTokenBuilder' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Tokenizer/MultilineTokenBuilder.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\Preprocessing\\NoOpPreprocessor' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Tokenizer/Preprocessing/NoOpPreprocessor.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\Preprocessing\\Preprocessor' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Tokenizer/Preprocessing/Preprocessor.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\Preprocessing\\ProcessorChain' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Tokenizer/Preprocessing/ProcessorChain.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\Preprocessing\\RemoveTrailingWhitespacePreprocessor' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Tokenizer/Preprocessing/RemoveTrailingWhitespacePreprocessor.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\Preprocessing\\StandardPreprocessor' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Tokenizer/Preprocessing/StandardPreprocessor.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\Preprocessing\\UnifyLineEndingsPreprocessor' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Tokenizer/Preprocessing/UnifyLineEndingsPreprocessor.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\Printer\\CodeTokenPrinter' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Tokenizer/Printer/CodeTokenPrinter.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\Printer\\StructuredTokenPrinter' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Tokenizer/Printer/StructuredTokenPrinter.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\Printer\\TokenPrinterInterface' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Tokenizer/Printer/TokenPrinterInterface.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\Scanner' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Tokenizer/Scanner.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\ScannerLine' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Tokenizer/ScannerLine.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\Token' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Tokenizer/Token.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\TokenInterface' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Tokenizer/TokenInterface.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\TokenStreamBuilder' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Tokenizer/TokenStreamBuilder.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\Tokenizer' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Tokenizer/Tokenizer.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\TokenizerException' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Tokenizer/TokenizerException.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\TokenizerInterface' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Tokenizer/TokenizerInterface.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tokenizer\\UnknownOperatorException' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/Tokenizer/UnknownOperatorException.php',
'RectorPrefix20210519\\Helmich\\TypoScriptParser\\TypoScriptParserExtension' => __DIR__ . '/..' . '/helmich/typo3-typoscript-parser/src/TypoScriptParserExtension.php',
'RectorPrefix20210519\\Idiosyncratic\\EditorConfig\\Declaration\\BooleanDeclaration' => __DIR__ . '/..' . '/idiosyncratic/editorconfig/src/Declaration/BooleanDeclaration.php',
'RectorPrefix20210519\\Idiosyncratic\\EditorConfig\\Declaration\\Charset' => __DIR__ . '/..' . '/idiosyncratic/editorconfig/src/Declaration/Charset.php',
'RectorPrefix20210519\\Idiosyncratic\\EditorConfig\\Declaration\\Declaration' => __DIR__ . '/..' . '/idiosyncratic/editorconfig/src/Declaration/Declaration.php',
@ -1521,6 +1597,16 @@ class ComposerStaticInitda5ea7f98f0e497201928a63cf7cb800
'RectorPrefix20210519\\Symfony\\Component\\VarDumper\\Server\\DumpServer' => __DIR__ . '/..' . '/symfony/var-dumper/Server/DumpServer.php',
'RectorPrefix20210519\\Symfony\\Component\\VarDumper\\Test\\VarDumperTestTrait' => __DIR__ . '/..' . '/symfony/var-dumper/Test/VarDumperTestTrait.php',
'RectorPrefix20210519\\Symfony\\Component\\VarDumper\\VarDumper' => __DIR__ . '/..' . '/symfony/var-dumper/VarDumper.php',
'RectorPrefix20210519\\Symfony\\Component\\VarExporter\\Exception\\ClassNotFoundException' => __DIR__ . '/..' . '/symfony/var-exporter/Exception/ClassNotFoundException.php',
'RectorPrefix20210519\\Symfony\\Component\\VarExporter\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/symfony/var-exporter/Exception/ExceptionInterface.php',
'RectorPrefix20210519\\Symfony\\Component\\VarExporter\\Exception\\NotInstantiableTypeException' => __DIR__ . '/..' . '/symfony/var-exporter/Exception/NotInstantiableTypeException.php',
'RectorPrefix20210519\\Symfony\\Component\\VarExporter\\Instantiator' => __DIR__ . '/..' . '/symfony/var-exporter/Instantiator.php',
'RectorPrefix20210519\\Symfony\\Component\\VarExporter\\Internal\\Exporter' => __DIR__ . '/..' . '/symfony/var-exporter/Internal/Exporter.php',
'RectorPrefix20210519\\Symfony\\Component\\VarExporter\\Internal\\Hydrator' => __DIR__ . '/..' . '/symfony/var-exporter/Internal/Hydrator.php',
'RectorPrefix20210519\\Symfony\\Component\\VarExporter\\Internal\\Reference' => __DIR__ . '/..' . '/symfony/var-exporter/Internal/Reference.php',
'RectorPrefix20210519\\Symfony\\Component\\VarExporter\\Internal\\Registry' => __DIR__ . '/..' . '/symfony/var-exporter/Internal/Registry.php',
'RectorPrefix20210519\\Symfony\\Component\\VarExporter\\Internal\\Values' => __DIR__ . '/..' . '/symfony/var-exporter/Internal/Values.php',
'RectorPrefix20210519\\Symfony\\Component\\VarExporter\\VarExporter' => __DIR__ . '/..' . '/symfony/var-exporter/VarExporter.php',
'RectorPrefix20210519\\Symfony\\Component\\Yaml\\Command\\LintCommand' => __DIR__ . '/..' . '/symfony/yaml/Command/LintCommand.php',
'RectorPrefix20210519\\Symfony\\Component\\Yaml\\Dumper' => __DIR__ . '/..' . '/symfony/yaml/Dumper.php',
'RectorPrefix20210519\\Symfony\\Component\\Yaml\\Escaper' => __DIR__ . '/..' . '/symfony/yaml/Escaper.php',
@ -3447,6 +3533,261 @@ class ComposerStaticInitda5ea7f98f0e497201928a63cf7cb800
'Rector\\Visibility\\Rector\\Property\\ChangePropertyVisibilityRector' => __DIR__ . '/../..' . '/rules/Visibility/Rector/Property/ChangePropertyVisibilityRector.php',
'Rector\\Visibility\\ValueObject\\ChangeConstantVisibility' => __DIR__ . '/../..' . '/rules/Visibility/ValueObject/ChangeConstantVisibility.php',
'Rector\\Visibility\\ValueObject\\ChangeMethodVisibility' => __DIR__ . '/../..' . '/rules/Visibility/ValueObject/ChangeMethodVisibility.php',
'Ssch\\TYPO3Rector\\Contract\\FlexForms\\Rector\\FlexFormRectorInterface' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Contract/FlexForms/Rector/FlexFormRectorInterface.php',
'Ssch\\TYPO3Rector\\Contract\\Helper\\Database\\Refactorings\\DatabaseConnectionToDbalRefactoring' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Contract/Helper/Database/Refactorings/DatabaseConnectionToDbalRefactoring.php',
'Ssch\\TYPO3Rector\\Contract\\Processor\\ConfigurableProcessorInterface' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Contract/Processor/ConfigurableProcessorInterface.php',
'Ssch\\TYPO3Rector\\Contract\\Resources\\IconRectorInterface' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Contract/Resources/IconRectorInterface.php',
'Ssch\\TYPO3Rector\\Contract\\TypoScript\\Conditions\\TyposcriptConditionMatcher' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Contract/TypoScript/Conditions/TyposcriptConditionMatcher.php',
'Ssch\\TYPO3Rector\\Contract\\TypoScript\\ConvertToPhpFileInterface' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Contract/TypoScript/ConvertToPhpFileInterface.php',
'Ssch\\TYPO3Rector\\Contract\\Yaml\\Form\\FormYamlRectorInterface' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Contract/Yaml/Form/FormYamlRectorInterface.php',
'Ssch\\TYPO3Rector\\FlexForms\\FlexFormsProcessor' => __DIR__ . '/..' . '/ssch/typo3-rector/src/FlexForms/FlexFormsProcessor.php',
'Ssch\\TYPO3Rector\\FlexForms\\Rector\\RenderTypeFlexFormRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/FlexForms/Rector/RenderTypeFlexFormRector.php',
'Ssch\\TYPO3Rector\\Helper\\ArrayUtility' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Helper/ArrayUtility.php',
'Ssch\\TYPO3Rector\\Helper\\Database\\Refactorings\\ConnectionCallFactory' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Helper/Database/Refactorings/ConnectionCallFactory.php',
'Ssch\\TYPO3Rector\\Helper\\Database\\Refactorings\\DatabaseConnectionExecInsertQueryRefactoring' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Helper/Database/Refactorings/DatabaseConnectionExecInsertQueryRefactoring.php',
'Ssch\\TYPO3Rector\\Helper\\Database\\Refactorings\\DatabaseConnectionExecTruncateTableRefactoring' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Helper/Database/Refactorings/DatabaseConnectionExecTruncateTableRefactoring.php',
'Ssch\\TYPO3Rector\\Helper\\FilesFinder' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Helper/FilesFinder.php',
'Ssch\\TYPO3Rector\\Helper\\OldSeverityToLogLevelMapper' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Helper/OldSeverityToLogLevelMapper.php',
'Ssch\\TYPO3Rector\\Helper\\StringUtility' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Helper/StringUtility.php',
'Ssch\\TYPO3Rector\\Helper\\TcaHelperTrait' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Helper/TcaHelperTrait.php',
'Ssch\\TYPO3Rector\\Helper\\Typo3NodeResolver' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Helper/Typo3NodeResolver.php',
'Ssch\\TYPO3Rector\\NodeAnalyzer\\ClassConstAnalyzer' => __DIR__ . '/..' . '/ssch/typo3-rector/src/NodeAnalyzer/ClassConstAnalyzer.php',
'Ssch\\TYPO3Rector\\NodeFactory\\HelperArgumentAssignFactory' => __DIR__ . '/..' . '/ssch/typo3-rector/src/NodeFactory/HelperArgumentAssignFactory.php',
'Ssch\\TYPO3Rector\\NodeFactory\\InitializeArgumentsClassMethodFactory' => __DIR__ . '/..' . '/ssch/typo3-rector/src/NodeFactory/InitializeArgumentsClassMethodFactory.php',
'Ssch\\TYPO3Rector\\PHPStan\\Rules\\AddChangelogDocBlockForRectorClass' => __DIR__ . '/..' . '/ssch/typo3-rector/utils/phpstan/src/Rules/AddChangelogDocBlockForRectorClass.php',
'Ssch\\TYPO3Rector\\PHPStan\\Rules\\AddCodeCoverageIgnoreForRectorDefinition' => __DIR__ . '/..' . '/ssch/typo3-rector/utils/phpstan/src/Rules/AddCodeCoverageIgnoreForRectorDefinition.php',
'Ssch\\TYPO3Rector\\PHPStan\\Type\\ContextGetAspectDynamicReturnTypeExtension' => __DIR__ . '/..' . '/ssch/typo3-rector/utils/phpstan/src/Type/ContextGetAspectDynamicReturnTypeExtension.php',
'Ssch\\TYPO3Rector\\PHPStan\\Type\\GeneralUtilityDynamicReturnTypeExtension' => __DIR__ . '/..' . '/ssch/typo3-rector/utils/phpstan/src/Type/GeneralUtilityDynamicReturnTypeExtension.php',
'Ssch\\TYPO3Rector\\PHPStan\\Type\\ObjectManagerDynamicReturnTypeExtension' => __DIR__ . '/..' . '/ssch/typo3-rector/utils/phpstan/src/Type/ObjectManagerDynamicReturnTypeExtension.php',
'Ssch\\TYPO3Rector\\PHPStan\\Type\\ValidatorResolverDynamicReturnTypeExtension' => __DIR__ . '/..' . '/ssch/typo3-rector/utils/phpstan/src/Type/ValidatorResolverDynamicReturnTypeExtension.php',
'Ssch\\TYPO3Rector\\Rector\\Composer\\ExtensionComposerRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/Composer/ExtensionComposerRector.php',
'Ssch\\TYPO3Rector\\Rector\\Composer\\RemoveCmsPackageDirFromExtraComposerRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/Composer/RemoveCmsPackageDirFromExtraComposerRector.php',
'Ssch\\TYPO3Rector\\Rector\\Experimental\\OptionalConstructorToHardRequirementRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/Experimental/OptionalConstructorToHardRequirementRector.php',
'Ssch\\TYPO3Rector\\Rector\\Extensions\\solr\\v8\\SolrConnectionAddDocumentsToWriteServiceAddDocumentsRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/Extensions/solr/v8/SolrConnectionAddDocumentsToWriteServiceAddDocumentsRector.php',
'Ssch\\TYPO3Rector\\Rector\\Extensions\\solr\\v8\\SolrSiteToSolrRepositoryRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/Extensions/solr/v8/SolrSiteToSolrRepositoryRector.php',
'Ssch\\TYPO3Rector\\Rector\\Extensions\\solr\\v9\\ApacheSolrDocumentToSolariumDocumentRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/Extensions/solr/v9/ApacheSolrDocumentToSolariumDocumentRector.php',
'Ssch\\TYPO3Rector\\Rector\\General\\ConvertTypo3ConfVarsRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/General/ConvertTypo3ConfVarsRector.php',
'Ssch\\TYPO3Rector\\Rector\\General\\ExtEmConfRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/General/ExtEmConfRector.php',
'Ssch\\TYPO3Rector\\Rector\\Migrations\\RenameClassMapAliasRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/Migrations/RenameClassMapAliasRector.php',
'Ssch\\TYPO3Rector\\Rector\\Tca\\AbstractTcaRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/Tca/AbstractTcaRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v0\\BackendUtilityGetViewDomainToPageRouterRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v0/BackendUtilityGetViewDomainToPageRouterRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v0\\ChangeDefaultCachingFrameworkNamesRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v0/ChangeDefaultCachingFrameworkNamesRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v0\\ConfigurationManagerAddControllerConfigurationMethodRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v0/ConfigurationManagerAddControllerConfigurationMethodRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v0\\ForceTemplateParsingInTsfeAndTemplateServiceRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v0/ForceTemplateParsingInTsfeAndTemplateServiceRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v0\\RefactorIdnaEncodeMethodToNativeFunctionRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v0/RefactorIdnaEncodeMethodToNativeFunctionRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v0\\RemovePropertyExtensionNameRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v0/RemovePropertyExtensionNameRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v0\\RemoveSeliconFieldPathRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v0/RemoveSeliconFieldPathRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v0\\RemoveTcaOptionSetToDefaultOnCopyRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v0/RemoveTcaOptionSetToDefaultOnCopyRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v0\\SetSystemLocaleFromSiteLanguageRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v0/SetSystemLocaleFromSiteLanguageRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v0\\SwiftMailerBasedMailMessageToMailerBasedMessageRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v0/SwiftMailerBasedMailMessageToMailerBasedMessageRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v0\\UseControllerClassesInExtbasePluginsAndModulesRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v0/UseControllerClassesInExtbasePluginsAndModulesRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v0\\UseMetaDataAspectRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v0/UseMetaDataAspectRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v0\\UseNativePhpHex2binMethodRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v0/UseNativePhpHex2binMethodRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v0\\UseTwoLetterIsoCodeFromSiteLanguageRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v0/UseTwoLetterIsoCodeFromSiteLanguageRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v1\\BackendUtilityEditOnClickRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v1/BackendUtilityEditOnClickRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v1\\RefactorInternalPropertiesOfTSFERector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v1/RefactorInternalPropertiesOfTSFERector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v1\\RegisterPluginWithVendorNameRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v1/RegisterPluginWithVendorNameRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v1\\SendNotifyEmailToMailApiRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v1/SendNotifyEmailToMailApiRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v2\\ExcludeServiceKeysToArrayRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v2/ExcludeServiceKeysToArrayRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v2\\InjectEnvironmentServiceIfNeededInResponseRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v2/InjectEnvironmentServiceIfNeededInResponseRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v2\\MoveApplicationContextToEnvironmentApiRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v2/MoveApplicationContextToEnvironmentApiRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v2\\UseActionControllerRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v2/UseActionControllerRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v2\\UseTypo3InformationForCopyRightNoticeRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v2/UseTypo3InformationForCopyRightNoticeRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v3\\RemoveExcludeOnTransOrigPointerFieldRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v3/RemoveExcludeOnTransOrigPointerFieldRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v3\\RemoveShowRecordFieldListInsideInterfaceSectionRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v3/RemoveShowRecordFieldListInsideInterfaceSectionRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v3\\SubstituteResourceFactoryRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v3/SubstituteResourceFactoryRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v3\\UseClassTypo3InformationRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v3/UseClassTypo3InformationRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v3\\UseClassTypo3VersionRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v3/UseClassTypo3VersionRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v4\\RemoveFormatConstantsEmailFinisherRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v4/RemoveFormatConstantsEmailFinisherRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v4\\SubstituteGeneralUtilityMethodsWithNativePhpFunctionsRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v4/SubstituteGeneralUtilityMethodsWithNativePhpFunctionsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v4\\UnifiedFileNameValidatorRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v4/UnifiedFileNameValidatorRector.php',
'Ssch\\TYPO3Rector\\Rector\\v10\\v4\\UseFileGetContentsForGetUrlRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v10/v4/UseFileGetContentsForGetUrlRector.php',
'Ssch\\TYPO3Rector\\Rector\\v11\\v0\\DateTimeAspectInsteadOfGlobalsExecTimeRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v11/v0/DateTimeAspectInsteadOfGlobalsExecTimeRector.php',
'Ssch\\TYPO3Rector\\Rector\\v11\\v0\\ExtbaseControllerActionsMustReturnResponseInterfaceRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v11/v0/ExtbaseControllerActionsMustReturnResponseInterfaceRector.php',
'Ssch\\TYPO3Rector\\Rector\\v11\\v0\\ForwardResponseInsteadOfForwardMethodRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v11/v0/ForwardResponseInsteadOfForwardMethodRector.php',
'Ssch\\TYPO3Rector\\Rector\\v11\\v0\\GetClickMenuOnIconTagParametersRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v11/v0/GetClickMenuOnIconTagParametersRector.php',
'Ssch\\TYPO3Rector\\Rector\\v11\\v0\\RemoveAddQueryStringMethodRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v11/v0/RemoveAddQueryStringMethodRector.php',
'Ssch\\TYPO3Rector\\Rector\\v11\\v0\\RemoveLanguageModeMethodsFromTypo3QuerySettingsRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v11/v0/RemoveLanguageModeMethodsFromTypo3QuerySettingsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v11\\v0\\SubstituteConstantsModeAndRequestTypeRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v11/v0/SubstituteConstantsModeAndRequestTypeRector.php',
'Ssch\\TYPO3Rector\\Rector\\v11\\v0\\UniqueListFromStringUtilityRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v11/v0/UniqueListFromStringUtilityRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v0\\RemoveDivider2TabsConfigurationRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v7/v0/RemoveDivider2TabsConfigurationRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v0\\RemoveMethodCallConnectDbRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v7/v0/RemoveMethodCallConnectDbRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v0\\RemoveMethodCallLoadTcaRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v7/v0/RemoveMethodCallLoadTcaRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v0\\TypeHandlingServiceToTypeHandlingUtilityRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v7/v0/TypeHandlingServiceToTypeHandlingUtilityRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v1\\GetTemporaryImageWithTextRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v7/v1/GetTemporaryImageWithTextRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v4\\DropAdditionalPaletteRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v7/v4/DropAdditionalPaletteRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v4\\InstantiatePageRendererExplicitlyRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v7/v4/InstantiatePageRendererExplicitlyRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v4\\MethodReadLLFileToLocalizationFactoryRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v7/v4/MethodReadLLFileToLocalizationFactoryRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v4\\MoveLanguageFilesFromRemovedCmsExtensionRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v7/v4/MoveLanguageFilesFromRemovedCmsExtensionRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v5\\RemoveIconsInOptionTagsRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v7/v5/RemoveIconsInOptionTagsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v5\\UseExtPrefixForTcaIconFileRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v7/v5/UseExtPrefixForTcaIconFileRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v6\\AddRenderTypeToSelectFieldRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v7/v6/AddRenderTypeToSelectFieldRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v6\\MigrateT3editorWizardToRenderTypeT3editorRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v7/v6/MigrateT3editorWizardToRenderTypeT3editorRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v6\\RemoveIconOptionForRenderTypeSelectRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v7/v6/RemoveIconOptionForRenderTypeSelectRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v6\\RenamePiListBrowserResultsRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v7/v6/RenamePiListBrowserResultsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v7\\v6\\WrapClickMenuOnIconRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v7/v6/WrapClickMenuOnIconRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\ChangeMethodCallsForStandaloneViewRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v0/ChangeMethodCallsForStandaloneViewRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\GetFileAbsFileNameRemoveDeprecatedArgumentsRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v0/GetFileAbsFileNameRemoveDeprecatedArgumentsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\GetPreferredClientLanguageRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v0/GetPreferredClientLanguageRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\PrependAbsolutePathToGetFileAbsFileNameRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v0/PrependAbsolutePathToGetFileAbsFileNameRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\RandomMethodsToRandomClassRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v0/RandomMethodsToRandomClassRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\RefactorRemovedMarkerMethodsFromHtmlParserRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v0/RefactorRemovedMarkerMethodsFromHtmlParserRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\RefactorRemovedMethodsFromContentObjectRendererRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v0/RefactorRemovedMethodsFromContentObjectRendererRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\RefactorRemovedMethodsFromGeneralUtilityRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v0/RefactorRemovedMethodsFromGeneralUtilityRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\RemoveCharsetConverterParametersRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v0/RemoveCharsetConverterParametersRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\RemoveLangCsConvObjAndParserFactoryRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v0/RemoveLangCsConvObjAndParserFactoryRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\RemovePropertyUserAuthenticationRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v0/RemovePropertyUserAuthenticationRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\RemoveRteHtmlParserEvalWriteFileRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v0/RemoveRteHtmlParserEvalWriteFileRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\RemoveWakeupCallFromEntityRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v0/RemoveWakeupCallFromEntityRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\RenderCharsetDefaultsToUtf8Rector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v0/RenderCharsetDefaultsToUtf8Rector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\RequireMethodsToNativeFunctionsRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v0/RequireMethodsToNativeFunctionsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\RteHtmlParserRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v0/RteHtmlParserRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\TimeTrackerGlobalsToSingletonRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v0/TimeTrackerGlobalsToSingletonRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v0\\TimeTrackerInsteadOfNullTimeTrackerRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v0/TimeTrackerInsteadOfNullTimeTrackerRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v1\\Array2XmlCsToArray2XmlRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v1/Array2XmlCsToArray2XmlRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v1\\GeneralUtilityToUpperAndLowerRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v1/GeneralUtilityToUpperAndLowerRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v1\\RefactorDbConstantsRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v1/RefactorDbConstantsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v1\\RefactorVariousGeneralUtilityMethodsRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v1/RefactorVariousGeneralUtilityMethodsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v1\\TypoScriptFrontendControllerCharsetConverterRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v1/TypoScriptFrontendControllerCharsetConverterRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v2\\UseHtmlSpecialCharsDirectlyForTranslationRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v2/UseHtmlSpecialCharsDirectlyForTranslationRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v3\\RefactorMethodFileContentRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v3/RefactorMethodFileContentRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v3\\RefactorQueryViewTableWrapRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v3/RefactorQueryViewTableWrapRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v3\\RemovedTcaSelectTreeOptionsRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v3/RemovedTcaSelectTreeOptionsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v3\\SoftReferencesFunctionalityRemovedRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v3/SoftReferencesFunctionalityRemovedRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v4\\ExtensionManagementUtilityExtRelPathRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v4/ExtensionManagementUtilityExtRelPathRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v4\\RemoveOptionShowIfRteRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v4/RemoveOptionShowIfRteRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v4\\SubstituteOldWizardIconsRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v4/SubstituteOldWizardIconsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v5\\CharsetConverterToMultiByteFunctionsRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v5/CharsetConverterToMultiByteFunctionsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v5\\ContentObjectRendererFileResourceRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v5/ContentObjectRendererFileResourceRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v5\\MoveLanguageFilesFromLocallangToResourcesRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v5/MoveLanguageFilesFromLocallangToResourcesRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v5\\RemoveOptionVersioningFollowPagesRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v5/RemoveOptionVersioningFollowPagesRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v5\\RemoveSupportForTransForeignTableRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v5/RemoveSupportForTransForeignTableRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v6\\AddTypeToColumnConfigRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v6/AddTypeToColumnConfigRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v6\\ArrayUtilityInArrayToFuncInArrayRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v6/ArrayUtilityInArrayToFuncInArrayRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v6\\MigrateLastPiecesOfDefaultExtrasRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v6/MigrateLastPiecesOfDefaultExtrasRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v6\\MigrateOptionsOfTypeGroupRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v6/MigrateOptionsOfTypeGroupRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v6\\MigrateSelectShowIconTableRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v6/MigrateSelectShowIconTableRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v6\\MigrateSpecialConfigurationAndRemoveShowItemStylePointerConfigRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v6/MigrateSpecialConfigurationAndRemoveShowItemStylePointerConfigRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v6\\MoveRequestUpdateOptionFromControlToColumnsRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v6/MoveRequestUpdateOptionFromControlToColumnsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v6\\MoveTypeGroupSuggestWizardToSuggestOptionsRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v6/MoveTypeGroupSuggestWizardToSuggestOptionsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v6\\RefactorTCARector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v6/RefactorTCARector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v6\\RemoveL10nModeNoCopyRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v6/RemoveL10nModeNoCopyRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v6\\RichtextFromDefaultExtrasToEnableRichtextRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v6/RichtextFromDefaultExtrasToEnableRichtextRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v7\\BackendUtilityGetRecordRawRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v7/BackendUtilityGetRecordRawRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v7\\BackendUtilityGetRecordsByFieldToQueryBuilderRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v7/BackendUtilityGetRecordsByFieldToQueryBuilderRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v7\\ChangeAttemptsParameterConsoleOutputRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v7/ChangeAttemptsParameterConsoleOutputRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v7\\DataHandlerRmCommaRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v7/DataHandlerRmCommaRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v7\\DataHandlerVariousMethodsAndMethodArgumentsRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v7/DataHandlerVariousMethodsAndMethodArgumentsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v7\\MoveForeignTypesToOverrideChildTcaRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v7/MoveForeignTypesToOverrideChildTcaRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v7\\RefactorArrayBrowserWrapValueRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v7/RefactorArrayBrowserWrapValueRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v7\\RefactorGraphicalFunctionsTempPathAndCreateTemSubDirRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v7/RefactorGraphicalFunctionsTempPathAndCreateTemSubDirRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v7\\RefactorPrintContentMethodsRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v7/RefactorPrintContentMethodsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v7\\RefactorRemovedMarkerMethodsFromContentObjectRendererRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v7/RefactorRemovedMarkerMethodsFromContentObjectRendererRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v7\\RemoveConfigMaxFromInputDateTimeFieldsRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v7/RemoveConfigMaxFromInputDateTimeFieldsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v7\\RemoveLocalizationModeKeepIfNeededRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v7/RemoveLocalizationModeKeepIfNeededRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v7\\TemplateServiceSplitConfArrayRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v7/TemplateServiceSplitConfArrayRector.php',
'Ssch\\TYPO3Rector\\Rector\\v8\\v7\\UseCachingFrameworkInsteadGetAndStoreHashRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v8/v7/UseCachingFrameworkInsteadGetAndStoreHashRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\CheckForExtensionInfoRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v0/CheckForExtensionInfoRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\CheckForExtensionVersionRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v0/CheckForExtensionVersionRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\DatabaseConnectionToDbalRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v0/DatabaseConnectionToDbalRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\FindByPidsAndAuthorIdRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v0/FindByPidsAndAuthorIdRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\GeneratePageTitleRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v0/GeneratePageTitleRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\IgnoreValidationAnnotationRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v0/IgnoreValidationAnnotationRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\InjectAnnotationRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v0/InjectAnnotationRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\MetaTagManagementRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v0/MetaTagManagementRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\MoveRenderArgumentsToInitializeArgumentsMethodRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v0/MoveRenderArgumentsToInitializeArgumentsMethodRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\RefactorBackendUtilityGetPagesTSconfigRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v0/RefactorBackendUtilityGetPagesTSconfigRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\RefactorDeprecationLogRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v0/RefactorDeprecationLogRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\RefactorMethodsFromExtensionManagementUtilityRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v0/RefactorMethodsFromExtensionManagementUtilityRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\RemoveMethodInitTCARector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v0/RemoveMethodInitTCARector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\RemoveOptionLocalizeChildrenAtParentLocalizationRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v0/RemoveOptionLocalizeChildrenAtParentLocalizationRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\RemovePropertiesFromSimpleDataHandlerControllerRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v0/RemovePropertiesFromSimpleDataHandlerControllerRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\RemoveSecondArgumentGeneralUtilityMkdirDeepRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v0/RemoveSecondArgumentGeneralUtilityMkdirDeepRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\ReplaceAnnotationRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v0/ReplaceAnnotationRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\ReplaceExtKeyWithExtensionKeyRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v0/ReplaceExtKeyWithExtensionKeyRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\ReplacedGeneralUtilitySysLogWithLogginApiRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v0/ReplacedGeneralUtilitySysLogWithLogginApiRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\SubstituteCacheWrapperMethodsRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v0/SubstituteCacheWrapperMethodsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\SubstituteConstantParsetimeStartRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v0/SubstituteConstantParsetimeStartRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\SubstituteGeneralUtilityDevLogRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v0/SubstituteGeneralUtilityDevLogRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\UseExtensionConfigurationApiRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v0/UseExtensionConfigurationApiRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\UseLogMethodInsteadOfNewLog2Rector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v0/UseLogMethodInsteadOfNewLog2Rector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\UseNewComponentIdForPageTreeRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v0/UseNewComponentIdForPageTreeRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v0\\UseRenderingContextGetControllerContextRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v0/UseRenderingContextGetControllerContextRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v2\\GeneralUtilityGetUrlRequestHeadersRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v2/GeneralUtilityGetUrlRequestHeadersRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v2\\PageNotFoundAndErrorHandlingRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v2/PageNotFoundAndErrorHandlingRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v2\\RenameMethodCallToEnvironmentMethodCallRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v2/RenameMethodCallToEnvironmentMethodCallRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v3\\BackendUserAuthenticationSimplelogRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v3/BackendUserAuthenticationSimplelogRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v3\\BackendUtilityGetModuleUrlRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v3/BackendUtilityGetModuleUrlRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v3\\CopyMethodGetPidForModTSconfigRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v3/CopyMethodGetPidForModTSconfigRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v3\\MoveLanguageFilesFromExtensionLangRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v3/MoveLanguageFilesFromExtensionLangRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v3\\PhpOptionsUtilityRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v3/PhpOptionsUtilityRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v3\\PropertyUserTsToMethodGetTsConfigOfBackendUserAuthenticationRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v3/PropertyUserTsToMethodGetTsConfigOfBackendUserAuthenticationRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v3\\RefactorTsConfigRelatedMethodsRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v3/RefactorTsConfigRelatedMethodsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v3\\RemoveColPosParameterRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v3/RemoveColPosParameterRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v3\\UseMethodGetPageShortcutDirectlyFromSysPageRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v3/UseMethodGetPageShortcutDirectlyFromSysPageRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v3\\ValidateAnnotationRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v3/ValidateAnnotationRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\BackendUtilityShortcutExistsRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v4/BackendUtilityShortcutExistsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\CallEnableFieldsFromPageRepositoryRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v4/CallEnableFieldsFromPageRepositoryRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\ConstantsToEnvironmentApiCallRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v4/ConstantsToEnvironmentApiCallRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\DocumentTemplateAddStyleSheetRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v4/DocumentTemplateAddStyleSheetRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\RefactorDeprecatedConcatenateMethodsPageRendererRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v4/RefactorDeprecatedConcatenateMethodsPageRendererRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\RefactorExplodeUrl2ArrayFromGeneralUtilityRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v4/RefactorExplodeUrl2ArrayFromGeneralUtilityRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\RemoveInitMethodGraphicalFunctionsRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v4/RemoveInitMethodGraphicalFunctionsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\RemoveInitMethodTemplateServiceRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v4/RemoveInitMethodTemplateServiceRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\RemoveInitTemplateMethodCallRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v4/RemoveInitTemplateMethodCallRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\RemoveMethodsFromEidUtilityAndTsfeRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v4/RemoveMethodsFromEidUtilityAndTsfeRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\SystemEnvironmentBuilderConstantsRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v4/SystemEnvironmentBuilderConstantsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\TemplateGetFileNameToFilePathSanitizerRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v4/TemplateGetFileNameToFilePathSanitizerRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\UseAddJsFileInsteadOfLoadJavascriptLibRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v4/UseAddJsFileInsteadOfLoadJavascriptLibRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\UseClassSchemaInsteadReflectionServiceMethodsRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v4/UseClassSchemaInsteadReflectionServiceMethodsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\UseContextApiForVersioningWorkspaceIdRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v4/UseContextApiForVersioningWorkspaceIdRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\UseContextApiRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v4/UseContextApiRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\UseGetMenuInsteadOfGetFirstWebPageRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v4/UseGetMenuInsteadOfGetFirstWebPageRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\UseLanguageAspectForTsfeLanguagePropertiesRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v4/UseLanguageAspectForTsfeLanguagePropertiesRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\UseRootlineUtilityInsteadOfGetRootlineMethodRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v4/UseRootlineUtilityInsteadOfGetRootlineMethodRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\UseSignalAfterExtensionInstallInsteadOfHasInstalledExtensionsRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v4/UseSignalAfterExtensionInstallInsteadOfHasInstalledExtensionsRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v4\\UseSignalTablesDefinitionIsBeingBuiltSqlExpectedSchemaServiceRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v4/UseSignalTablesDefinitionIsBeingBuiltSqlExpectedSchemaServiceRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v5\\ExtbaseCommandControllerToSymfonyCommandRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v5/ExtbaseCommandControllerToSymfonyCommandRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v5\\ExtbaseCommandControllerToSymfonyCommand\\AddArgumentToSymfonyCommandRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v5/ExtbaseCommandControllerToSymfonyCommand/AddArgumentToSymfonyCommandRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v5\\ExtbaseCommandControllerToSymfonyCommand\\AddCommandsToReturnRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v5/ExtbaseCommandControllerToSymfonyCommand/AddCommandsToReturnRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v5\\RefactorProcessOutputRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v5/RefactorProcessOutputRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v5\\RefactorPropertiesOfTypoScriptFrontendControllerRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v5/RefactorPropertiesOfTypoScriptFrontendControllerRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v5\\RefactorTypeInternalTypeFileAndFileReferenceToFalRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v5/RefactorTypeInternalTypeFileAndFileReferenceToFalRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v5\\RemoveFlushCachesRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v5/RemoveFlushCachesRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v5\\RemoveInitMethodFromPageRepositoryRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v5/RemoveInitMethodFromPageRepositoryRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v5\\RemoveInternalAnnotationRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v5/RemoveInternalAnnotationRector.php',
'Ssch\\TYPO3Rector\\Rector\\v9\\v5\\UsePackageManagerActivePackagesRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Rector/v9/v5/UsePackageManagerActivePackagesRector.php',
'Ssch\\TYPO3Rector\\Resources\\Icons\\IconsProcessor' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Resources/Icons/IconsProcessor.php',
'Ssch\\TYPO3Rector\\Resources\\Icons\\Rector\\IconsRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Resources/Icons/Rector/IconsRector.php',
'Ssch\\TYPO3Rector\\Set\\Extension\\NimutTestingFrameworkSetList' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Set/Extension/NimutTestingFrameworkSetList.php',
'Ssch\\TYPO3Rector\\Set\\Extension\\SolrSetList' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Set/Extension/SolrSetList.php',
'Ssch\\TYPO3Rector\\Set\\Typo3SetList' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Set/Typo3SetList.php',
'Ssch\\TYPO3Rector\\Template\\TemplateResolver' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Template/TemplateResolver.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\AbstractGlobalConditionMatcher' => __DIR__ . '/..' . '/ssch/typo3-rector/src/TypoScript/Conditions/AbstractGlobalConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\AbstractRootlineConditionMatcher' => __DIR__ . '/..' . '/ssch/typo3-rector/src/TypoScript/Conditions/AbstractRootlineConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\ApplicationContextConditionMatcher' => __DIR__ . '/..' . '/ssch/typo3-rector/src/TypoScript/Conditions/ApplicationContextConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\BrowserConditionMatcher' => __DIR__ . '/..' . '/ssch/typo3-rector/src/TypoScript/Conditions/BrowserConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\CompatVersionConditionMatcher' => __DIR__ . '/..' . '/ssch/typo3-rector/src/TypoScript/Conditions/CompatVersionConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\GlobalStringConditionMatcher' => __DIR__ . '/..' . '/ssch/typo3-rector/src/TypoScript/Conditions/GlobalStringConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\GlobalVarConditionMatcher' => __DIR__ . '/..' . '/ssch/typo3-rector/src/TypoScript/Conditions/GlobalVarConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\HostnameConditionMatcher' => __DIR__ . '/..' . '/ssch/typo3-rector/src/TypoScript/Conditions/HostnameConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\IPConditionMatcher' => __DIR__ . '/..' . '/ssch/typo3-rector/src/TypoScript/Conditions/IPConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\LanguageConditionMatcher' => __DIR__ . '/..' . '/ssch/typo3-rector/src/TypoScript/Conditions/LanguageConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\LoginUserConditionMatcher' => __DIR__ . '/..' . '/ssch/typo3-rector/src/TypoScript/Conditions/LoginUserConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\PIDinRootlineConditionMatcher' => __DIR__ . '/..' . '/ssch/typo3-rector/src/TypoScript/Conditions/PIDinRootlineConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\PIDupinRootlineConditionMatcher' => __DIR__ . '/..' . '/ssch/typo3-rector/src/TypoScript/Conditions/PIDupinRootlineConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\PageConditionMatcher' => __DIR__ . '/..' . '/ssch/typo3-rector/src/TypoScript/Conditions/PageConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\TimeConditionMatcher' => __DIR__ . '/..' . '/ssch/typo3-rector/src/TypoScript/Conditions/TimeConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\TreeLevelConditionMatcher' => __DIR__ . '/..' . '/ssch/typo3-rector/src/TypoScript/Conditions/TreeLevelConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\UsergroupConditionMatcherMatcher' => __DIR__ . '/..' . '/ssch/typo3-rector/src/TypoScript/Conditions/UsergroupConditionMatcherMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\Conditions\\VersionConditionMatcher' => __DIR__ . '/..' . '/ssch/typo3-rector/src/TypoScript/Conditions/VersionConditionMatcher.php',
'Ssch\\TYPO3Rector\\TypoScript\\TypoScriptProcessor' => __DIR__ . '/..' . '/ssch/typo3-rector/src/TypoScript/TypoScriptProcessor.php',
'Ssch\\TYPO3Rector\\TypoScript\\Visitors\\AbstractVisitor' => __DIR__ . '/..' . '/ssch/typo3-rector/src/TypoScript/Visitors/AbstractVisitor.php',
'Ssch\\TYPO3Rector\\TypoScript\\Visitors\\ExtbasePersistenceVisitor' => __DIR__ . '/..' . '/ssch/typo3-rector/src/TypoScript/Visitors/ExtbasePersistenceVisitor.php',
'Ssch\\TYPO3Rector\\TypoScript\\Visitors\\FileIncludeToImportStatementVisitor' => __DIR__ . '/..' . '/ssch/typo3-rector/src/TypoScript/Visitors/FileIncludeToImportStatementVisitor.php',
'Ssch\\TYPO3Rector\\TypoScript\\Visitors\\OldConditionToExpressionLanguageVisitor' => __DIR__ . '/..' . '/ssch/typo3-rector/src/TypoScript/Visitors/OldConditionToExpressionLanguageVisitor.php',
'Ssch\\TYPO3Rector\\Yaml\\Form\\FormYamlProcessor' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Yaml/Form/FormYamlProcessor.php',
'Ssch\\TYPO3Rector\\Yaml\\Form\\Rector\\EmailFinisherRector' => __DIR__ . '/..' . '/ssch/typo3-rector/src/Yaml/Form/Rector/EmailFinisherRector.php',
'Stringable' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
'Symplify\\RuleDocGenerator\\Contract\\Category\\CategoryInfererInterface' => __DIR__ . '/..' . '/symplify/rule-doc-generator-contracts/src/Contract/Category/CategoryInfererInterface.php',
'Symplify\\RuleDocGenerator\\Contract\\CodeSampleInterface' => __DIR__ . '/..' . '/symplify/rule-doc-generator-contracts/src/Contract/CodeSampleInterface.php',
@ -3471,9 +3812,9 @@ class ComposerStaticInitda5ea7f98f0e497201928a63cf7cb800
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInitda5ea7f98f0e497201928a63cf7cb800::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInitda5ea7f98f0e497201928a63cf7cb800::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInitda5ea7f98f0e497201928a63cf7cb800::$classMap;
$loader->prefixLengthsPsr4 = ComposerStaticInit0cd9784b5ef4a6016015d565dfa25f6c::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit0cd9784b5ef4a6016015d565dfa25f6c::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit0cd9784b5ef4a6016015d565dfa25f6c::$classMap;
}, null, ClassLoader::class);
}

View File

@ -384,6 +384,70 @@
],
"install-path": "..\/ergebnis\/json-printer"
},
{
"name": "helmich\/typo3-typoscript-parser",
"version": "v2.3.1",
"version_normalized": "2.3.1.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/martin-helmich\/typo3-typoscript-parser.git",
"reference": "366c38db68a83503ba4148cd77d77e08deae084e"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/martin-helmich\/typo3-typoscript-parser\/zipball\/366c38db68a83503ba4148cd77d77e08deae084e",
"reference": "366c38db68a83503ba4148cd77d77e08deae084e",
"shasum": ""
},
"require": {
"php": ">=7.2",
"symfony\/config": "~3.0|~4.0|~5.0",
"symfony\/dependency-injection": "~3.0|~4.0|~5.0",
"symfony\/yaml": "~3.0|~4.0|~5.0"
},
"require-dev": {
"php-vfs\/php-vfs": "^1.3",
"phpunit\/phpunit": "^8.0",
"symfony\/phpunit-bridge": "~2.7|~3.0|~4.0|~5.0",
"vimeo\/psalm": "^4.7"
},
"time": "2021-05-19T07:51:19+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
"psr-4": {
"RectorPrefix20210519\\Helmich\\TypoScriptParser\\": "src\/"
}
},
"notification-url": "https:\/\/packagist.org\/downloads\/",
"license": [
"MIT"
],
"authors": [
{
"name": "Martin Helmich",
"email": "m.helmich@mittwald.de",
"role": "lead"
}
],
"description": "Parser for the TYPO3 configuration language TypoScript.",
"homepage": "https:\/\/github.com\/martin-helmich",
"support": {
"issues": "https:\/\/github.com\/martin-helmich\/typo3-typoscript-parser\/issues",
"source": "https:\/\/github.com\/martin-helmich\/typo3-typoscript-parser\/tree\/v2.3.1"
},
"funding": [
{
"url": "https:\/\/donate.helmich.me",
"type": "custom"
},
{
"url": "https:\/\/github.com\/martin-helmich",
"type": "github"
}
],
"install-path": "..\/helmich\/typo3-typoscript-parser"
},
{
"name": "idiosyncratic\/editorconfig",
"version": "0.1.1",
@ -1685,6 +1749,82 @@
],
"install-path": "..\/sebastian\/diff"
},
{
"name": "ssch\/typo3-rector",
"version": "v0.11.8",
"version_normalized": "0.11.8.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/sabbelasichon\/typo3-rector.git",
"reference": "ab33106ea7cd0baeb29647a794d628bd857e0ea1"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/sabbelasichon\/typo3-rector\/zipball\/ab33106ea7cd0baeb29647a794d628bd857e0ea1",
"reference": "ab33106ea7cd0baeb29647a794d628bd857e0ea1",
"shasum": ""
},
"require": {
"helmich\/typo3-typoscript-parser": "^2.3.0",
"php": ">=8.0",
"symfony\/var-exporter": "^5.2"
},
"conflict": {
"rector\/rector": "<0.11"
},
"require-dev": {
"phpspec\/prophecy-phpunit": "^2.0",
"phpstan\/extension-installer": "^1.1",
"phpunit\/phpunit": "^9.5",
"rector\/rector-generator": "^0.1.7",
"rector\/rector-phpstan-rules": "^0.1",
"rector\/rector-src": "^0.11",
"symplify\/coding-standard": "^9.3",
"symplify\/easy-coding-standard": "^9.3",
"symplify\/phpstan-extensions": "^9.3",
"symplify\/phpstan-rules": "^9.3",
"symplify\/rule-doc-generator": "^9.3",
"tracy\/tracy": "^2.8"
},
"time": "2021-05-19T14:40:38+00:00",
"type": "rector-extension",
"extra": {
"rector": {
"includes": [
"config\/config.php"
]
}
},
"installation-source": "dist",
"autoload": {
"psr-4": {
"Ssch\\TYPO3Rector\\": "src",
"Ssch\\TYPO3Rector\\PHPStan\\": "utils\/phpstan\/src"
}
},
"notification-url": "https:\/\/packagist.org\/downloads\/",
"license": [
"MIT"
],
"authors": [
{
"name": "Sebastian Schreiber",
"email": "breakpoint@schreibersebastian.de"
}
],
"description": "Instant fixes for your TYPO3 code by using Rector.",
"support": {
"issues": "https:\/\/github.com\/sabbelasichon\/typo3-rector\/issues",
"source": "https:\/\/github.com\/sabbelasichon\/typo3-rector\/tree\/v0.11.8"
},
"funding": [
{
"url": "https:\/\/github.com\/sabbelasichon",
"type": "github"
}
],
"install-path": "..\/ssch\/typo3-rector"
},
{
"name": "symfony\/config",
"version": "v5.2.8",
@ -3497,6 +3637,82 @@
],
"install-path": "..\/symfony\/var-dumper"
},
{
"name": "symfony\/var-exporter",
"version": "v5.2.8",
"version_normalized": "5.2.8.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/symfony\/var-exporter.git",
"reference": "d26db2d2b2d7eb2c1adb8545179f8803998b8237"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/symfony\/var-exporter\/zipball\/d26db2d2b2d7eb2c1adb8545179f8803998b8237",
"reference": "d26db2d2b2d7eb2c1adb8545179f8803998b8237",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"symfony\/polyfill-php80": "^1.15"
},
"require-dev": {
"symfony\/var-dumper": "^4.4.9|^5.0.9"
},
"time": "2021-05-07T13:42:21+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
"psr-4": {
"RectorPrefix20210519\\Symfony\\Component\\VarExporter\\": ""
},
"exclude-from-classmap": [
"\/Tests\/"
]
},
"notification-url": "https:\/\/packagist.org\/downloads\/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https:\/\/symfony.com\/contributors"
}
],
"description": "Allows exporting any serializable PHP data structure to plain PHP code",
"homepage": "https:\/\/symfony.com",
"keywords": [
"clone",
"construct",
"export",
"hydrate",
"instantiate",
"serialize"
],
"support": {
"source": "https:\/\/github.com\/symfony\/var-exporter\/tree\/v5.3.0-BETA3"
},
"funding": [
{
"url": "https:\/\/symfony.com\/sponsor",
"type": "custom"
},
{
"url": "https:\/\/github.com\/fabpot",
"type": "github"
},
{
"url": "https:\/\/tidelift.com\/funding\/github\/packagist\/symfony\/symfony",
"type": "tidelift"
}
],
"install-path": "..\/symfony\/var-exporter"
},
{
"name": "symfony\/yaml",
"version": "v5.2.9",

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,84 @@
TypoScript Parser
=================
![Build Status](https://github.com/martin-helmich/typo3-typoscript-parser/workflows/PHP%20type%20checking%20and%20unit%20testing/badge.svg?branch=master)
[![Code Climate](https://codeclimate.com/github/martin-helmich/typo3-typoscript-parser/badges/gpa.svg)](https://codeclimate.com/github/martin-helmich/typo3-typoscript-parser)
[![Test Coverage](https://codeclimate.com/github/martin-helmich/typo3-typoscript-parser/badges/coverage.svg)](https://codeclimate.com/github/martin-helmich/typo3-typoscript-parser/coverage)
[![Dependabot Status](https://api.dependabot.com/badges/status?host=github&repo=martin-helmich/typo3-typoscript-parser)](https://dependabot.com)
Author
======
Martin Helmich (typo3 at martin-helmich dot de)
Synopsis
========
This package contains a library offering a tokenizer and a parser for TYPO3's
configuration language, "TypoScript".
Why?
====
Just as [typoscript-lint](https://github.com/martin-helmich/typo3-typoscript-lint),
this project started of as a simple programming excercise. Tokenizer and parser
could probably implemented in a better way (it's open source, go for it!).
Usage
=====
Parsing TypoScript
------------------
You can use the `Helmich\TypoScriptParser\Parser\Parser` class to generate a syntax
tree from source code input. The class requires an instance of the `Helmich\TypoScriptParser\Tokenizer\Tokenizer`
class as dependency. When using the Symfony DependencyInjection component, you can
simply use the service `parser` for this.
```php
use Helmich\TypoScriptParser\Parser\Parser,
Helmich\TypoScriptParser\Tokenizer\Tokenizer;
$typoscript = file_get_contents('path/to/typoscript.ts');
$parser = new Parser(new Tokenizer());
$statements = $parser->parse($typoscript);
```
Analyzing TypoScript
--------------------
You can analyze the generated syntax tree by implementing [visitors](http://en.wikipedia.org/wiki/Visitor_pattern).
For example, let's implement a check that checks for non-CGL-compliant variable
names (there's probably no use case for that, just as a simple example):
First, we need the respective visitor implementation:
```php
use Helmich\TypoScriptParser\Parser\Traverser\Visitor,
Helmich\TypoScriptParser\Parser\AST\Statement,
Helmich\TypoScriptParser\Parser\AST\Operator\Assignment,
Helmich\TypoScriptParser\Parser\AST\NestedAssignment;
class VariableNamingCheckVisitor implements Visitor {
public function enterTree(array $statements) {}
public function enterNode(Statement $statement) {
if ($statement instanceof Assignment || $statement instanceof NestedAssignment) {
if (!preg_match(',^[0-9]+$,', $statement->object->relativePath)) {
throw new \Exception('Variable names must be numbers only!');
}
}
}
public function exitNode(Statement $statement) {}
public function exitTree(array $statements) {}
}
```
Then traverse the syntax tree:
```php
use Helmich\TypoScriptParser\Parser\Traverser\Traverser;
$traverser = new Traverser($statements);
$traverser->addVisitor(new VariableNamingCheckVisitor());
$traverser->walk();
```

View File

@ -0,0 +1,43 @@
{
"name": "helmich\/typo3-typoscript-parser",
"description": "Parser for the TYPO3 configuration language TypoScript.",
"type": "library",
"license": "MIT",
"homepage": "https:\/\/github.com\/martin-helmich",
"authors": [
{
"name": "Martin Helmich",
"email": "m.helmich@mittwald.de",
"role": "lead"
}
],
"support": {
"issues": "https:\/\/github.com\/martin-helmich\/typo3-typoscript-parser\/issues"
},
"require": {
"php": ">=7.2",
"symfony\/dependency-injection": "~3.0|~4.0|~5.0",
"symfony\/config": "~3.0|~4.0|~5.0",
"symfony\/yaml": "~3.0|~4.0|~5.0"
},
"require-dev": {
"phpunit\/phpunit": "^8.0",
"php-vfs\/php-vfs": "^1.3",
"symfony\/phpunit-bridge": "~2.7|~3.0|~4.0|~5.0",
"vimeo\/psalm": "^4.7"
},
"autoload": {
"psr-4": {
"RectorPrefix20210519\\Helmich\\TypoScriptParser\\": "src\/"
}
},
"autoload-dev": {
"files": [
"vendor\/phpunit\/phpunit\/src\/Framework\/Assert\/Functions.php"
],
"psr-4": {
"RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tests\\Functional\\": "tests\/functional",
"RectorPrefix20210519\\Helmich\\TypoScriptParser\\Tests\\Unit\\": "tests\/unit"
}
}
}

View File

@ -0,0 +1,10 @@
services:
tokenizer:
class: RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Tokenizer
token_printer_structured:
class: RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Printer\StructuredTokenPrinter
token_printer_code:
class: RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Printer\CodeTokenPrinter
parser:
class: RectorPrefix20210519\Helmich\TypoScriptParser\Parser\Parser
arguments: ['@tokenizer']

View File

@ -0,0 +1,103 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST;
use PhpParser\Node\Stmt\Nop;
/**
* Helper class for quickly building AST nodes
*
* @package Helmich\TypoScriptParser
* @subpackage Parser\AST
*/
class Builder
{
/** @var Operator\Builder */
private $operatorBuilder;
/**
* Builder constructor.
*/
public function __construct()
{
$this->operatorBuilder = new \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator\Builder();
}
/**
* @param string $condition
* @param Statement[] $if
* @param Statement[] $else
* @param int $line
* @return ConditionalStatement
*/
public function condition(string $condition, array $if, array $else, int $line) : \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ConditionalStatement
{
return new \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ConditionalStatement($condition, $if, $else, $line);
}
public function comment(string $comment, int $line) : \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Comment
{
return new \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Comment($comment, $line);
}
public function multilineComment(string $comment, int $line) : \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\MultilineComment
{
return new \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\MultilineComment($comment, $line);
}
public function nop(int $line) : \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\NopStatement
{
return new \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\NopStatement($line);
}
/**
* @param string $directory
* @param string|null $extensions
* @param string|null $condition
* @param int $line
* @return DirectoryIncludeStatement
*/
public function includeDirectory(string $directory, ?string $extensions, ?string $condition, int $line) : \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\DirectoryIncludeStatement
{
return new \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\DirectoryIncludeStatement($directory, $extensions, $condition, $line);
}
/**
* @param string $file
* @param boolean $newSyntax
* @param string|null $condition
* @param int $line
* @return FileIncludeStatement
*/
public function includeFile(string $file, bool $newSyntax, ?string $condition, int $line) : \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\FileIncludeStatement
{
return new \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\FileIncludeStatement($file, $newSyntax, $condition, $line);
}
/**
* @param ObjectPath $path
* @param Statement[] $statements
* @param int $line
* @return NestedAssignment
*/
public function nested(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ObjectPath $path, array $statements, int $line) : \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\NestedAssignment
{
return new \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\NestedAssignment($path, $statements, $line);
}
/**
* @param string $value
* @return Scalar
*/
public function scalar(string $value) : \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Scalar
{
return new \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Scalar($value);
}
/**
* @param string $absolute
* @param string $relative
* @return ObjectPath
*/
public function path(string $absolute, string $relative) : \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ObjectPath
{
return new \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ObjectPath($absolute, $relative);
}
/**
* @return Operator\Builder
*/
public function op() : \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator\Builder
{
return $this->operatorBuilder;
}
}

View File

@ -0,0 +1,17 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST;
final class Comment extends \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Statement
{
/**
* @var string
*/
public $comment;
public function __construct(string $comment, int $sourceLine)
{
parent::__construct($sourceLine);
$this->comment = $comment;
}
}

View File

@ -0,0 +1,47 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST;
/**
* A conditional statement with a condition, an if-branch and an optional else-branch.
*
* @package Helmich\TypoScriptParser
* @subpackage Parser\AST
*/
class ConditionalStatement extends \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Statement
{
/**
* The condition to evaluate.
*
* @var string
*/
public $condition;
/**
* Statements within the if-branch.
*
* @var Statement[]
*/
public $ifStatements = [];
/**
* Statements within the else-branch.
*
* @var Statement[]
*/
public $elseStatements = [];
/**
* Constructs a conditional statement.
*
* @param string $condition The condition statement
* @param Statement[] $ifStatements The statements in the if-branch.
* @param Statement[] $elseStatements The statements in the else-branch (may be empty).
* @param int $sourceLine The original source line.
*/
public function __construct(string $condition, array $ifStatements, array $elseStatements, int $sourceLine)
{
parent::__construct($sourceLine);
$this->condition = $condition;
$this->ifStatements = $ifStatements;
$this->elseStatements = $elseStatements;
}
}

View File

@ -0,0 +1,57 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST;
/**
* Include statements that includes many TypoScript files from a directory.
*
* @package Helmich\TypoScriptParser
* @subpackage Parser\AST
*/
class DirectoryIncludeStatement extends \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\IncludeStatement
{
/**
* The directory to include from.
*
* @var string
*/
public $directory;
/**
* Conditional statement that is attached to this include
*
* @var string|null
*/
public $condition;
/**
* Same as extensions
*
* @var string|null
* @deprecated Use `extensions` instead
*/
public $extension = null;
/**
* An optional file extension filter. May be NULL.
*
* @var string|null
*/
public $extensions = null;
/**
* Constructs a new directory include statement.
*
* @param string $directory The directory to include from.
* @param string|null $extensions The file extension filter. MAY be NULL.
* @param string|null $condition Conditional statement that is attached to this include
* @param int $sourceLine The original source line.
*
* @psalm-suppress DeprecatedProperty
*/
public function __construct(string $directory, ?string $extensions, ?string $condition, int $sourceLine)
{
parent::__construct($sourceLine);
$this->directory = $directory;
$this->extension = $extensions;
$this->extensions = $extensions;
$this->condition = $condition;
}
}

View File

@ -0,0 +1,47 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST;
/**
* Include statements that includes a single TypoScript file.
*
* @package Helmich\TypoScriptParser
* @subpackage Parser\AST
*/
class FileIncludeStatement extends \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\IncludeStatement
{
/**
* The name of the file to include.
*
* @var string
*/
public $filename;
/**
* Conditional statement that is attached to this include
*
* @var string|null
*/
public $condition;
/**
* Determines if this statement uses the new @import syntax
*
* @var boolean
*/
public $newSyntax;
/**
* Constructs a new include statement.
*
* @param string $filename The name of the file to include.
* @param boolean $newSyntax Determines if this statement uses the new import syntax
* @param string|null $condition Conditional statement that is attached to this include
* @param int $sourceLine The original source line.
*/
public function __construct(string $filename, bool $newSyntax, ?string $condition, int $sourceLine)
{
parent::__construct($sourceLine);
$this->filename = $filename;
$this->newSyntax = $newSyntax;
$this->condition = $condition;
}
}

View File

@ -0,0 +1,14 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST;
/**
* Abstract base class for include statements.
*
* @package Helmich\TypoScriptParser
* @subpackage Parser\AST
*/
abstract class IncludeStatement extends \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Statement
{
}

View File

@ -0,0 +1,17 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST;
final class MultilineComment extends \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Statement
{
/**
* @var string
*/
public $comment;
public function __construct(string $comment, int $sourceLine)
{
parent::__construct($sourceLine);
$this->comment = \preg_replace('/[ \\0\\r\\x0B\\t]/', '', $comment);
}
}

View File

@ -0,0 +1,49 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST;
/**
* A nested assignment statement.
*
* Example:
*
* foo {
* bar = 1
* baz = 2
* }
*
* Which is equivalent to
*
* foo.bar = 1
* foo.baz = 2
*
* @package Helmich\TypoScriptParser
* @subpackage Parser\AST
*/
class NestedAssignment extends \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Statement
{
/**
* The object to operate on.
*
* @var ObjectPath
*/
public $object;
/**
* The nested statements.
*
* @var Statement[]
*/
public $statements;
/**
* @param ObjectPath $object The object to operate on.
* @param Statement[] $statements The nested statements.
* @param int $sourceLine The original source line.
*/
public function __construct(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ObjectPath $object, array $statements, int $sourceLine)
{
parent::__construct($sourceLine);
$this->object = $object;
$this->statements = $statements;
}
}

View File

@ -0,0 +1,8 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST;
final class NopStatement extends \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Statement
{
}

View File

@ -0,0 +1,69 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST;
/**
* An object path.
*
* @package Helmich\TypoScriptParser
* @subpackage Parser\AST
*/
class ObjectPath
{
/**
* The relative object path, as specified in the source code.
*
* @var string
*/
public $relativeName;
/**
* The absolute object path, as evaluated from parent nested statements.
*
* @var string
*/
public $absoluteName;
/**
* Constructs a new object path.
*
* @param string $absoluteName The absolute object path.
* @param string $relativeName The relative object path.
*/
public function __construct(string $absoluteName, string $relativeName)
{
$this->absoluteName = $absoluteName;
$this->relativeName = $relativeName;
}
/**
* @return int
*/
public function depth() : int
{
return \count(\explode('.', $this->absoluteName));
}
/**
* Builds the path to the parent object.
*
* @return ObjectPath The path to the parent object.
*/
public function parent() : \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ObjectPath
{
$components = \explode('.', $this->absoluteName);
if (\count($components) === 1) {
return new \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\RootObjectPath();
}
\array_pop($components);
return new self(\implode('.', $components), $components[\count($components) - 1]);
}
/**
* @param string $name
* @return self
*/
public function append($name)
{
if ($name[0] === '.') {
return new self($this->absoluteName . $name, $name);
}
return new self($this->absoluteName . '.' . $name, $name);
}
}

View File

@ -0,0 +1,40 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ObjectPath;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Scalar;
/**
* An assignment statement.
*
* Example:
*
* foo = bar
*
* @package Helmich\TypoScriptParser
* @subpackage Parser\AST\Operator
*/
class Assignment extends \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator\BinaryOperator
{
/**
* The value to be assigned. Should be a scalar value, which MAY contain
* a constant evaluation expression (like "${foo.bar}").
*
* @var Scalar
*/
public $value;
/**
* Constructs an assignment.
*
* @param ObjectPath $object The object to which to assign the value.
* @param Scalar $value The value to be assigned.
* @param int $sourceLine The source line.
*/
public function __construct(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ObjectPath $object, \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Scalar $value, int $sourceLine)
{
parent::__construct($sourceLine);
$this->object = $object;
$this->value = $value;
}
}

View File

@ -0,0 +1,21 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ObjectPath;
/**
* Abstract base class for statements with binary operators.
*
* @package Helmich\TypoScriptParser
* @subpackage Parser\AST\Operator
*/
abstract class BinaryObjectOperator extends \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator\BinaryOperator
{
/**
* The target object to reference to or copy from.
*
* @var ObjectPath
*/
public $target;
}

View File

@ -0,0 +1,22 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ObjectPath;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Statement;
/**
* Abstract base class for statements with binary operators.
*
* @package Helmich\TypoScriptParser
* @subpcakage Parser\AST\Operator
*/
abstract class BinaryOperator extends \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Statement
{
/**
* The object on the left-hand side of the statement.
*
* @var ObjectPath
*/
public $object;
}

View File

@ -0,0 +1,27 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator;
/**
* Helper class for quickly building operator AST nodes
*
* @package Helmich\TypoScriptParser
* @subpackage Parser\AST\Operator
*
* @method ObjectCreation objectCreation($path, $value, $line)
* @method Assignment assignment($path, $value, $line)
* @method Copy copy($path, $value, $line)
* @method Reference reference($path, $value, $line)
* @method Delete delete($path, $line)
* @method ModificationCall modificationCall($method, $arguments)
* @method Modification modification($path, $call, $line)
*/
class Builder
{
public function __call(string $name, array $args)
{
$class = __NAMESPACE__ . '\\' . \ucfirst($name);
return new $class(...$args);
}
}

View File

@ -0,0 +1,33 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ObjectPath;
/**
* A copy assignment.
*
* Example:
*
* foo = bar
* baz < foo
*
* @package Helmich\TypoScriptParser
* @subpackage Parser\AST\Operator
*/
class Copy extends \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator\BinaryObjectOperator
{
/**
* Constructs a copy statement.
*
* @param ObjectPath $object The object to copy the value to.
* @param ObjectPath $target The object to copy the value from.
* @param int $sourceLine The original source line.
*/
public function __construct(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ObjectPath $object, \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ObjectPath $target, int $sourceLine)
{
parent::__construct($sourceLine);
$this->object = $object;
$this->target = $target;
}
}

View File

@ -0,0 +1,18 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator;
/**
* A delete operator.
*
* Example:
*
* foo >
*
* @package Helmich\TypoScriptParser
* @subpackage Parser\AST\Operator
*/
class Delete extends \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator\UnaryOperator
{
}

View File

@ -0,0 +1,39 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ObjectPath;
/**
* A modification statement.
*
* Example:
*
* foo = bar
* foo := appendToString(baz)
*
* @package Helmich\TypoScriptParser
* @subpackage Parser\AST\Operator
*/
class Modification extends \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator\BinaryOperator
{
/**
* The modification call.
*
* @var ModificationCall
*/
public $call;
/**
* Constructs a modification statement.
*
* @param ObjectPath $object The object to modify.
* @param ModificationCall $call The modification call.
* @param int $sourceLine The original source line.
*/
public function __construct(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ObjectPath $object, \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator\ModificationCall $call, int $sourceLine)
{
parent::__construct($sourceLine);
$this->object = $object;
$this->call = $call;
}
}

View File

@ -0,0 +1,37 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator;
/**
* A modification call (usually on the right-hand side of a modification statement).
*
* @package Helmich\TypoScriptParser
* @subpackage Parser\AST\Operator
*/
class ModificationCall
{
/**
* The method name.
*
* @var string
*/
public $method;
/**
* The argument list.
*
* @var string
*/
public $arguments;
/**
* Modification call constructor.
*
* @param string $method The method name.
* @param string $arguments The argument list.
*/
public function __construct(string $method, string $arguments)
{
$this->arguments = $arguments;
$this->method = $method;
}
}

View File

@ -0,0 +1,18 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator;
/**
* Object creation statement.
*
* Example:
*
* foo = TEXT
*
* @package Helmich\TypoScriptParser
* @subpackage Parser\AST\Operator
*/
class ObjectCreation extends \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator\Assignment
{
}

View File

@ -0,0 +1,33 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ObjectPath;
/**
* A reference statement.
*
* Example:
*
* foo = bar
* baz <= foo
*
* @package Helmich\TypoScriptParser
* @subpackage Parser\AST\Operator
*/
class Reference extends \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator\BinaryObjectOperator
{
/**
* Constructs a new reference statement.
*
* @param ObjectPath $object The reference object.
* @param ObjectPath $target The target object.
* @param int $sourceLine The original source line.
*/
public function __construct(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ObjectPath $object, \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ObjectPath $target, int $sourceLine)
{
parent::__construct($sourceLine);
$this->object = $object;
$this->target = $target;
}
}

View File

@ -0,0 +1,33 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ObjectPath;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Statement;
/**
* Abstract base class for statements with unary operators.
*
* @package Helmich\TypoScriptParser
* @subpackage Parser\AST\Operator
*/
abstract class UnaryOperator extends \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Statement
{
/**
* The object the operator should be applied on.
*
* @var ObjectPath
*/
public $object;
/**
* Constructs a unary operator statement.
*
* @param ObjectPath $object The object to operate on.
* @param int $sourceLine The original source line.
*/
public function __construct(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ObjectPath $object, int $sourceLine)
{
parent::__construct($sourceLine);
$this->object = $object;
}
}

View File

@ -0,0 +1,43 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST;
/**
* Class RootObjectPath
*
* @package Helmich\TypoScriptParser
* @subpackage Parser\AST
*/
class RootObjectPath extends \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ObjectPath
{
/**
* RootObjectPath constructor.
*/
public function __construct()
{
parent::__construct('', '');
}
/**
* @return ObjectPath
*/
public function parent() : \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ObjectPath
{
return $this;
}
/**
* @return int
*/
public function depth() : int
{
return 0;
}
/**
* @param string $name
* @return ObjectPath
*/
public function append($name) : \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ObjectPath
{
return new \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ObjectPath(\ltrim($name, '.'), $name);
}
}

View File

@ -0,0 +1,29 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST;
/**
* A scalar value.
*
* @package Helmich\TypoScriptParser
* @subpackage Parser\AST
*/
class Scalar
{
/**
* The value.
*
* @var string
*/
public $value;
/**
* Constructs a scalar value.
*
* @param string $value The value.
*/
public function __construct(string $value)
{
$this->value = $value;
}
}

View File

@ -0,0 +1,32 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST;
/**
* Abstract TypoScript statement.
*
* @package Helmich\TypoScriptParser
* @subpackage Parser\AST
*/
abstract class Statement
{
/**
* The original source line. Useful for tracing and debugging.
*
* @var int
*/
public $sourceLine;
/**
* Base statement constructor.
*
* @param int $sourceLine The original source line.
*/
public function __construct(int $sourceLine)
{
if ($sourceLine <= 0) {
throw new \InvalidArgumentException(\sprintf('Source line must be greater than 0 for %s statement (is: %d)!', \get_class($this), $sourceLine));
}
$this->sourceLine = $sourceLine;
}
}

View File

@ -0,0 +1,20 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser;
use Exception;
class ParseError extends \Exception
{
/** @var int|null */
private $sourceLine;
public function __construct(string $message = "", int $code = 0, ?int $line = null, \Exception $previous = null)
{
parent::__construct($message, $code, $previous);
$this->sourceLine = $line;
}
public function getSourceLine() : ?int
{
return $this->sourceLine;
}
}

View File

@ -0,0 +1,362 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser;
use ArrayObject;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Builder;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Statement;
use RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface;
use RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenizerInterface;
/**
* Class Parser
*
* @package Helmich\TypoScriptParser
* @subpackage Parser
*/
class Parser implements \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\ParserInterface
{
/** @var TokenizerInterface */
private $tokenizer;
/** @var Builder */
private $builder;
/**
* Parser constructor.
*
* @param TokenizerInterface $tokenizer
* @param Builder|null $astBuilder
*/
public function __construct(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenizerInterface $tokenizer, \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Builder $astBuilder = null)
{
$this->tokenizer = $tokenizer;
$this->builder = $astBuilder ?: new \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Builder();
}
/**
* Parses a stream resource.
*
* This can be any kind of stream supported by PHP (e.g. a filename or a URL).
*
* @param string $stream The stream resource.
* @return Statement[] The syntax tree.
*/
public function parseStream(string $stream) : array
{
$content = \file_get_contents($stream);
if ($content === \false) {
throw new \InvalidArgumentException("could not open file '{$stream}'");
}
return $this->parseString($content);
}
/**
* Parses a TypoScript string.
*
* @param string $content The string to parse.
* @return Statement[] The syntax tree.
*/
public function parseString(string $content) : array
{
$tokens = $this->tokenizer->tokenizeString($content);
return $this->parseTokens($tokens);
}
/**
* Parses a token stream.
*
* @param TokenInterface[] $tokens The token stream to parse.
* @return Statement[] The syntax tree.
*/
public function parseTokens(array $tokens) : array
{
$stream = (new \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\TokenStream($tokens))->normalized();
$state = new \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\ParserState($stream);
for (; $state->hasNext(); $state->next()) {
if ($state->token()->getType() === \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_OBJECT_IDENTIFIER) {
$objectPath = $this->builder->path($state->token()->getValue(), $state->token()->getValue());
if ($state->token(1)->getType() === \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_BRACE_OPEN) {
$state->next(2);
$this->parseNestedStatements($state->withContext($objectPath));
}
}
$this->parseToken($state);
}
return $state->statements()->getArrayCopy();
}
/**
* @param ParserState $state
* @return void
* @throws ParseError
*/
private function parseToken(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\ParserState $state) : void
{
switch ($state->token()->getType()) {
case \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_OBJECT_IDENTIFIER:
$objectPath = $state->context()->append($state->token()->getValue());
$this->parseValueOperation($state->withContext($objectPath));
break;
case \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_CONDITION:
$this->parseCondition($state);
break;
case \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_INCLUDE:
case \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_INCLUDE_NEW:
$this->parseInclude($state);
break;
case \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_WHITESPACE:
break;
case \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_BRACE_CLOSE:
$this->triggerParseErrorIf($state->context()->depth() === 0, \sprintf('Unexpected token %s when not in nested assignment in line %d.', $state->token()->getType(), $state->token()->getLine()), 1403011203, $state->token()->getLine());
break;
case \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_COMMENT_ONELINE:
$state->statements()->append($this->builder->comment($state->token()->getValue(), $state->token()->getLine()));
break;
case \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_COMMENT_MULTILINE:
$state->statements()->append($this->builder->multilineComment($state->token()->getValue(), $state->token()->getLine()));
break;
case \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_EMPTY_LINE:
$state->statements()->append($this->builder->nop($state->token()->getLine()));
break;
default:
throw new \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\ParseError(\sprintf('Unexpected token %s in line %d.', $state->token()->getType(), $state->token()->getLine()), 1403011202, $state->token()->getLine());
}
}
private function triggerParseErrorIf(bool $condition, string $message, int $code, int $line) : void
{
if ($condition) {
throw new \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\ParseError($message, $code, $line);
}
}
/**
* @param ParserState $state
* @param int|null $startLine
* @return void
* @throws ParseError
*/
private function parseNestedStatements(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\ParserState $state, ?int $startLine = null) : void
{
$startLine = $startLine ?: $state->token()->getLine();
$statements = new \ArrayObject();
$subContext = $state->withStatements($statements);
for (; $state->hasNext(); $state->next()) {
if ($state->token()->getType() === \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_OBJECT_IDENTIFIER) {
$objectPath = $this->builder->path($state->context()->absoluteName . '.' . $state->token()->getValue(), $state->token()->getValue());
if ($state->token(1)->getType() === \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_BRACE_OPEN) {
$state->next(2);
$this->parseNestedStatements($state->withContext($objectPath)->withStatements($statements));
continue;
}
}
$this->parseToken($subContext);
if ($state->token()->getType() === \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_BRACE_CLOSE) {
$state->statements()->append($this->builder->nested($state->context(), $statements->getArrayCopy(), $startLine));
$state->next();
return;
}
}
throw new \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\ParseError('Unterminated nested statement!');
}
/**
* @param ParserState $state
* @throws ParseError
*/
private function parseCondition(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\ParserState $state) : void
{
if ($state->context()->depth() !== 0) {
throw new \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\ParseError('Found condition statement inside nested assignment.', 1403011203, $state->token()->getLine());
}
$ifStatements = new \ArrayObject();
$elseStatements = new \ArrayObject();
$condition = $state->token()->getValue();
$conditionLine = $state->token()->getLine();
$inElseBranch = \false;
$subContext = $state->withStatements($ifStatements);
$state->next();
for (; $state->hasNext(); $state->next()) {
if ($state->token()->getType() === \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_CONDITION_END) {
$state->statements()->append($this->builder->condition($condition, $ifStatements->getArrayCopy(), $elseStatements->getArrayCopy(), $conditionLine));
$state->next();
break;
} elseif ($state->token()->getType() === \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_CONDITION_ELSE) {
$this->triggerParseErrorIf($inElseBranch, \sprintf('Duplicate else in conditional statement in line %d.', $state->token()->getLine()), 1403011203, $state->token()->getLine());
$inElseBranch = \true;
$subContext = $subContext->withStatements($elseStatements);
$state->next();
} elseif ($state->token()->getType() === \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_CONDITION) {
$state->statements()->append($this->builder->condition($condition, $ifStatements->getArrayCopy(), $elseStatements->getArrayCopy(), $conditionLine));
$this->parseCondition($state);
break;
}
if ($state->token()->getType() === \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_OBJECT_IDENTIFIER) {
$objectPath = $this->builder->path($state->token()->getValue(), $state->token()->getValue());
if ($state->token(1)->getType() === \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_BRACE_OPEN) {
$state->next(2);
$this->parseNestedStatements($subContext->withContext($objectPath), $subContext->token(-2)->getLine());
}
}
$this->parseToken($subContext);
}
}
/**
* @param ParserState $state
*/
private function parseInclude(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\ParserState $state) : void
{
$token = $state->token();
$extensions = null;
$condition = null;
$filename = $token->getSubMatch('filename') ?? '';
$optional = $token->getSubMatch('optional');
if ($optional !== null) {
list($extensions, $condition) = $this->parseIncludeOptionals($optional, $token);
}
if ($token->getType() === \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_INCLUDE_NEW || $token->getSubMatch('type') === 'FILE') {
$node = $this->builder->includeFile($filename, $token->getType() === \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_INCLUDE_NEW, $condition, $token->getLine());
} else {
$node = $this->builder->includeDirectory($filename, $extensions, $condition, $token->getLine());
}
$state->statements()->append($node);
}
/**
* @param string $optional
* @param TokenInterface $token
* @return array
* @throws ParseError
*/
private function parseIncludeOptionals(string $optional, \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface $token) : array
{
if (!\preg_match_all('/((?<key>[a-z]+)="(?<value>[^"]*)\\s*)+"/', $optional, $matches)) {
return [null, null];
}
$extensions = null;
$condition = null;
for ($i = 0; $i < \count($matches[0]); $i++) {
$key = $matches['key'][$i];
$value = $matches['value'][$i];
switch ($key) {
case "extensions":
if ($token->getSubMatch('type') === 'FILE') {
throw new \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\ParseError("FILE includes may not have an 'extension' attribute", 0, $token->getLine());
}
$extensions = $value;
break;
case "condition":
$condition = $value;
break;
default:
throw new \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\ParseError("unknown attribute '{$key}' found in INCLUDE statement", 0, $token->getLine());
}
}
return [$extensions, $condition];
}
/**
* @param ParserState $state
* @throws ParseError
*/
private function parseValueOperation(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\ParserState $state) : void
{
switch ($state->token(1)->getType()) {
case \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_OPERATOR_ASSIGNMENT:
$this->parseAssignment($state);
break;
case \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_OPERATOR_COPY:
case \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_OPERATOR_REFERENCE:
$this->parseCopyOrReference($state);
break;
case \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_OPERATOR_MODIFY:
$this->parseModification($state);
break;
case \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_OPERATOR_DELETE:
$this->parseDeletion($state);
break;
case \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_RIGHTVALUE_MULTILINE:
$this->parseMultilineAssigment($state);
break;
}
}
/**
* @param ParserState $state
*/
private function parseAssignment(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\ParserState $state) : void
{
switch ($state->token(2)->getType()) {
case \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_OBJECT_CONSTRUCTOR:
$state->statements()->append($this->builder->op()->objectCreation($state->context(), $this->builder->scalar($state->token(2)->getValue()), $state->token(2)->getLine()));
$state->next(2);
break;
case \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_RIGHTVALUE:
$state->statements()->append($this->builder->op()->assignment($state->context(), $this->builder->scalar($state->token(2)->getValue()), $state->token(2)->getLine()));
$state->next(2);
break;
case \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_WHITESPACE:
case \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_EMPTY_LINE:
$state->statements()->append($this->builder->op()->assignment($state->context(), $this->builder->scalar(''), $state->token()->getLine()));
$state->next();
break;
}
}
/**
* @param ParserState $state
* @throws ParseError
*/
private function parseCopyOrReference(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\ParserState $state) : void
{
$targetToken = $state->token(2);
$this->validateCopyOperatorRightValue($targetToken);
$target = $state->context()->parent()->append($targetToken->getValue());
$type = $state->token(1)->getType() === \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_OPERATOR_COPY ? 'copy' : 'reference';
$node = $this->builder->op()->{$type}($state->context(), $target, $state->token(1)->getLine());
$state->statements()->append($node);
$state->next(2);
}
/**
* @param ParserState $state
* @throws ParseError
*/
private function parseModification(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\ParserState $state) : void
{
$token = $state->token(2);
$this->validateModifyOperatorRightValue($token);
$call = $this->builder->op()->modificationCall($token->getSubMatch('name'), $token->getSubMatch('arguments'));
$modification = $this->builder->op()->modification($state->context(), $call, $token->getLine());
$state->statements()->append($modification);
$state->next(2);
}
/**
* @param ParserState $state
* @throws ParseError
*/
private function parseDeletion(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\ParserState $state) : void
{
$allowedTypesInDeletion = [\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_WHITESPACE, \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_EMPTY_LINE, \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_COMMENT_ONELINE];
if (!\in_array($state->token(2)->getType(), $allowedTypesInDeletion, \true)) {
throw new \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\ParseError('Unexpected token ' . $state->token(2)->getType() . ' after delete operator (expected line break).', 1403011201, $state->token()->getLine());
}
$state->statements()->append($this->builder->op()->delete($state->context(), $state->token(1)->getLine()));
$state->next(1);
}
/**
* @param ParserState $state
*/
private function parseMultilineAssigment(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\ParserState $state) : void
{
$state->statements()->append($this->builder->op()->assignment($state->context(), $this->builder->scalar($state->token(1)->getValue()), $state->token(1)->getLine()));
$state->next();
}
/**
* @param TokenInterface $token
* @throws ParseError
*/
private function validateModifyOperatorRightValue(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface $token) : void
{
if ($token->getType() !== \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_OBJECT_MODIFIER) {
throw new \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\ParseError('Unexpected token ' . $token->getType() . ' after modify operator.', 1403010294, $token->getLine());
}
}
/**
* @param TokenInterface $token
* @throws ParseError
*/
private function validateCopyOperatorRightValue(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface $token) : void
{
if ($token->getType() !== \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_OBJECT_IDENTIFIER) {
throw new \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\ParseError('Unexpected token ' . $token->getType() . ' after copy operator.', 1403010294, $token->getLine());
}
}
}

View File

@ -0,0 +1,32 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Statement;
interface ParserInterface
{
/**
* Parses a stream resource.
*
* This can be any kind of stream supported by PHP (e.g. a filename or a URL).
*
* @param string $stream The stream resource.
* @return Statement[] The syntax tree.
*/
public function parseStream(string $stream) : array;
/**
* Parses a TypoScript string.
*
* @param string $string The string to parse.
* @return Statement[] The syntax tree.
*/
public function parseString(string $string) : array;
/**
* Parses a token stream.
*
* @param \Helmich\TypoScriptParser\Tokenizer\TokenInterface[] $tokens The token stream to parse.
* @return Statement[] The syntax tree.
*/
public function parseTokens(array $tokens) : array;
}

View File

@ -0,0 +1,82 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser;
use ArrayObject;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ObjectPath;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\RootObjectPath;
use RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface;
class ParserState
{
/** @var ObjectPath */
private $context;
/** @var ArrayObject */
private $statements;
/** @var TokenStream */
private $tokens;
public function __construct(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\TokenStream $tokens, \ArrayObject $statements = null)
{
if ($statements === null) {
$statements = new \ArrayObject();
}
$this->statements = $statements;
$this->tokens = $tokens;
$this->context = new \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\RootObjectPath();
}
/**
* @return $this
*/
public function withContext(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ObjectPath $context)
{
$clone = clone $this;
$clone->context = $context;
return $clone;
}
/**
* @return $this
*/
public function withStatements(\ArrayObject $statements)
{
$clone = clone $this;
$clone->statements = $statements;
return $clone;
}
/**
* @param int $lookAhead
* @return TokenInterface
*/
public function token(int $lookAhead = 0) : \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface
{
return $this->tokens->current($lookAhead);
}
/**
* @param int $increment
* @return void
*/
public function next(int $increment = 1) : void
{
$this->tokens->next($increment);
}
/**
* @return bool
*/
public function hasNext() : bool
{
return $this->tokens->valid();
}
/**
* @return ObjectPath
*/
public function context() : \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ObjectPath
{
return $this->context;
}
/**
* @return ArrayObject
*/
public function statements() : \ArrayObject
{
return $this->statements;
}
}

View File

@ -0,0 +1,19 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\Printer;
use RectorPrefix20210519\Symfony\Component\Console\Output\OutputInterface;
interface ASTPrinterInterface
{
/**
* @param \Helmich\TypoScriptParser\Parser\AST\Statement[] $statements
* @param \Symfony\Component\Console\Output\OutputInterface $output
* @return void
*/
public function printStatements(array $statements, \RectorPrefix20210519\Symfony\Component\Console\Output\OutputInterface $output) : void;
/**
* @param PrettyPrinterConfiguration $prettyPrinterConfiguration
*/
public function setPrettyPrinterConfiguration(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\Printer\PrettyPrinterConfiguration $prettyPrinterConfiguration) : void;
}

View File

@ -0,0 +1,191 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\Printer;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Comment;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ConditionalStatement;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\DirectoryIncludeStatement;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\FileIncludeStatement;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\IncludeStatement;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\MultilineComment;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\NestedAssignment;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\NopStatement;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator\Assignment;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator\BinaryObjectOperator;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator\Copy;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator\Delete;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator\Modification;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator\Reference;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Statement;
use RectorPrefix20210519\Symfony\Component\Console\Output\OutputInterface;
/**
* Printer class that generates TypoScript code from an AST
*
* @package Helmich\TypoScriptParser
* @subpackage Parser\Printer
*/
class PrettyPrinter implements \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\Printer\ASTPrinterInterface
{
/**
* @var PrettyPrinterConfiguration
*/
private $prettyPrinterConfiguration;
public function __construct(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\Printer\PrettyPrinterConfiguration $prettyPrinterConfiguration = null)
{
$this->prettyPrinterConfiguration = $prettyPrinterConfiguration ?? \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\Printer\PrettyPrinterConfiguration::create();
}
public function setPrettyPrinterConfiguration(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\Printer\PrettyPrinterConfiguration $prettyPrinterConfiguration) : void
{
$this->prettyPrinterConfiguration = $prettyPrinterConfiguration;
}
/**
* @param Statement[] $statements
* @param OutputInterface $output
* @return void
*/
public function printStatements(array $statements, \RectorPrefix20210519\Symfony\Component\Console\Output\OutputInterface $output) : void
{
$this->printStatementList($statements, $output, 0);
}
/**
* @param Statement[] $statements
* @param OutputInterface $output
* @param int $nesting
* @return void
*/
private function printStatementList(array $statements, \RectorPrefix20210519\Symfony\Component\Console\Output\OutputInterface $output, int $nesting = 0) : void
{
$indent = $this->getIndent($nesting);
$count = \count($statements);
for ($i = 0; $i < $count; $i++) {
$statement = $statements[$i];
if ($statement instanceof \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\NestedAssignment) {
$this->printNestedAssignment($output, $nesting, $statement);
} elseif ($statement instanceof \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator\Assignment) {
$this->printAssignment($output, $statement, $indent);
} elseif ($statement instanceof \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator\BinaryObjectOperator) {
$this->printBinaryObjectOperator($output, $statement, $nesting);
} elseif ($statement instanceof \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator\Delete) {
$output->writeln($indent . $statement->object->relativeName . ' >');
} elseif ($statement instanceof \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator\Modification) {
$output->writeln(\sprintf("%s%s := %s(%s)", $indent, $statement->object->relativeName, $statement->call->method, $statement->call->arguments));
} elseif ($statement instanceof \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ConditionalStatement) {
$next = $i + 1 < $count ? $statements[$i + 1] : null;
$previous = $i - 1 >= 0 ? $statements[$i - 1] : null;
$this->printConditionalStatement($output, $nesting, $statement, $next instanceof \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ConditionalStatement, $previous instanceof \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ConditionalStatement);
} elseif ($statement instanceof \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\IncludeStatement) {
$this->printIncludeStatement($output, $statement);
} elseif ($statement instanceof \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Comment) {
$output->writeln($indent . $statement->comment);
} elseif ($statement instanceof \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\MultilineComment) {
$output->writeln($indent . $statement->comment);
} elseif ($statement instanceof \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\NopStatement) {
$this->printNopStatement($output);
}
}
}
private function getIndent(int $nesting) : string
{
return \str_repeat($this->prettyPrinterConfiguration->getIndentation(), $nesting);
}
private function printBinaryObjectOperator(\RectorPrefix20210519\Symfony\Component\Console\Output\OutputInterface $output, \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator\BinaryObjectOperator $operator, int $nesting) : void
{
$targetObjectPath = $operator->target->relativeName;
if ($operator instanceof \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator\Copy) {
$output->writeln($this->getIndent($nesting) . $operator->object->relativeName . ' < ' . $targetObjectPath);
} elseif ($operator instanceof \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator\Reference) {
$output->writeln($this->getIndent($nesting) . $operator->object->relativeName . ' =< ' . $targetObjectPath);
}
}
private function printIncludeStatement(\RectorPrefix20210519\Symfony\Component\Console\Output\OutputInterface $output, \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\IncludeStatement $statement) : void
{
if ($statement instanceof \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\FileIncludeStatement) {
$this->printFileIncludeStatement($output, $statement);
} elseif ($statement instanceof \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\DirectoryIncludeStatement) {
$this->printDirectoryIncludeStatement($output, $statement);
}
}
private function printFileIncludeStatement(\RectorPrefix20210519\Symfony\Component\Console\Output\OutputInterface $output, \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\FileIncludeStatement $statement) : void
{
if ($statement->newSyntax) {
$output->writeln('@import \'' . $statement->filename . '\'');
} else {
$attributes = "";
if ($statement->condition) {
$attributes = ' condition="' . $statement->condition . '"';
}
$output->writeln('<INCLUDE_TYPOSCRIPT: source="FILE:' . $statement->filename . '"' . $attributes . '>');
}
}
private function printDirectoryIncludeStatement(\RectorPrefix20210519\Symfony\Component\Console\Output\OutputInterface $output, \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\DirectoryIncludeStatement $statement) : void
{
$attributes = "";
if ($statement->extensions) {
$attributes .= ' extensions="' . $statement->extensions . '"';
}
if ($statement->condition) {
$attributes .= ' condition="' . $statement->condition . '"';
}
$includeStmt = '<INCLUDE_TYPOSCRIPT: source="DIR:' . $statement->directory . '"' . $attributes . '>';
$output->writeln($includeStmt);
}
/**
* @param OutputInterface $output
* @param int $nesting
* @param NestedAssignment $statement
*/
private function printNestedAssignment(\RectorPrefix20210519\Symfony\Component\Console\Output\OutputInterface $output, $nesting, \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\NestedAssignment $statement) : void
{
$output->writeln($this->getIndent($nesting) . $statement->object->relativeName . ' {');
$this->printStatementList($statement->statements, $output, $nesting + 1);
$output->writeln($this->getIndent($nesting) . '}');
}
/**
* @param OutputInterface $output
* @param int $nesting
* @param ConditionalStatement $statement
* @param bool $hasNext
* @param bool $hasPrevious
*/
private function printConditionalStatement(\RectorPrefix20210519\Symfony\Component\Console\Output\OutputInterface $output, int $nesting, \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ConditionalStatement $statement, bool $hasNext = \false, bool $hasPrevious = \false) : void
{
if (!$hasPrevious) {
$output->writeln('');
}
$output->writeln($statement->condition);
$this->printStatementList($statement->ifStatements, $output, $nesting);
if (\count($statement->elseStatements) > 0) {
$output->writeln('[else]');
$this->printStatementList($statement->elseStatements, $output, $nesting);
}
if ($this->closeCondition($hasNext)) {
$output->writeln('[global]');
}
}
/**
* @param OutputInterface $output
* @param Assignment $statement
* @param string $indent
*/
private function printAssignment(\RectorPrefix20210519\Symfony\Component\Console\Output\OutputInterface $output, \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Operator\Assignment $statement, string $indent) : void
{
if (\strpos($statement->value->value, "\n") !== \false) {
$output->writeln($indent . $statement->object->relativeName . ' (');
$output->writeln(\rtrim($statement->value->value));
$output->writeln($indent . ')');
return;
}
$output->writeln($indent . $statement->object->relativeName . ' = ' . $statement->value->value);
}
private function printNopStatement(\RectorPrefix20210519\Symfony\Component\Console\Output\OutputInterface $output) : void
{
if ($this->prettyPrinterConfiguration->shouldIncludeEmptyLineBreaks()) {
$output->writeln('');
}
}
private function closeCondition(bool $hasNext) : bool
{
return !$hasNext || $this->prettyPrinterConfiguration->shouldAddClosingGlobal();
}
}

View File

@ -0,0 +1,104 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\Printer;
use InvalidArgumentException;
use LogicException;
use RectorPrefix20210519\Webmozart\Assert\Assert;
/**
* PrinterConfiguration
*
* @package Helmich\TypoScriptParser
* @subpackage Parser\PrettyPrinterConfiguration
*/
final class PrettyPrinterConfiguration
{
/**
* @var string
*/
public const INDENTATION_STYLE_SPACES = 'spaces';
/**
* @var string
*/
public const INDENTATION_STYLE_TABS = 'tabs';
/**
* @var bool
*/
private $addClosingGlobal = \false;
/**
* @var bool
*/
private $includeEmptyLineBreaks = \false;
/**
* @var int
*/
private $indentationSize = 4;
/**
* @var string
*/
private $indentationStyle = self::INDENTATION_STYLE_SPACES;
private function __construct()
{
}
/**
* @return $this
*/
public static function create()
{
return new self();
}
/**
* @return $this
*/
public function withTabs()
{
$clone = clone $this;
$clone->indentationStyle = self::INDENTATION_STYLE_TABS;
$clone->indentationSize = 1;
return $clone;
}
/**
* @return $this
*/
public function withSpaceIndentation(int $size)
{
$clone = clone $this;
$clone->indentationStyle = self::INDENTATION_STYLE_SPACES;
$clone->indentationSize = $size;
return $clone;
}
/**
* @return $this
*/
public function withClosingGlobalStatement()
{
$clone = clone $this;
$clone->addClosingGlobal = \true;
return $clone;
}
/**
* @return $this
*/
public function withEmptyLineBreaks()
{
$clone = clone $this;
$clone->includeEmptyLineBreaks = \true;
return $clone;
}
public function shouldAddClosingGlobal() : bool
{
return $this->addClosingGlobal;
}
public function shouldIncludeEmptyLineBreaks() : bool
{
return $this->includeEmptyLineBreaks;
}
public function getIndentation() : string
{
if ($this->indentationStyle === self::INDENTATION_STYLE_TABS) {
return "\t";
}
return \str_repeat(' ', $this->indentationSize);
}
}

View File

@ -0,0 +1,134 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser;
use BadMethodCallException;
use RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Token;
use RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface;
use Iterator;
/**
* Helper class that represents a token stream
*
* @package Helmich\TypoScriptParser
* @subpackage Parser
*/
class TokenStream implements \Iterator, \ArrayAccess
{
/** @var array */
private $tokens;
/** @var int */
private $index = 0;
public function __construct(array $tokens)
{
$this->tokens = $tokens;
}
/**
* @param int $lookAhead
* @return TokenInterface
*/
public function current($lookAhead = 0) : \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface
{
return $this[$this->index + $lookAhead];
}
/**
* @param int $increment
* @return void
*/
public function next($increment = 1) : void
{
if ($this->index < \count($this->tokens)) {
$this->index += $increment;
}
}
/**
* @return bool
*/
public function valid() : bool
{
return $this->index < \count($this->tokens);
}
/**
* @return void
*/
public function rewind() : void
{
$this->index = 0;
}
/**
* @return int
*/
public function key() : int
{
return $this->index;
}
/**
* @param int $offset
* @return bool
*/
public function offsetExists($offset) : bool
{
return $offset >= 0 && $offset < \count($this->tokens);
}
/**
* @param int $offset
* @return TokenInterface
*/
public function offsetGet($offset) : \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface
{
return $this->tokens[$offset];
}
/**
* @param int $offset
* @param TokenInterface $value
* @return void
*/
public function offsetSet($offset, $value)
{
throw new \BadMethodCallException('changing a token stream is not permitted');
}
/**
* @param int $offset
* @return void
*/
public function offsetUnset($offset)
{
throw new \BadMethodCallException('changing a token stream is not permitted');
}
/**
* Normalizes the token stream.
*
* This method transforms the token stream in a normalized form. This
* includes:
*
* - trimming whitespaces (remove leading and trailing whitespaces, as
* those are irrelevant for the parser)
* - remove both one-line and multi-line comments (also irrelevant for the
* parser)
*
* @return TokenStream
*/
public function normalized() : \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\TokenStream
{
$filteredTokens = [];
$maxLine = 0;
foreach ($this->tokens as $token) {
$maxLine = (int) \max($token->getLine(), $maxLine);
// Trim unnecessary whitespace, but leave line breaks! These are important!
if ($token->getType() === \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_WHITESPACE) {
$value = \trim($token->getValue(), "\t ");
if (\strlen($value) > 0) {
$filteredTokens[] = new \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Token(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_WHITESPACE, $value, $token->getLine(), $token->getColumn());
}
} else {
$filteredTokens[] = $token;
}
}
// Add two linebreak tokens; during parsing, we usually do not look more than two
// tokens ahead; this hack ensures that there will always be at least two more tokens
// present and we do not have to check whether these tokens exists.
$filteredTokens[] = new \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Token(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_WHITESPACE, "\n", $maxLine + 1, 1);
$filteredTokens[] = new \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Token(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_WHITESPACE, "\n", $maxLine + 2, 1);
return new \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\TokenStream($filteredTokens);
}
}

View File

@ -0,0 +1,65 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\Traverser;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Statement;
/**
* Class AggregatingVisitor
*
* @package Helmich\TypoScriptParser
* @subpackage Parser\Traverser
*/
class AggregatingVisitor implements \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\Traverser\Visitor
{
/** @var Visitor[] */
private $visitors = [];
/**
* @param Visitor $visitor
* @return void
*/
public function addVisitor(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\Traverser\Visitor $visitor) : void
{
$this->visitors[\spl_object_hash($visitor)] = $visitor;
}
/**
* @param Statement[] $statements
* @return void
*/
public function enterTree(array $statements) : void
{
foreach ($this->visitors as $visitor) {
$visitor->enterTree($statements);
}
}
/**
* @param Statement $statement
* @return void
*/
public function enterNode(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Statement $statement) : void
{
foreach ($this->visitors as $visitor) {
$visitor->enterNode($statement);
}
}
/**
* @param Statement $statement
* @return void
*/
public function exitNode(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Statement $statement) : void
{
foreach ($this->visitors as $visitor) {
$visitor->exitNode($statement);
}
}
/**
* @param Statement[] $statements
* @return void
*/
public function exitTree(array $statements) : void
{
foreach ($this->visitors as $visitor) {
$visitor->exitTree($statements);
}
}
}

View File

@ -0,0 +1,63 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\Traverser;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ConditionalStatement;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\NestedAssignment;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Statement;
/**
* Class Traverser
*
* @package Helmich\TypoScriptParser
* @subpackage Parser\Traverser
*/
class Traverser
{
/** @var Statement[] */
private $statements;
/** @var AggregatingVisitor */
private $visitors;
/**
* @param Statement[] $statements
*/
public function __construct(array $statements)
{
$this->statements = $statements;
$this->visitors = new \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\Traverser\AggregatingVisitor();
}
/**
* @param Visitor $visitor
*/
public function addVisitor(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\Traverser\Visitor $visitor) : void
{
$this->visitors->addVisitor($visitor);
}
/**
* @return void
*/
public function walk() : void
{
$this->visitors->enterTree($this->statements);
$this->walkRecursive($this->statements);
$this->visitors->exitTree($this->statements);
}
/**
* @param Statement[] $statements
* @return Statement[]
*/
private function walkRecursive(array $statements) : array
{
foreach ($statements as $statement) {
$this->visitors->enterNode($statement);
if ($statement instanceof \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\NestedAssignment) {
$statement->statements = $this->walkRecursive($statement->statements);
} elseif ($statement instanceof \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\ConditionalStatement) {
$statement->ifStatements = $this->walkRecursive($statement->ifStatements);
$statement->elseStatements = $this->walkRecursive($statement->elseStatements);
}
$this->visitors->exitNode($statement);
}
return $statements;
}
}

View File

@ -0,0 +1,35 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Parser\Traverser;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Statement;
/**
* Interface Visitor
*
* @package Helmich\TypoScriptParser
* @subpackage Parser\Traverser
*/
interface Visitor
{
/**
* @param Statement[] $statements
* @return void
*/
public function enterTree(array $statements) : void;
/**
* @param Statement $statement
* @return void
*/
public function enterNode(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Statement $statement) : void;
/**
* @param Statement $statement
* @return void
*/
public function exitNode(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\AST\Statement $statement) : void;
/**
* @param Statement[] $statements
* @return void
*/
public function exitTree(array $statements) : void;
}

View File

@ -0,0 +1,35 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer;
/**
* Class LineGrouper
*
* @package Helmich\TypoScriptParser
* @subpackage Tokenizer
*/
class LineGrouper
{
/** @var TokenInterface[][] */
private $tokensByLine = [];
/**
* @param TokenInterface[] $tokens
*/
public function __construct(array $tokens)
{
foreach ($tokens as $token) {
if (!\array_key_exists($token->getLine(), $this->tokensByLine)) {
$this->tokensByLine[$token->getLine()] = [];
}
$this->tokensByLine[$token->getLine()][] = $token;
}
}
/**
* @return TokenInterface[][]
*/
public function getLines() : array
{
return $this->tokensByLine;
}
}

View File

@ -0,0 +1,81 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer;
/**
* Helper class for building tokens that span multiple lines.
*
* Examples are multi-line comments or "("-assignments.
*
* @package Helmich\TypoScriptParser
* @subpackage Tokenizer
*/
class MultilineTokenBuilder
{
/** @var string|null */
private $type = null;
/** @var string|null */
private $value = null;
/** @var int|null */
private $startLine = null;
/** @var int|null */
private $startColumn = null;
/**
* @param string $type Token type, one of `TokenInterface::TYPE_*`
* @param string $value Token value
* @param int $line Starting line in source code
* @param int $column Starting column in source code
*/
public function startMultilineToken(string $type, string $value, int $line, int $column) : void
{
$this->type = $type;
$this->value = $value;
$this->startLine = $line;
$this->startColumn = $column;
}
/**
* @param string $append Token content to append
*/
public function appendToToken(string $append) : void
{
if ($this->value === null) {
$this->value = "";
}
$this->value .= $append;
}
/**
* @param string $append Token content to append
* @return TokenInterface
*/
public function endMultilineToken(string $append = '') : \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface
{
$value = ($this->value ?? "") . $append;
$type = $this->type;
$startLine = $this->startLine;
$startColumn = $this->startColumn;
if ($type === null || $startLine === null || $startColumn === null) {
throw new \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenizerException('cannot call "endMultilineToken" before calling "startMultilineToken"');
}
$token = new \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Token($type, \rtrim($value), $startLine, $startColumn);
$this->reset();
return $token;
}
/**
* @return string|null Token type (one of `TokenInterface::TYPE_*`)
*/
public function currentTokenType() : ?string
{
return $this->type;
}
/**
* @return void
*/
private function reset() : void
{
$this->type = null;
$this->value = null;
$this->startLine = null;
$this->startColumn = null;
}
}

View File

@ -0,0 +1,21 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Preprocessing;
/**
* Preprocessor that does not actually do anything
*
* @package Helmich\TypoScriptParser\Tokenizer\Preprocessing
*/
class NoOpPreprocessor implements \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Preprocessing\Preprocessor
{
/**
* @param string $contents Un-processed Typoscript contents
* @return string Processed TypoScript contents
*/
public function preprocess(string $contents) : string
{
return $contents;
}
}

View File

@ -0,0 +1,21 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Preprocessing;
/**
* Interface definitions for tokenizer preprocessors.
*
* Preprocessors can change the TypoScript input source code before it
* is passed to the actual tokenizer.
*
* @package Helmich\TypoScriptParser\Tokenizer\Preprocessing
*/
interface Preprocessor
{
/**
* @param string $contents Un-processed Typoscript contents
* @return string Processed TypoScript contents
*/
public function preprocess(string $contents) : string;
}

View File

@ -0,0 +1,36 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Preprocessing;
/**
* Preprocessor that combines multiple preprocessors
*
* @package Helmich\TypoScriptParser\Tokenizer\Preprocessing
*/
class ProcessorChain implements \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Preprocessing\Preprocessor
{
/** @var Preprocessor[] */
protected $processors = [];
/**
* @param Preprocessor $next
* @return self
*/
public function with(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Preprocessing\Preprocessor $next)
{
$new = new self();
$new->processors = \array_merge($this->processors, [$next]);
return $new;
}
/**
* @param string $contents Un-processed Typoscript contents
* @return string Processed TypoScript contents
*/
public function preprocess(string $contents) : string
{
foreach ($this->processors as $p) {
$contents = $p->preprocess($contents);
}
return $contents;
}
}

View File

@ -0,0 +1,31 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Preprocessing;
/**
* Preprocessor that removes trailing whitespaces from a file
*
* @package Helmich\TypoScriptParser\Tokenizer\Preprocessing
*/
class RemoveTrailingWhitespacePreprocessor implements \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Preprocessing\Preprocessor
{
/** @var string */
private $eolCharacter;
public function __construct(string $eolCharacter = "\n")
{
$this->eolCharacter = $eolCharacter;
}
/**
* @param string $contents Un-processed Typoscript contents
* @return string Processed TypoScript contents
*/
public function preprocess(string $contents) : string
{
// Remove trailing whitespaces.
$lines = \explode($this->eolCharacter, $contents);
$lines = \array_map('rtrim', $lines);
$content = \implode($this->eolCharacter, $lines);
return $content;
}
}

View File

@ -0,0 +1,17 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Preprocessing;
/**
* Helper class that provides the standard pre-processing behaviour
*
* @package Helmich\TypoScriptParser\Tokenizer\Preprocessing
*/
class StandardPreprocessor extends \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Preprocessing\ProcessorChain
{
public function __construct(string $eolChar = "\n")
{
$this->processors = [new \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Preprocessing\UnifyLineEndingsPreprocessor($eolChar), new \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Preprocessing\RemoveTrailingWhitespacePreprocessor($eolChar)];
}
}

View File

@ -0,0 +1,27 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Preprocessing;
/**
* Preprocessor that unifies line endings for a file
*
* @package Helmich\TypoScriptParser\Tokenizer\Preprocessing
*/
class UnifyLineEndingsPreprocessor implements \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Preprocessing\Preprocessor
{
/** @var string */
private $eolCharacter;
public function __construct(string $eolCharacter = "\n")
{
$this->eolCharacter = $eolCharacter;
}
/**
* @param string $contents Un-processed Typoscript contents
* @return string Processed TypoScript contents
*/
public function preprocess(string $contents) : string
{
return \preg_replace(",(\r\n|\r|\n),", $this->eolCharacter, $contents);
}
}

View File

@ -0,0 +1,21 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Printer;
use RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface;
class CodeTokenPrinter implements \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Printer\TokenPrinterInterface
{
/**
* @param TokenInterface[] $tokens
* @return string
*/
public function printTokenStream(array $tokens) : string
{
$content = '';
foreach ($tokens as $token) {
$content .= $token->getValue();
}
return $content;
}
}

View File

@ -0,0 +1,28 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Printer;
use RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface;
use RectorPrefix20210519\Symfony\Component\Yaml\Yaml;
class StructuredTokenPrinter implements \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Printer\TokenPrinterInterface
{
/** @var Yaml */
private $yaml;
public function __construct(\RectorPrefix20210519\Symfony\Component\Yaml\Yaml $yaml = null)
{
$this->yaml = $yaml ?: new \RectorPrefix20210519\Symfony\Component\Yaml\Yaml();
}
/**
* @param TokenInterface[] $tokens
* @return string
*/
public function printTokenStream(array $tokens) : string
{
$content = '';
foreach ($tokens as $token) {
$content .= \sprintf("%20s %s\n", $token->getType(), $this->yaml->dump($token->getValue()));
}
return $content;
}
}

View File

@ -0,0 +1,20 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Printer;
use RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface;
/**
* Interface definition for a class that prints token streams
*
* @package Helmich\TypoScriptParser
* @subpackage Tokenizer\Printer
*/
interface TokenPrinterInterface
{
/**
* @param TokenInterface[] $tokens
* @return string
*/
public function printTokenStream(array $tokens) : string;
}

View File

@ -0,0 +1,43 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer;
use Iterator;
/**
* Helper class for scanning lines
*
* @package Helmich\TypoScriptParser
* @subpackage Tokenizer
*/
class Scanner implements \Iterator
{
/** @var string[] */
private $lines = [];
/** @var int */
private $index = 0;
public function __construct(array $lines)
{
$this->lines = $lines;
}
public function current() : \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\ScannerLine
{
return new \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\ScannerLine($this->index + 1, $this->lines[$this->index]);
}
public function next() : void
{
$this->index++;
}
public function key() : int
{
return $this->index;
}
public function valid() : bool
{
return $this->index < \count($this->lines);
}
public function rewind() : void
{
$this->index = 0;
}
}

View File

@ -0,0 +1,56 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer;
class ScannerLine
{
private $line;
private $index;
private $original;
public function __construct(int $index, string $line)
{
$this->line = $line;
$this->original = $line;
$this->index = $index;
}
/**
* @param string $pattern
* @return array|false
*/
public function scan(string $pattern)
{
if (\preg_match($pattern, $this->line, $matches)) {
$this->line = \substr($this->line, \strlen($matches[0])) ?: "";
return $matches;
}
return \false;
}
/**
* @param string $pattern
* @return string[]|false
*/
public function peek(string $pattern)
{
if (\preg_match($pattern, $this->line, $matches)) {
return $matches;
}
return \false;
}
public function index() : int
{
return $this->index;
}
public function value() : string
{
return $this->line;
}
public function length() : int
{
return \strlen($this->line);
}
public function __toString() : string
{
return $this->original;
}
}

View File

@ -0,0 +1,69 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer;
class Token implements \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface
{
/** @var string */
private $type;
/** @var string */
private $value;
/** @var int */
private $line;
/** @var int */
private $column;
/** @var array */
private $patternMatches;
/**
* @param string $type
* @param string $value
* @param int $line
* @param int $column
* @param array $patternMatches
*/
public function __construct(string $type, string $value, int $line, int $column = 1, array $patternMatches = [])
{
$this->type = $type;
$this->value = $value;
$this->line = $line;
$this->column = $column;
$this->patternMatches = $patternMatches;
}
/**
* @return string
*/
public function getType() : string
{
return $this->type;
}
/**
* @return string
*/
public function getValue() : string
{
return $this->value;
}
/**
* @param string $string
* @return string|null
*/
public function getSubMatch(string $string) : ?string
{
return isset($this->patternMatches[$string]) ? $this->patternMatches[$string] : null;
}
/**
* @return int
*/
public function getLine() : int
{
return $this->line;
}
/**
* @return int
*/
public function getColumn() : int
{
return $this->column;
}
}

View File

@ -0,0 +1,34 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer;
interface TokenInterface
{
const TYPE_WHITESPACE = "WS";
const TYPE_COMMENT_MULTILINE = "COMMENT_MULTILINE";
const TYPE_COMMENT_ONELINE = "COMMENT";
const TYPE_RIGHTVALUE_MULTILINE = "RVALUE_MULTILINE";
const TYPE_RIGHTVALUE = "RVALUE";
const TYPE_BRACE_OPEN = "BR_OPEN";
const TYPE_BRACE_CLOSE = "BR_CLOSE";
const TYPE_CONDITION = "COND";
const TYPE_CONDITION_ELSE = "COND_ELSE";
const TYPE_CONDITION_END = "COND_END";
const TYPE_OBJECT_IDENTIFIER = "OBJ_IDENT";
const TYPE_OBJECT_CONSTRUCTOR = "OBJ_CONTRUCT";
const TYPE_OBJECT_MODIFIER = "OBJ_MODIFIER";
const TYPE_OPERATOR_ASSIGNMENT = "OP_ASSIGN";
const TYPE_OPERATOR_MODIFY = "OP_MODIFY";
const TYPE_OPERATOR_COPY = "OP_COPY";
const TYPE_OPERATOR_REFERENCE = "OP_REF";
const TYPE_OPERATOR_DELETE = "OP_DELETE";
const TYPE_INCLUDE = "INCLUDE";
const TYPE_INCLUDE_NEW = "INCLUDE_NEW";
const TYPE_EMPTY_LINE = 'NOP';
public function getType() : string;
public function getValue() : string;
public function getSubMatch(string $name) : ?string;
public function getLine() : int;
public function getColumn() : int;
}

View File

@ -0,0 +1,77 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer;
use ArrayObject;
/**
* Helper class for building a token stream
*
* @package Helmich\TypoScriptParser
* @subpackage Tokenizer
*/
class TokenStreamBuilder
{
/** @var ArrayObject */
private $tokens;
/** @var int|null */
private $currentLine = null;
/** @var int */
private $currentColumn = 1;
/**
* TokenStreamBuilder constructor.
*/
public function __construct()
{
$this->tokens = new \ArrayObject();
}
/**
* Appends a new token to the token stream
*
* @param string $type Token type
* @param string $value Token value
* @param int $line Line in source code
* @param array $patternMatches Subpattern matches
* @return void
*/
public function append(string $type, string $value, int $line, array $patternMatches = []) : void
{
if ($this->currentLine !== $line) {
$this->currentLine = $line;
$this->currentColumn = 1;
}
$this->tokens->append(new \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Token($type, $value, $line, $this->currentColumn, $patternMatches));
$this->currentColumn += \strlen($value);
}
/**
* Appends a new token to the token stream
*
* @param TokenInterface $token The token to append
* @return void
*/
public function appendToken(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface $token) : void
{
$this->tokens->append($token);
}
/**
* @return int The length of the token stream
*/
public function count() : int
{
return $this->tokens->count();
}
/**
* @return int
*/
public function currentColumn() : int
{
return $this->currentColumn;
}
/**
* @return ArrayObject The completed token stream
*/
public function build() : \ArrayObject
{
return $this->tokens;
}
}

View File

@ -0,0 +1,268 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer;
use RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Preprocessing\Preprocessor;
use RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Preprocessing\StandardPreprocessor;
class Tokenizer implements \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenizerInterface
{
const TOKEN_WHITESPACE = ',^[ \\t\\n]+,s';
const TOKEN_COMMENT_ONELINE = ',^(#|/)[^\\n]*,';
const TOKEN_COMMENT_MULTILINE_BEGIN = ',^/\\*,';
const TOKEN_COMMENT_MULTILINE_END = ',^\\*/,';
const TOKEN_CONDITION = ',^(\\[(?<expr>.*?)\\](\\|\\||&&|$))+,';
const TOKEN_CONDITION_ELSE = ',^\\[else\\],i';
const TOKEN_CONDITION_END = ',^\\[(global|end)\\],i';
const TOKEN_OBJECT_NAME = ',^(CASE|CLEARGIF|COA(?:_INT)?|COBJ_ARRAY|COLUMNS|CTABLE|EDITPANEL|FILES?|FLUIDTEMPLATE|FORM|HMENU|HRULER|TEXT|IMAGE|IMG_RESOURCE|IMGTEXT|LOAD_REGISTER|MEDIA|MULTIMEDIA|OTABLE|QTOBJECT|RECORDS|RESTORE_REGISTER|SEARCHRESULT|SVG|SWFOBJECT|TEMPLATE|USER(?:_INT)?|GIFBUILDER|[GT]MENU(?:_LAYERS)?|(?:G|T|JS|IMG)MENUITEM)$,';
const TOKEN_OBJECT_ACCESSOR = ',^([a-zA-Z0-9_\\-\\\\:\\$\\{\\}]+(?:\\.[a-zA-Z0-9_\\-\\\\:\\$\\{\\}]+)*)$,';
const TOKEN_OBJECT_REFERENCE = ',^\\.?([a-zA-Z0-9_\\-\\\\:\\$\\{\\}]+(?:\\.[a-zA-Z0-9_\\-\\\\:\\$\\{\\}]+)*)$,';
const TOKEN_NESTING_START = ',^\\{$,';
const TOKEN_NESTING_END = ',^\\}$,';
const TOKEN_OBJECT_MODIFIER = ',^
(?<name>[a-zA-Z0-9]+) # Modifier name
(?:\\s)*
\\(
(?<arguments>.*) # Argument list
\\)
$,x';
const TOKEN_OPERATOR_LINE = ',^
([a-zA-Z0-9_\\-\\\\:\\$\\{\\}]+(?:\\.[a-zA-Z0-9_\\-\\\\:\\$\\{\\}]+)*) # Left value (object accessor)
(\\s*) # Whitespace
(=<|=|:=|<|>|\\{|\\() # Operator
(\\s*) # More whitespace
(.*?) # Right value
$,x';
const TOKEN_INCLUDE_STATEMENT = ',^
<INCLUDE_TYPOSCRIPT:\\s*
source="(?<type>FILE|DIR):(?<filename>[^"]+)"\\s*
(?<optional>.*)
\\s*>
$,x';
const TOKEN_INCLUDE_NEW_STATEMENT = ',^
@import\\s+
[\'"](?<filename>[^\']+)[\'"]
$,x';
/** @var string */
protected $eolChar;
/** @var Preprocessor */
protected $preprocessor;
/**
* Tokenizer constructor.
*
* @param string $eolChar Line ending to use for tokenizing.
* @param Preprocessor|null $preprocessor Option to preprocess file contents before actual tokenizing
*/
public function __construct(string $eolChar = "\n", ?\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Preprocessing\Preprocessor $preprocessor = null)
{
if ($preprocessor === null) {
$preprocessor = new \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Preprocessing\StandardPreprocessor($eolChar);
}
$this->eolChar = $eolChar;
$this->preprocessor = $preprocessor;
}
/**
* @param string $inputString
* @throws TokenizerException
* @return TokenInterface[]
*/
public function tokenizeString(string $inputString) : array
{
$inputString = $this->preprocessor->preprocess($inputString);
$tokens = new \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenStreamBuilder();
$state = new \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\MultilineTokenBuilder();
$lines = \explode($this->eolChar, $inputString);
$scanner = new \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Scanner($lines);
foreach ($scanner as $line) {
$column = 1;
if ($this->tokenizeMultilineToken($tokens, $state, $line)) {
continue;
}
if (\trim($line->value()) === '') {
$tokens->append(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_EMPTY_LINE, $this->eolChar, $line->index());
continue;
}
if ($tokens->count() !== 0) {
$tokens->append(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_WHITESPACE, $this->eolChar, (int) ($line->index() - 1));
$column += 1;
}
if ($matches = $line->scan(self::TOKEN_WHITESPACE)) {
$tokens->append(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_WHITESPACE, $matches[0], $line->index());
$column += \strlen($matches[0]);
}
if ($line->peek(self::TOKEN_COMMENT_MULTILINE_BEGIN)) {
$state->startMultilineToken(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_COMMENT_MULTILINE, $line->value(), $line->index(), $column);
continue;
}
if ($this->tokenizeSimpleStatements($tokens, $line) || $this->tokenizeObjectOperation($tokens, $state, $line) || $line->length() === 0) {
continue;
}
throw new \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenizerException('Cannot tokenize line "' . $line . '"', 1403084444, null, $line->index());
}
$currentTokenType = $state->currentTokenType();
if ($currentTokenType !== null) {
throw new \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenizerException("Unterminated {$currentTokenType}!", 1403084445, null, \count($lines) - 1);
}
return $tokens->build()->getArrayCopy();
}
/**
* @param string $inputStream
* @return TokenInterface[]
*/
public function tokenizeStream(string $inputStream) : array
{
$content = \file_get_contents($inputStream);
if ($content === \false) {
throw new \InvalidArgumentException("could not open file '{$inputStream}'");
}
return $this->tokenizeString($content);
}
/**
* @param string $operator
* @return string
* @throws UnknownOperatorException
*/
private function getTokenTypeForBinaryOperator(string $operator) : string
{
switch ($operator) {
case '=':
return \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_OPERATOR_ASSIGNMENT;
case '<':
return \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_OPERATOR_COPY;
case '=<':
return \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_OPERATOR_REFERENCE;
case ':=':
return \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_OPERATOR_MODIFY;
case '>':
return \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_OPERATOR_DELETE;
}
// It should not be possible in any case to reach this point
// @codeCoverageIgnoreStart
throw new \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\UnknownOperatorException('Unknown binary operator "' . $operator . '"!');
// @codeCoverageIgnoreEnd
}
/**
* @param $tokens
* @param $matches
* @param $currentLine
* @throws UnknownOperatorException
*/
private function tokenizeBinaryObjectOperation(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenStreamBuilder $tokens, array $matches, int $currentLine) : void
{
$tokens->append($this->getTokenTypeForBinaryOperator($matches[3]), $matches[3], $currentLine);
if ($matches[4]) {
$tokens->append(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_WHITESPACE, $matches[4], $currentLine);
}
if (($matches[3] === '<' || $matches[3] === '=<') && \preg_match(self::TOKEN_OBJECT_REFERENCE, $matches[5])) {
$tokens->append(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_OBJECT_IDENTIFIER, $matches[5], $currentLine);
return;
}
if ($matches[3] == ':=' && \preg_match(self::TOKEN_OBJECT_MODIFIER, $matches[5], $subMatches)) {
$tokens->append(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_OBJECT_MODIFIER, $matches[5], $currentLine, $subMatches);
return;
}
if (\preg_match(self::TOKEN_OBJECT_NAME, $matches[5])) {
$tokens->append(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_OBJECT_CONSTRUCTOR, $matches[5], $currentLine);
return;
}
if ($matches[3] == '>' && \preg_match(self::TOKEN_COMMENT_ONELINE, $matches[5])) {
$tokens->append(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_COMMENT_ONELINE, $matches[5], $currentLine);
return;
}
if (\strlen($matches[5])) {
$tokens->append(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_RIGHTVALUE, $matches[5], $currentLine);
return;
}
}
/**
* @param TokenStreamBuilder $tokens
* @param MultilineTokenBuilder $state
* @param ScannerLine $line
* @return bool
*/
private function tokenizeMultilineToken(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenStreamBuilder $tokens, \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\MultilineTokenBuilder $state, \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\ScannerLine $line) : bool
{
if ($state->currentTokenType() === \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_COMMENT_MULTILINE) {
$this->tokenizeMultilineComment($tokens, $state, $line);
return \true;
}
if ($state->currentTokenType() === \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_RIGHTVALUE_MULTILINE) {
$this->tokenizeMultilineAssignment($tokens, $state, $line);
return \true;
}
return \false;
}
/**
* @param TokenStreamBuilder $tokens
* @param MultilineTokenBuilder $state
* @param ScannerLine $line
* @return void
*/
private function tokenizeMultilineComment(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenStreamBuilder $tokens, \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\MultilineTokenBuilder $state, \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\ScannerLine $line) : void
{
if ($matches = $line->scan(self::TOKEN_WHITESPACE)) {
$state->appendToToken($matches[0]);
}
if ($matches = $line->peek(self::TOKEN_COMMENT_MULTILINE_END)) {
$token = $state->endMultilineToken("\n" . $matches[0]);
$tokens->appendToken($token);
return;
}
$state->appendToToken("\n" . $line->value());
}
/**
* @param $tokens
* @param $state
* @param $line
*/
private function tokenizeMultilineAssignment(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenStreamBuilder $tokens, \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\MultilineTokenBuilder $state, \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\ScannerLine $line) : void
{
if ($line->peek(',^\\s*\\),')) {
$token = $state->endMultilineToken();
$tokens->appendToken($token);
return;
}
$state->appendToToken($line . "\n");
}
/**
* @param TokenStreamBuilder $tokens
* @param ScannerLine $line
* @return bool
*/
private function tokenizeSimpleStatements(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenStreamBuilder $tokens, \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\ScannerLine $line) : bool
{
$simpleTokens = [self::TOKEN_COMMENT_ONELINE => \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_COMMENT_ONELINE, self::TOKEN_NESTING_END => \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_BRACE_CLOSE, self::TOKEN_CONDITION_ELSE => \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_CONDITION_ELSE, self::TOKEN_CONDITION_END => \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_CONDITION_END, self::TOKEN_CONDITION => \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_CONDITION, self::TOKEN_INCLUDE_STATEMENT => \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_INCLUDE, self::TOKEN_INCLUDE_NEW_STATEMENT => \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_INCLUDE_NEW];
foreach ($simpleTokens as $pattern => $type) {
if ($matches = $line->scan($pattern)) {
$tokens->append($type, $matches[0], $line->index(), $matches);
return \true;
}
}
return \false;
}
/**
* @param $tokens
* @param $state
* @param $line
* @return bool
*/
private function tokenizeObjectOperation(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenStreamBuilder $tokens, \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\MultilineTokenBuilder $state, \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\ScannerLine $line) : bool
{
if ($matches = $line->scan(self::TOKEN_OPERATOR_LINE)) {
$tokens->append(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_OBJECT_IDENTIFIER, $matches[1], $line->index());
if ($matches[2]) {
$tokens->append(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_WHITESPACE, $matches[2], $line->index());
}
$operators = ['=', ':=', '<', '<=', '>', '=<'];
if (\in_array($matches[3], $operators)) {
$this->tokenizeBinaryObjectOperation($tokens, $matches, $line->index());
} elseif ($matches[3] == '{') {
$tokens->append(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_BRACE_OPEN, $matches[3], $line->index());
} elseif ($matches[3] == '(') {
$state->startMultilineToken(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenInterface::TYPE_RIGHTVALUE_MULTILINE, '', $line->index(), $tokens->currentColumn());
}
return \true;
}
return \false;
}
}

View File

@ -0,0 +1,40 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer;
/**
* An exception that represents an error during tokenization.
*
* @author Martin Helmich <typo3@martin-helmich.de>
* @license MIT
* @package Helmich\TypoScriptParser
* @subpackage Tokenizer
*/
class TokenizerException extends \Exception
{
/** @var int|null */
private $sourceLine;
/**
* Constructs a new tokenizer exception.
*
* @param string $message The message text.
* @param int $code The exception code.
* @param \Exception|null $previous A nested previous exception.
* @param int|null $sourceLine The original source line.
*/
public function __construct(string $message = "", int $code = 0, \Exception $previous = null, int $sourceLine = null)
{
parent::__construct($message, $code, $previous);
$this->sourceLine = $sourceLine;
}
/**
* Gets the original source line.
*
* @return int|null The original source line.
*/
public function getSourceLine() : ?int
{
return $this->sourceLine;
}
}

View File

@ -0,0 +1,24 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer;
/**
* Interface TokenizerInterface
*
* @package Helmich\TypoScriptParser
* @subpackage Tokenizer
*/
interface TokenizerInterface
{
/**
* @param string $inputString
* @return TokenInterface[]
*/
public function tokenizeString(string $inputString) : array;
/**
* @param string $inputStream
* @return TokenInterface[]
*/
public function tokenizeStream(string $inputStream) : array;
}

View File

@ -0,0 +1,16 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer;
/**
* Exception that is thrown when an unknown operator is encountered.
*
* @author Martin Helmich <typo3@martin-helmich.de>
* @license MIT
* @package Helmich\TypoScriptParser
* @subpackage Tokenizer
*/
class UnknownOperatorException extends \Exception
{
}

View File

@ -0,0 +1,69 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519\Helmich\TypoScriptParser;
use RectorPrefix20210519\Symfony\Component\Config\FileLocator;
use RectorPrefix20210519\Symfony\Component\DependencyInjection\ContainerBuilder;
use RectorPrefix20210519\Symfony\Component\DependencyInjection\Extension\ExtensionInterface;
use RectorPrefix20210519\Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
/**
* Class TypoScriptParserExtension
*
* @package Helmich\TypoScriptParser
* @codeCoverageIgnore
*/
class TypoScriptParserExtension implements \RectorPrefix20210519\Symfony\Component\DependencyInjection\Extension\ExtensionInterface
{
/**
* Loads a specific configuration.
*
* @param array $configs An array of configuration values
* @param ContainerBuilder $container A ContainerBuilder instance
*
* @throws \InvalidArgumentException When provided tag is not defined in this extension
*
* @api
* @psalm-suppress MissingReturnType Signature is determined by Symfony DI -- nothing to fix, here
*/
public function load(array $configs, \RectorPrefix20210519\Symfony\Component\DependencyInjection\ContainerBuilder $container)
{
$loader = new \RectorPrefix20210519\Symfony\Component\DependencyInjection\Loader\YamlFileLoader($container, new \RectorPrefix20210519\Symfony\Component\Config\FileLocator(__DIR__ . '/../config'));
$loader->load('services.yml');
}
/**
* Returns the namespace to be used for this extension (XML namespace).
*
* @return string The XML namespace
*
* @api
*/
public function getNamespace()
{
return 'http://example.org/schema/dic/' . $this->getAlias();
}
/**
* Returns the base path for the XSD files.
*
* @return false
*
* @api
*/
public function getXsdValidationBasePath()
{
return \false;
}
/**
* Returns the recommended alias to use in XML.
*
* This alias is also the mandatory prefix to use when using YAML.
*
* @return string The alias
*
* @api
*/
public function getAlias()
{
return 'typoscript_parser';
}
}

View File

@ -9,7 +9,7 @@ namespace Rector\RectorInstaller;
*/
final class GeneratedConfig
{
public const EXTENSIONS = array('rector/rector-cakephp' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-cakephp', 'relative_install_path' => '../../rector-cakephp', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.2'), 'rector/rector-doctrine' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-doctrine', 'relative_install_path' => '../../rector-doctrine', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.2'), 'rector/rector-laravel' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-laravel', 'relative_install_path' => '../../rector-laravel', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.1'), 'rector/rector-nette' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-nette', 'relative_install_path' => '../../rector-nette', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.4'), 'rector/rector-nette-to-symfony' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-nette-to-symfony', 'relative_install_path' => '../../rector-nette-to-symfony', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.2'), 'rector/rector-phpunit' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-phpunit', 'relative_install_path' => '../../rector-phpunit', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.1'), 'rector/rector-symfony' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-symfony', 'relative_install_path' => '../../rector-symfony', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.2'));
public const EXTENSIONS = array('rector/rector-cakephp' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-cakephp', 'relative_install_path' => '../../rector-cakephp', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.2'), 'rector/rector-doctrine' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-doctrine', 'relative_install_path' => '../../rector-doctrine', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.2'), 'rector/rector-laravel' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-laravel', 'relative_install_path' => '../../rector-laravel', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.1'), 'rector/rector-nette' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-nette', 'relative_install_path' => '../../rector-nette', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.4'), 'rector/rector-nette-to-symfony' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-nette-to-symfony', 'relative_install_path' => '../../rector-nette-to-symfony', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.2'), 'rector/rector-phpunit' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-phpunit', 'relative_install_path' => '../../rector-phpunit', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.1'), 'rector/rector-symfony' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-symfony', 'relative_install_path' => '../../rector-symfony', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => '0.11.2'), 'ssch/typo3-rector' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/ssch/typo3-rector', 'relative_install_path' => '../../../ssch/typo3-rector', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'v0.11.8'));
private function __construct()
{
}

View File

@ -21,8 +21,8 @@ if (!class_exists('SomeTestCase', false) && !interface_exists('SomeTestCase', fa
if (!class_exists('CheckoutEntityFactory', false) && !interface_exists('CheckoutEntityFactory', false) && !trait_exists('CheckoutEntityFactory', false)) {
spl_autoload_call('RectorPrefix20210519\CheckoutEntityFactory');
}
if (!class_exists('ComposerAutoloaderInitda5ea7f98f0e497201928a63cf7cb800', false) && !interface_exists('ComposerAutoloaderInitda5ea7f98f0e497201928a63cf7cb800', false) && !trait_exists('ComposerAutoloaderInitda5ea7f98f0e497201928a63cf7cb800', false)) {
spl_autoload_call('RectorPrefix20210519\ComposerAutoloaderInitda5ea7f98f0e497201928a63cf7cb800');
if (!class_exists('ComposerAutoloaderInit0cd9784b5ef4a6016015d565dfa25f6c', false) && !interface_exists('ComposerAutoloaderInit0cd9784b5ef4a6016015d565dfa25f6c', false) && !trait_exists('ComposerAutoloaderInit0cd9784b5ef4a6016015d565dfa25f6c', false)) {
spl_autoload_call('RectorPrefix20210519\ComposerAutoloaderInit0cd9784b5ef4a6016015d565dfa25f6c');
}
if (!class_exists('Doctrine\Inflector\Inflector', false) && !interface_exists('Doctrine\Inflector\Inflector', false) && !trait_exists('Doctrine\Inflector\Inflector', false)) {
spl_autoload_call('RectorPrefix20210519\Doctrine\Inflector\Inflector');
@ -92,9 +92,9 @@ if (!function_exists('print_node')) {
return \RectorPrefix20210519\print_node(...func_get_args());
}
}
if (!function_exists('composerRequireda5ea7f98f0e497201928a63cf7cb800')) {
function composerRequireda5ea7f98f0e497201928a63cf7cb800() {
return \RectorPrefix20210519\composerRequireda5ea7f98f0e497201928a63cf7cb800(...func_get_args());
if (!function_exists('composerRequire0cd9784b5ef4a6016015d565dfa25f6c')) {
function composerRequire0cd9784b5ef4a6016015d565dfa25f6c() {
return \RectorPrefix20210519\composerRequire0cd9784b5ef4a6016015d565dfa25f6c(...func_get_args());
}
}
if (!function_exists('parseArgs')) {

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,17 @@
<?php
namespace RectorPrefix20210519;
/*
* This file is part of the TYPO3 CMS project.
*
* It is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License, either version 2
* of the License, or any later version.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*
* The TYPO3 project - inspiring people to share!
*/
return ['TYPO3\\CMS\\Lowlevel\\Utility\\ArrayBrowser' => 'TYPO3\\CMS\\Backend\\View\\ArrayBrowser'];

View File

@ -0,0 +1,17 @@
<?php
namespace RectorPrefix20210519;
/*
* This file is part of the TYPO3 CMS project.
*
* It is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License, either version 2
* of the License, or any later version.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*
* The TYPO3 project - inspiring people to share!
*/
return ['TYPO3\\CMS\\Frontend\\Page\\PageRepository' => 'TYPO3\\CMS\\Core\\Domain\\Repository\\PageRepository', 'TYPO3\\CMS\\Frontend\\Page\\PageRepositoryGetPageHookInterface' => 'TYPO3\\CMS\\Core\\Domain\\Repository\\PageRepositoryGetPageHookInterface', 'TYPO3\\CMS\\Frontend\\Page\\PageRepositoryGetPageOverlayHookInterface' => 'TYPO3\\CMS\\Core\\Domain\\Repository\\PageRepositoryGetPageOverlayHookInterface', 'TYPO3\\CMS\\Frontend\\Page\\PageRepositoryGetRecordOverlayHookInterface' => 'TYPO3\\CMS\\Core\\Domain\\Repository\\PageRepositoryGetRecordOverlayHookInterface', 'TYPO3\\CMS\\Frontend\\Page\\PageRepositoryInitHookInterface' => 'TYPO3\\CMS\\Core\\Domain\\Repository\\PageRepositoryInitHookInterface'];

View File

@ -0,0 +1,5 @@
<?php
namespace RectorPrefix20210519;
return ['TYPO3\\CMS\\Extbase\\Service\\TypoScriptService' => 'TYPO3\\CMS\\Core\\TypoScript\\TypoScriptService'];

View File

@ -0,0 +1,29 @@
<?php
namespace RectorPrefix20210519;
return [
'TYPO3\\CMS\\Fluid\\Core\\Compiler\\TemplateCompiler' => 'TYPO3Fluid\\Fluid\\Core\\Compiler\\TemplateCompiler',
'TYPO3\\CMS\\Fluid\\Core\\Parser\\InterceptorInterface' => 'TYPO3Fluid\\Fluid\\Core\\Parser\\InterceptorInterface',
'TYPO3\\CMS\\Fluid\\Core\\Parser\\SyntaxTree\\NodeInterface' => 'TYPO3Fluid\\Fluid\\Core\\Parser\\SyntaxTree\\NodeInterface',
'TYPO3\\CMS\\Fluid\\Core\\Parser\\SyntaxTree\\AbstractNode' => 'TYPO3Fluid\\Fluid\\Core\\Parser\\SyntaxTree\\ViewHelperNode',
'TYPO3\\CMS\\Fluid\\Core\\Rendering\\RenderingContextInterface' => 'TYPO3Fluid\\Fluid\\Core\\Rendering\\RenderingContextInterface',
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\ViewHelperInterface' => 'TYPO3Fluid\\Fluid\\Core\\ViewHelper\\ViewHelperInterface',
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\Facets\\ChildNodeAccessInterface' => 'TYPO3Fluid\\Fluid\\Core\\ViewHelper\\ViewHelperInterface',
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\Facets\\CompilableInterface' => 'TYPO3Fluid\\Fluid\\Core\\ViewHelper\\ViewHelperInterface',
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\Facets\\PostParseInterface' => 'TYPO3Fluid\\Fluid\\Core\\ViewHelper\\ViewHelperInterface',
// Fluid-specific errors
'TYPO3\\CMS\\Fluid\\Core\\Exception' => 'TYPO3Fluid\\Fluid\\Core\\Exception',
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\Exception' => 'TYPO3Fluid\\Fluid\\Core\\ViewHelper\\Exception',
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\Exception\\InvalidVariableException' => 'TYPO3Fluid\\Fluid\\Core\\Exception',
'TYPO3\\CMS\\Fluid\\View\\Exception' => 'TYPO3Fluid\\Fluid\\View\\Exception',
'TYPO3\\CMS\\Fluid\\View\\Exception\\InvalidSectionException' => 'TYPO3Fluid\\Fluid\\View\\Exception\\InvalidSectionException',
'TYPO3\\CMS\\Fluid\\View\\Exception\\InvalidTemplateResourceException' => 'TYPO3Fluid\\Fluid\\View\\Exception\\InvalidTemplateResourceException',
// Fluid variable containers, ViewHelpers, interfaces
'TYPO3\\CMS\\Fluid\\Core\\Parser\\SyntaxTree\\RootNode' => 'TYPO3Fluid\\Fluid\\Core\\Parser\\SyntaxTree\\RootNode',
'TYPO3\\CMS\\Fluid\\Core\\Parser\\SyntaxTree\\ViewHelperNode' => 'TYPO3Fluid\\Fluid\\Core\\Parser\\SyntaxTree\\ViewHelperNode',
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\TemplateVariableContainer' => 'TYPO3Fluid\\Fluid\\Core\\Variables\\StandardVariableProvider',
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\ViewHelperVariableContainer' => 'TYPO3Fluid\\Fluid\\Core\\ViewHelper\\ViewHelperVariableContainer',
// Semi API level classes; mainly used in unit tests
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\TagBuilder' => 'TYPO3Fluid\\Fluid\\Core\\ViewHelper\\TagBuilder',
];

View File

@ -0,0 +1,5 @@
<?php
namespace RectorPrefix20210519;
return ['TYPO3\\CMS\\Version\\Hook\\PreviewHook' => 'TYPO3\\CMS\\Workspaces\\Hook\\PreviewHook', 'TYPO3\\CMS\\Version\\Task\\AutoPublishTask' => 'TYPO3\\CMS\\Workspaces\\Task\\AutoPublishTask', 'TYPO3\\CMS\\Version\\Utility\\WorkspacesUtility' => 'TYPO3\\CMS\\Workspaces\\Service\\WorkspaceService'];

View File

@ -0,0 +1,5 @@
<?php
namespace RectorPrefix20210519;
return ['TYPO3\\CMS\\Frontend\\View\\AdminPanelView' => 'TYPO3\\CMS\\Adminpanel\\View\\AdminPanelView', 'TYPO3\\CMS\\Frontend\\View\\AdminPanelViewHookInterface' => 'TYPO3\\CMS\\Adminpanel\\View\\AdminPanelViewHookInterface'];

View File

@ -0,0 +1,5 @@
<?php
namespace RectorPrefix20210519;
return ['TYPO3\\CMS\\Backend\\AjaxLoginHandler' => 'TYPO3\\CMS\\Backend\\Controller\\AjaxLoginController', 'TYPO3\\CMS\\Backend\\Form\\Wizard\\ImageManipulationWizard' => 'TYPO3\\CMS\\Backend\\Controller\\Wizard\\ImageManipulationController', 'TYPO3\\CMS\\Cshmanual\\Domain\\Repository\\TableManualRepository' => 'TYPO3\\CMS\\Backend\\Domain\\Repository\\TableManualRepository'];

View File

@ -0,0 +1,5 @@
<?php
namespace RectorPrefix20210519;
return ['TYPO3\\CMS\\Lang\\LanguageService' => 'TYPO3\\CMS\\Core\\Localization\\LanguageService', 'TYPO3\\CMS\\ContextHelp\\Controller\\ContextHelpAjaxController' => 'TYPO3\\CMS\\Backend\\Controller\\ContextHelpAjaxController', 'TYPO3\\CMS\\Sv\\AbstractAuthenticationService' => 'TYPO3\\CMS\\Core\\Authentication\\AbstractAuthenticationService', 'TYPO3\\CMS\\Sv\\AuthenticationService' => 'TYPO3\\CMS\\Core\\Authentication\\AuthenticationService', 'TYPO3\\CMS\\Core\\IO\\PharStreamWrapper' => 'TYPO3\\PharStreamWrapper\\PharStreamWrapper', 'TYPO3\\CMS\\Core\\IO\\PharStreamWrapperException' => 'TYPO3\\PharStreamWrapper\\Exception', 'TYPO3\\CMS\\Core\\Tree\\TableConfiguration\\ExtJsArrayTreeRenderer' => 'TYPO3\\CMS\\Core\\Tree\\TableConfiguration\\ArrayTreeRenderer', 'TYPO3\\CMS\\Core\\History\\RecordHistory' => 'TYPO3\\CMS\\Core\\DataHandling\\History\\RecordHistoryStore', 'TYPO3\\CMS\\Saltedpasswords\\Salt\\AbstractSalt' => 'TYPO3\\CMS\\Core\\Crypto\\PasswordHashing\\AbstractComposedSalt', 'TYPO3\\CMS\\Saltedpasswords\\Salt\\AbstractComposedSalt' => 'TYPO3\\CMS\\Core\\Crypto\\PasswordHashing\\AbstractComposedSalt', 'TYPO3\\CMS\\Saltedpasswords\\Salt\\Argon2iSalt' => 'TYPO3\\CMS\\Core\\Crypto\\PasswordHashing\\Argon2iPasswordHash', 'TYPO3\\CMS\\Saltedpasswords\\Salt\\BcryptSalt' => 'TYPO3\\CMS\\Core\\Crypto\\PasswordHashing\\BcryptPasswordHash', 'TYPO3\\CMS\\Saltedpasswords\\Salt\\BlowfishSalt' => 'TYPO3\\CMS\\Core\\Crypto\\PasswordHashing\\BlowfishPasswordHash', 'TYPO3\\CMS\\Saltedpasswords\\Salt\\ComposedSaltInterface' => 'TYPO3\\CMS\\Core\\Crypto\\PasswordHashing\\ComposedPasswordHashInterface', 'TYPO3\\CMS\\Saltedpasswords\\Utility\\ExensionManagerConfigurationUtility' => 'TYPO3\\CMS\\Core\\Crypto\\PasswordHashing\\ExtensionManagerConfigurationUtility', 'TYPO3\\CMS\\Saltedpasswords\\Exception\\InvalidSaltException' => 'TYPO3\\CMS\\Core\\Crypto\\PasswordHashing\\InvalidPasswordHashException', 'TYPO3\\CMS\\Saltedpasswords\\Salt\\Md5Salt' => 'TYPO3\\CMS\\Core\\Crypto\\PasswordHashing\\Md5PasswordHash', 'TYPO3\\CMS\\Saltedpasswords\\Salt\\SaltFactory' => 'TYPO3\\CMS\\Core\\Crypto\\PasswordHashing\\PasswordHashFactory', 'TYPO3\\CMS\\Saltedpasswords\\Salt\\SaltInterface' => 'TYPO3\\CMS\\Core\\Crypto\\PasswordHashing\\PasswordHashInterface', 'TYPO3\\CMS\\Saltedpasswords\\Salt\\Pbkdf2Salt' => 'TYPO3\\CMS\\Core\\Crypto\\PasswordHashing\\Pbkdf2PasswordHash', 'TYPO3\\CMS\\Saltedpasswords\\Salt\\PhpassSalt' => 'TYPO3\\CMS\\Core\\Crypto\\PasswordHashing\\PhpassPasswordHash', 'TYPO3\\CMS\\Saltedpasswords\\SaltedPasswordService' => 'TYPO3\\CMS\\Core\\Crypto\\PasswordHashing\\SaltedPasswordService', 'TYPO3\\CMS\\Saltedpasswords\\Utility\\SaltedPasswordsUtility' => 'TYPO3\\CMS\\Core\\Crypto\\PasswordHashing\\SaltedPasswordsUtility'];

View File

@ -0,0 +1,53 @@
<?php
namespace RectorPrefix20210519;
return [
// TYPO3 v8 replacements
'TYPO3\\CMS\\Extbase\\Service\\TypoScriptService' => 'TYPO3\\CMS\\Core\\TypoScript\\TypoScriptService',
// TYPO3 v9 replacements
// Configuration
'TYPO3\\CMS\\Extbase\\Configuration\\Exception\\ContainerIsLockedException' => 'TYPO3\\CMS\\Extbase\\Configuration\\Exception',
'TYPO3\\CMS\\Extbase\\Configuration\\Exception\\NoSuchFileException' => 'TYPO3\\CMS\\Extbase\\Configuration\\Exception',
'TYPO3\\CMS\\Extbase\\Configuration\\Exception\\NoSuchOptionException' => 'TYPO3\\CMS\\Extbase\\Configuration\\Exception',
// no proper fallback
'TYPO3\\CMS\\Extbase\\Mvc\\Exception\\InvalidMarkerException' => 'TYPO3\\CMS\\Extbase\\Exception',
'TYPO3\\CMS\\Extbase\\Mvc\\Exception\\InvalidRequestTypeException' => 'TYPO3\\CMS\\Extbase\\Mvc\\Exception',
'TYPO3\\CMS\\Extbase\\Mvc\\Exception\\RequiredArgumentMissingException' => 'TYPO3\\CMS\\Extbase\\Mvc\\Exception',
'TYPO3\\CMS\\Extbase\\Mvc\\Exception\\InvalidCommandIdentifierException' => 'TYPO3\\CMS\\Extbase\\Mvc\\Exception',
'TYPO3\\CMS\\Extbase\\Mvc\\Exception\\InvalidOrNoRequestHashException' => 'TYPO3\\CMS\\Extbase\\Security\\Exception\\InvalidHashException',
'TYPO3\\CMS\\Extbase\\Mvc\\Exception\\InvalidUriPatternException' => 'TYPO3\\CMS\\Extbase\\Security\\Exception',
// Object Container
'TYPO3\\CMS\\Extbase\\Object\\Container\\Exception\\CannotInitializeCacheException' => 'TYPO3\\CMS\\Core\\Cache\\Exception\\InvalidCacheException',
'TYPO3\\CMS\\Extbase\\Object\\Container\\Exception\\TooManyRecursionLevelsException' => 'TYPO3\\CMS\\Extbase\\Object\\Exception',
// ObjectManager
'TYPO3\\CMS\\Extbase\\Object\\Exception\\WrongScopeException' => 'TYPO3\\CMS\\Extbase\\Object\\Exception',
'TYPO3\\CMS\\Extbase\\Object\\InvalidClassException' => 'TYPO3\\CMS\\Extbase\\Object\\Exception',
'TYPO3\\CMS\\Extbase\\Object\\InvalidObjectConfigurationException' => 'TYPO3\\CMS\\Extbase\\Object\\Exception',
'TYPO3\\CMS\\Extbase\\Object\\InvalidObjectException' => 'TYPO3\\CMS\\Extbase\\Object\\Exception',
'TYPO3\\CMS\\Extbase\\Object\\ObjectAlreadyRegisteredException' => 'TYPO3\\CMS\\Extbase\\Object\\Exception',
'TYPO3\\CMS\\Extbase\\Object\\UnknownClassException' => 'TYPO3\\CMS\\Extbase\\Object\\Exception',
'TYPO3\\CMS\\Extbase\\Object\\UnknownInterfaceException' => 'TYPO3\\CMS\\Extbase\\Object\\Exception',
'TYPO3\\CMS\\Extbase\\Object\\UnresolvedDependenciesException' => 'TYPO3\\CMS\\Extbase\\Object\\Exception',
// Persistence
'TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Exception\\CleanStateNotMemorizedException' => 'TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Exception',
'TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Exception\\InvalidPropertyTypeException' => 'TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Exception',
'TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Exception\\MissingBackendException' => 'TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Exception',
// Property
'TYPO3\\CMS\\Extbase\\Property\\Exception\\FormatNotSupportedException' => 'TYPO3\\CMS\\Extbase\\Property\\Exception',
'TYPO3\\CMS\\Extbase\\Property\\Exception\\InvalidFormatException' => 'TYPO3\\CMS\\Extbase\\Property\\Exception',
'TYPO3\\CMS\\Extbase\\Property\\Exception\\InvalidPropertyException' => 'TYPO3\\CMS\\Extbase\\Property\\Exception',
// Reflection
'TYPO3\\CMS\\Extbase\\Reflection\\Exception\\InvalidPropertyTypeException' => 'TYPO3\\CMS\\Extbase\\Reflection\\Exception',
// Security
'TYPO3\\CMS\\Extbase\\Security\\Exception\\InvalidArgumentForRequestHashGenerationException' => 'TYPO3\\CMS\\Extbase\\Security\\Exception',
'TYPO3\\CMS\\Extbase\\Security\\Exception\\SyntacticallyWrongRequestHashException' => 'TYPO3\\CMS\\Extbase\\Security\\Exception',
// Validation
'TYPO3\\CMS\\Extbase\\Validation\\Exception\\InvalidSubjectException' => 'TYPO3\\CMS\\Extbase\\Validation\\Exception',
'TYPO3\\CMS\\Extbase\\Validation\\Exception\\NoValidatorFoundException' => 'TYPO3\\CMS\\Extbase\\Validation\\Exception',
// Fluid
'TYPO3\\CMS\\Extbase\\Mvc\\Exception\\InvalidViewHelperException' => 'TYPO3\\CMS\\Extbase\\Exception',
'TYPO3\\CMS\\Extbase\\Mvc\\Exception\\InvalidTemplateResourceException' => 'TYPO3Fluid\\Fluid\\View\\Exception\\InvalidTemplateResourceException',
// Service
'TYPO3\\CMS\\Extbase\\Service\\FlexFormService' => 'TYPO3\\CMS\\Core\\Service\\FlexFormService',
];

View File

@ -0,0 +1,36 @@
<?php
namespace RectorPrefix20210519;
return [
// Base classes removed in TYPO3 v9
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\AbstractViewHelper' => 'TYPO3Fluid\\Fluid\\Core\\ViewHelper\\AbstractViewHelper',
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\AbstractConditionViewHelper' => 'TYPO3Fluid\\Fluid\\Core\\ViewHelper\\AbstractConditionViewHelper',
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\AbstractTagBasedViewHelper' => 'TYPO3Fluid\\Fluid\\Core\\ViewHelper\\AbstractTagBasedViewHelper',
// Compiler/parser related aliases
'TYPO3\\CMS\\Fluid\\Core\\Compiler\\TemplateCompiler' => 'TYPO3Fluid\\Fluid\\Core\\Compiler\\TemplateCompiler',
'TYPO3\\CMS\\Fluid\\Core\\Parser\\InterceptorInterface' => 'TYPO3Fluid\\Fluid\\Core\\Parser\\InterceptorInterface',
'TYPO3\\CMS\\Fluid\\Core\\Parser\\SyntaxTree\\NodeInterface' => 'TYPO3Fluid\\Fluid\\Core\\Parser\\SyntaxTree\\NodeInterface',
'TYPO3\\CMS\\Fluid\\Core\\Parser\\SyntaxTree\\AbstractNode' => 'TYPO3Fluid\\Fluid\\Core\\Parser\\SyntaxTree\\ViewHelperNode',
'TYPO3\\CMS\\Fluid\\Core\\Rendering\\RenderingContextInterface' => 'TYPO3Fluid\\Fluid\\Core\\Rendering\\RenderingContextInterface',
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\ViewHelperInterface' => 'TYPO3Fluid\\Fluid\\Core\\ViewHelper\\ViewHelperInterface',
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\Facets\\ChildNodeAccessInterface' => 'TYPO3Fluid\\Fluid\\Core\\ViewHelper\\ViewHelperInterface',
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\Facets\\CompilableInterface' => 'TYPO3Fluid\\Fluid\\Core\\ViewHelper\\ViewHelperInterface',
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\Facets\\PostParseInterface' => 'TYPO3Fluid\\Fluid\\Core\\ViewHelper\\ViewHelperInterface',
// Fluid-specific errors
'TYPO3\\CMS\\Fluid\\Core\\Exception' => 'TYPO3Fluid\\Fluid\\Core\\Exception',
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\Exception' => 'TYPO3Fluid\\Fluid\\Core\\ViewHelper\\Exception',
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\Exception\\InvalidVariableException' => 'TYPO3Fluid\\Fluid\\Core\\Exception',
'TYPO3\\CMS\\Fluid\\View\\Exception' => 'TYPO3Fluid\\Fluid\\View\\Exception',
'TYPO3\\CMS\\Fluid\\View\\Exception\\InvalidSectionException' => 'TYPO3Fluid\\Fluid\\View\\Exception\\InvalidSectionException',
'TYPO3\\CMS\\Fluid\\View\\Exception\\InvalidTemplateResourceException' => 'TYPO3Fluid\\Fluid\\View\\Exception\\InvalidTemplateResourceException',
// Fluid variable containers, ViewHelpers, interfaces
'TYPO3\\CMS\\Fluid\\Core\\Parser\\SyntaxTree\\RootNode' => 'TYPO3Fluid\\Fluid\\Core\\Parser\\SyntaxTree\\RootNode',
'TYPO3\\CMS\\Fluid\\Core\\Parser\\SyntaxTree\\ViewHelperNode' => 'TYPO3Fluid\\Fluid\\Core\\Parser\\SyntaxTree\\ViewHelperNode',
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\ArgumentDefinition' => 'TYPO3Fluid\\Fluid\\Core\\ViewHelper\\ArgumentDefinition',
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\TemplateVariableContainer' => 'TYPO3Fluid\\Fluid\\Core\\Variables\\StandardVariableProvider',
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\ViewHelperVariableContainer' => 'TYPO3Fluid\\Fluid\\Core\\ViewHelper\\ViewHelperVariableContainer',
'TYPO3\\CMS\\Fluid\\Core\\Variables\\CmsVariableProvider' => 'TYPO3Fluid\\Fluid\\Core\\Variables\\StandardVariableProvider',
// Semi API level classes; mainly used in unit tests
'TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\TagBuilder' => 'TYPO3Fluid\\Fluid\\Core\\ViewHelper\\TagBuilder',
];

View File

@ -0,0 +1,5 @@
<?php
namespace RectorPrefix20210519;
return ['TYPO3\\CMS\\Frontend\\Controller\\PageInformationController' => 'TYPO3\\CMS\\Info\\Controller\\PageInformationController', 'TYPO3\\CMS\\Frontend\\Controller\\TranslationStatusController' => 'TYPO3\\CMS\\Info\\Controller\\TranslationStatusController', 'TYPO3\\CMS\\InfoPagetsconfig\\Controller\\InfoPageTyposcriptConfigController' => 'TYPO3\\CMS\\Info\\Controller\\InfoPageTyposcriptConfigController'];

View File

@ -0,0 +1,5 @@
<?php
namespace RectorPrefix20210519;
return ['TYPO3\\CMS\\Lowlevel\\View\\ConfigurationView' => 'TYPO3\\CMS\\Lowlevel\\Controller\\ConfigurationController', 'TYPO3\\CMS\\Lowlevel\\View\\DatabaseIntegrityView' => 'TYPO3\\CMS\\Lowlevel\\Controller\\DatabaseIntegrityController'];

View File

@ -0,0 +1,5 @@
<?php
namespace RectorPrefix20210519;
return ['TYPO3\\CMS\\Recordlist\\RecordList' => 'TYPO3\\CMS\\Recordlist\\Controller\\RecordListController'];

View File

@ -0,0 +1,5 @@
<?php
namespace RectorPrefix20210519;
return ['TYPO3\\CMS\\Sv\\Report\\ServicesListReport' => 'TYPO3\\CMS\\Reports\\Report\\ServicesListReport'];

View File

@ -0,0 +1,5 @@
<?php
namespace RectorPrefix20210519;
return ['TYPO3\\CMS\\T3editor\\CodeCompletion' => 'TYPO3\\CMS\\T3editor\\Controller\\CodeCompletionController', 'TYPO3\\CMS\\T3editor\\TypoScriptReferenceLoader' => 'TYPO3\\CMS\\T3editor\\Controller\\TypoScriptReferenceController'];

View File

@ -0,0 +1,5 @@
<?php
namespace RectorPrefix20210519;
return ['TYPO3\\CMS\\Lowlevel\\Command\\WorkspaceVersionRecordsCommand' => 'TYPO3\\CMS\\Workspaces\\Command\\WorkspaceVersionRecordsCommand', 'TYPO3\\CMS\\Version\\DataHandler\\CommandMap' => 'TYPO3\\CMS\\Workspaces\\DataHandler\\CommandMap', 'TYPO3\\CMS\\Version\\Dependency\\DependencyEntityFactory' => 'TYPO3\\CMS\\Workspaces\\Dependency\\DependencyEntityFactory', 'TYPO3\\CMS\\Version\\Dependency\\DependencyResolver' => 'TYPO3\\CMS\\Workspaces\\Dependency\\DependencyResolver', 'TYPO3\\CMS\\Version\\Dependency\\ElementEntity' => 'TYPO3\\CMS\\Workspaces\\Dependency\\ElementEntity', 'TYPO3\\CMS\\Version\\Dependency\\ElementEntityProcessor' => 'TYPO3\\CMS\\Workspaces\\Dependency\\ElementEntityProcessor', 'TYPO3\\CMS\\Version\\Dependency\\EventCallback' => 'TYPO3\\CMS\\Workspaces\\Dependency\\EventCallback', 'TYPO3\\CMS\\Version\\Dependency\\ReferenceEntity' => 'TYPO3\\CMS\\Workspaces\\Dependency\\ReferenceEntity', 'TYPO3\\CMS\\Version\\Hook\\DataHandlerHook' => 'TYPO3\\CMS\\Workspaces\\Hook\\DataHandlerHook', 'TYPO3\\CMS\\Version\\Hook\\PreviewHook' => 'TYPO3\\CMS\\Workspaces\\Preview\\PreviewUriBuilder', 'TYPO3\\CMS\\Version\\Task\\AutoPublishTask' => 'TYPO3\\CMS\\Workspaces\\Task\\AutoPublishTask', 'TYPO3\\CMS\\Version\\Utility\\WorkspacesUtility' => 'TYPO3\\CMS\\Workspaces\\Service\\WorkspaceService'];

42
vendor/ssch/typo3-rector/README.md vendored Normal file
View File

@ -0,0 +1,42 @@
## Caution
Never run this tool on production, only on development environment where code is under version control (e.g. git). Always review and test automatic changes before releasing to production.
# Rector for TYPO3
Apply automatic fixes on your TYPO3 code.
[![Downloads](https://img.shields.io/packagist/dt/ssch/typo3-rector.svg?style=flat-square)](https://packagist.org/packages/ssch/typo3-rector)
[Rector](https://github.com/rectorphp/rector) aims to provide instant upgrades and instant refactoring of any PHP 5.3+ code. This project adds rectors specific to TYPO3 to help you migrate between TYPO3 releases or keep your code deprecation free.
## Table of Contents
1. [Examples in action](docs/examples_in_action.md)
1. [Overview of all rules](docs/all_rectors_overview.md)
1. [Installation](docs/installation.md)
1. [Configuration and Processing](docs/configuration_and_processing.md)
1. [Best practice guide](docs/best_practice_guide.md)
1. [Beyond PHP - Entering the realm of FileProcessors](docs/beyond_php_file_processors.md)
1. [Limitations](docs/limitations.md)
1. [Contribution](docs/contribution.md)
Please also have a look at the documentation for [Rector](https://github.com/rectorphp/rector) itself.
## Support
Please post questions to TYPO3 Slack (https://typo3.slack.com) in the channel #ext-typo3-rector.
Or feel free to open an issue or start a discussion on github.
## Credits
Many thanks to [Tomas Votruba](https://tomasvotruba.com) for his on going support and [Rector](https://github.com/rectorphp/rector).
Many thanks to every other contributor.
Oh, and if you've come down this far, you might as well follow me on [twitter](https://twitter.com/schreiberten).
## Known Drawbacks
### How to Apply Coding Standards?
Rector uses [nikic/php-parser](https://github.com/nikic/PHP-Parser/), built on technology called an *abstract syntax tree* (AST). An AST doesn't know about spaces and when written to a file it produces poorly formatted code in both PHP and docblock annotations. **That's why your project needs to have a coding standard tool** and a set of formatting rules, so it can make Rector's output code nice and shiny again.
We're using [ECS](https://github.com/symplify/easy-coding-standard) with [this setup](ecs.php).

86
vendor/ssch/typo3-rector/composer.json vendored Normal file
View File

@ -0,0 +1,86 @@
{
"name": "ssch\/typo3-rector",
"type": "rector-extension",
"description": "Instant fixes for your TYPO3 code by using Rector.",
"license": "MIT",
"authors": [
{
"name": "Sebastian Schreiber",
"email": "breakpoint@schreibersebastian.de"
}
],
"require": {
"php": ">=8.0",
"helmich\/typo3-typoscript-parser": "^2.3.0",
"symfony\/var-exporter": "^5.2"
},
"require-dev": {
"rector\/rector-src": "^0.11",
"phpspec\/prophecy-phpunit": "^2.0",
"phpunit\/phpunit": "^9.5",
"rector\/rector-generator": "^0.1.7",
"symplify\/coding-standard": "^9.3",
"symplify\/easy-coding-standard": "^9.3",
"symplify\/phpstan-extensions": "^9.3",
"symplify\/rule-doc-generator": "^9.3",
"symplify\/phpstan-rules": "^9.3",
"rector\/rector-phpstan-rules": "^0.1",
"phpstan\/extension-installer": "^1.1",
"tracy\/tracy": "^2.8"
},
"autoload": {
"psr-4": {
"Ssch\\TYPO3Rector\\": "src",
"Ssch\\TYPO3Rector\\PHPStan\\": "utils\/phpstan\/src"
}
},
"autoload-dev": {
"psr-4": {
"Ssch\\TYPO3Rector\\ComposerPackages\\": "utils\/composer-packages\/src",
"Ssch\\TYPO3Rector\\Generator\\": "utils\/generator\/src",
"Ssch\\TYPO3Rector\\ComposerPackages\\Tests\\": "utils\/composer-packages\/tests",
"Ssch\\TYPO3Rector\\Tests\\": "tests",
"Ssch\\TYPO3Rector\\PHPStan\\Tests\\": "utils\/phpstan\/tests",
"Ssch\\TYPO3Rector\\Rules\\Tests\\": "utils\/rules\/tests",
"Ssch\\TYPO3Rector\\Rules\\": "utils\/rules\/src"
},
"exclude-from-classmap": [
"**.php.inc"
],
"classmap": [
"stubs"
]
},
"config": {
"optimize-autoloader": true,
"update-with-dependencies": true,
"sort-packages": true,
"platform-check": false
},
"scripts": {
"update-composer": [
"@update-composer-packages",
"@fix-rector",
"@fix-style"
],
"check-style": "vendor\/bin\/ecs check --ansi",
"fix-style": "vendor\/bin\/ecs check --fix --ansi",
"analyze": "vendor\/bin\/phpstan analyse --memory-limit=-1 --ansi --error-format symplify",
"test": "vendor\/bin\/phpunit",
"docs": "vendor\/bin\/rule-doc-generator generate src\/Rector --output-file docs\/all_rectors_overview.md --ansi",
"rector": "vendor\/bin\/rector process --dry-run --ansi",
"fix-rector": "vendor\/bin\/rector process --ansi",
"check-typo3-rector": "vendor\/bin\/rector process src\/Helper --config templates\/rector.php --dry-run --ansi",
"update-composer-packages": "vendor\/bin\/rector add-composer-typo3-extensions-to-config"
},
"extra": {
"rector": {
"includes": [
"config\/config.php"
]
}
},
"conflict": {
"rector\/rector": "<0.11"
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,16 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519;
use Rector\Composer\Rector\ChangePackageVersionComposerRector;
use Rector\Composer\Rector\RemovePackageComposerRector;
use Rector\Composer\ValueObject\PackageAndVersion;
use RectorPrefix20210519\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Symplify\SymfonyPhpConfig\ValueObjectInliner;
return static function (\RectorPrefix20210519\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator $containerConfigurator) : void {
$containerConfigurator->import(__DIR__ . '/../config.php');
$services = $containerConfigurator->services();
$services->set('remove_typo3_cms_composer_package_version_104')->class(\Rector\Composer\Rector\RemovePackageComposerRector::class)->call('configure', [[\Rector\Composer\Rector\RemovePackageComposerRector::PACKAGE_NAMES => ['typo3/cms-rsaauth', 'typo3/cms', 'typo3/cms-context-help', 'typo3/cms-info-pagetsconfig', 'typo3/cms-wizard-crpages', 'typo3/cms-wizard-sortpages', 'typo3/cms-cshmanual', 'typo3/cms-func', 'typo3/cms-documentation', 'dmitryd/typo3-realurl', 'typo3-ter/typo3-realurl']]]);
$services->set('change_composer_json_version_104')->class(\Rector\Composer\Rector\ChangePackageVersionComposerRector::class)->call('configure', [[\Rector\Composer\Rector\ChangePackageVersionComposerRector::PACKAGES_AND_VERSIONS => \Symplify\SymfonyPhpConfig\ValueObjectInliner::inline([new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-about', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-adminpanel', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-backend', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-belog', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-beuser', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-core', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-dashboard', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-extbase', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-extensionmanager', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-felogin', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-filelist', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-filemetadata', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-fluid', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-fluid-styled-content', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-form', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-frontend', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-impexp', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-indexed-search', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-info', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-install', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-linkvalidator', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-lowlevel', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-opendocs', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-recordlist', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-recycler', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-redirects', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-reports', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-rte-ckeditor', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-scheduler', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-seo', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-setup', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-sys-note', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-t3editor', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-tstemplate', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-viewpage', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-workspaces', '^10.4'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3-console/composer-auto-commands', '^0.4.0'), new \Rector\Composer\ValueObject\PackageAndVersion('helhum/typo3-console', '^6.0'), new \Rector\Composer\ValueObject\PackageAndVersion('helhum/dotenv-connector', '^3.0'), new \Rector\Composer\ValueObject\PackageAndVersion('helhum/typo3-secure-web', '^0.3.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3-console/composer-typo3-auto-install', '^0.4.0')])]]);
};

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,16 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519;
use Rector\Composer\Rector\ChangePackageVersionComposerRector;
use Rector\Composer\Rector\RemovePackageComposerRector;
use Rector\Composer\ValueObject\PackageAndVersion;
use RectorPrefix20210519\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Symplify\SymfonyPhpConfig\ValueObjectInliner;
return static function (\RectorPrefix20210519\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator $containerConfigurator) : void {
$containerConfigurator->import(__DIR__ . '/../config.php');
$services = $containerConfigurator->services();
$services->set('remove_typo3_cms_composer_package_version_110')->class(\Rector\Composer\Rector\RemovePackageComposerRector::class)->call('configure', [[\Rector\Composer\Rector\RemovePackageComposerRector::PACKAGE_NAMES => ['typo3/cms-context-help', 'typo3/cms-info-pagetsconfig', 'typo3/cms-wizard-crpages', 'typo3/cms-rsaauth']]]);
$services->set('change_composer_json_version_110')->class(\Rector\Composer\Rector\ChangePackageVersionComposerRector::class)->call('configure', [[\Rector\Composer\Rector\ChangePackageVersionComposerRector::PACKAGES_AND_VERSIONS => \Symplify\SymfonyPhpConfig\ValueObjectInliner::inline([new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-about', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-adminpanel', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-backend', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-belog', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-beuser', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-core', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-dashboard', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-extbase', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-extensionmanager', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-felogin', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-filelist', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-filemetadata', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-fluid', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-fluid-styled-content', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-form', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-frontend', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-impexp', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-indexed-search', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-info', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-install', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-linkvalidator', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-lowlevel', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-opendocs', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-recordlist', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-recycler', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-redirects', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-reports', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-rte-ckeditor', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-scheduler', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-seo', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-setup', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-sys-note', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-t3editor', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-tstemplate', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-viewpage', '^11.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-workspaces', '^11.0')])]]);
};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,16 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519;
use Rector\Composer\Rector\ChangePackageVersionComposerRector;
use Rector\Composer\Rector\RemovePackageComposerRector;
use Rector\Composer\ValueObject\PackageAndVersion;
use RectorPrefix20210519\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Symplify\SymfonyPhpConfig\ValueObjectInliner;
return static function (\RectorPrefix20210519\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator $containerConfigurator) : void {
$containerConfigurator->import(__DIR__ . '/../config.php');
$services = $containerConfigurator->services();
$services->set('remove_typo3_cms_composer_package_version_95')->class(\Rector\Composer\Rector\RemovePackageComposerRector::class)->call('configure', [[\Rector\Composer\Rector\RemovePackageComposerRector::PACKAGE_NAMES => ['typo3/cms', 'typo3/cms-context-help', 'typo3/cms-info-pagetsconfig', 'typo3/cms-wizard-crpages', 'typo3/cms-wizard-sortpages', 'typo3/cms-cshmanual', 'typo3/cms-func', 'typo3/cms-documentation', 'dmitryd/typo3-realurl', 'typo3-ter/typo3-realurl']]]);
$services->set('change_composer_json_version_95')->class(\Rector\Composer\Rector\ChangePackageVersionComposerRector::class)->call('configure', [[\Rector\Composer\Rector\ChangePackageVersionComposerRector::PACKAGES_AND_VERSIONS => \Symplify\SymfonyPhpConfig\ValueObjectInliner::inline([new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-about', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-adminpanel', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-backend', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-belog', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-beuser', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-core', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-extbase', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-extensionmanager', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-feedit', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-felogin', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-filelist', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-filemetadata', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-fluid', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-fluid-styled-content', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-form', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-frontend', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-impexp', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-indexed-search', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-info', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-install', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-linkvalidator', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-lowlevel', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-opendocs', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-recordlist', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-recycler', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-redirects', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-reports', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-rsaauth', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-rte-ckeditor', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-scheduler', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-seo', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-setup', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-sys-action', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-sys-note', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-t3editor', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-taskcenter', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-tstemplate', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-viewpage', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3/cms-workspaces', '^9.5'), new \Rector\Composer\ValueObject\PackageAndVersion('helhum/typo3-console', '^5.0'), new \Rector\Composer\ValueObject\PackageAndVersion('helhum/dotenv-connector', '^3.0'), new \Rector\Composer\ValueObject\PackageAndVersion('helhum/typo3-secure-web', '^0.3.0'), new \Rector\Composer\ValueObject\PackageAndVersion('typo3-console/composer-typo3-auto-install', '^0.3.0')])]]);
};

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,39 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\Parser;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\ParserInterface;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\Printer\ASTPrinterInterface;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\Printer\PrettyPrinter;
use RectorPrefix20210519\Helmich\TypoScriptParser\Parser\Traverser\Traverser;
use RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Tokenizer;
use RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenizerInterface;
use Ssch\TYPO3Rector\Rector\Composer\ExtensionComposerRector;
use Ssch\TYPO3Rector\Rector\General\ConvertTypo3ConfVarsRector;
use Ssch\TYPO3Rector\Rector\General\ExtEmConfRector;
use Ssch\TYPO3Rector\TypoScript\TypoScriptProcessor;
use RectorPrefix20210519\Symfony\Component\Console\Output\BufferedOutput;
use RectorPrefix20210519\Symfony\Component\Console\Output\OutputInterface;
use RectorPrefix20210519\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (\RectorPrefix20210519\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator $containerConfigurator) : void {
$containerConfigurator->import(__DIR__ . '/../utils/**/config/config.php', null, \true);
$services = $containerConfigurator->services();
$services->defaults()->public()->autowire();
$services->load('Ssch\\TYPO3Rector\\', __DIR__ . '/../src')->exclude([__DIR__ . '/../src/Rector', __DIR__ . '/../src/Set', __DIR__ . '/../src/ValueObject', __DIR__ . '/../src/TypoScript/Conditions', __DIR__ . '/../src/TypoScript/Visitors', __DIR__ . '/../src/FlexForms/Rector', __DIR__ . '/../src/Yaml/Form/Rector', __DIR__ . '/../src/Resources/Icons/Rector']);
// Add some general TYPO3 rules
$services->set(\Ssch\TYPO3Rector\Rector\General\ConvertTypo3ConfVarsRector::class);
$services->set(\Ssch\TYPO3Rector\Rector\General\ExtEmConfRector::class);
$services->set(\Ssch\TYPO3Rector\Rector\Composer\ExtensionComposerRector::class);
$services->set(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\Traverser\Traverser::class);
$services->set(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Tokenizer::class);
$services->alias(\RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\TokenizerInterface::class, \RectorPrefix20210519\Helmich\TypoScriptParser\Tokenizer\Tokenizer::class);
$services->set(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\Printer\PrettyPrinter::class);
$services->alias(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\Printer\ASTPrinterInterface::class, \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\Printer\PrettyPrinter::class);
$services->set(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\Parser::class);
$services->alias(\RectorPrefix20210519\Helmich\TypoScriptParser\Parser\ParserInterface::class, \RectorPrefix20210519\Helmich\TypoScriptParser\Parser\Parser::class);
$services->set(\RectorPrefix20210519\Symfony\Component\Console\Output\BufferedOutput::class);
$services->alias(\RectorPrefix20210519\Symfony\Component\Console\Output\OutputInterface::class, \RectorPrefix20210519\Symfony\Component\Console\Output\BufferedOutput::class);
$services->set(\Ssch\TYPO3Rector\TypoScript\TypoScriptProcessor::class)->call('configure', [[\Ssch\TYPO3Rector\TypoScript\TypoScriptProcessor::ALLOWED_FILE_EXTENSIONS => ['typoscript', 'ts', 'txt', 'pagets', 'constantsts', 'setupts', 'tsconfig', 't3s', 't3c', 'typoscriptconstants', 'typoscriptsetupts']]]);
};

View File

@ -0,0 +1,13 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519;
use Rector\Core\Configuration\Option;
use RectorPrefix20210519\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (\RectorPrefix20210519\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator $containerConfigurator) : void {
$containerConfigurator->import(__DIR__ . '/config.php');
$parameters = $containerConfigurator->parameters();
$parameters->set(\Rector\Core\Configuration\Option::AUTO_IMPORT_NAMES, \true);
$parameters->set(\Rector\Core\Configuration\Option::PHPSTAN_FOR_RECTOR_PATH, __DIR__ . '/../utils/phpstan/config/extension.neon');
};

View File

@ -0,0 +1,12 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210519;
use Ssch\TYPO3Rector\Rector\v9\v0\DatabaseConnectionToDbalRector;
use RectorPrefix20210519\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (\RectorPrefix20210519\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator $containerConfigurator) : void {
$containerConfigurator->import(__DIR__ . '/config.php');
$services = $containerConfigurator->services();
$services->set(\Ssch\TYPO3Rector\Rector\v9\v0\DatabaseConnectionToDbalRector::class);
};

Some files were not shown because too many files have changed in this diff Show More