From 5bdcc0339f3645899a108abf899fbeb74fbce61c Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sun, 15 Aug 2021 16:13:07 +0100 Subject: [PATCH] build/generate-known-translation-apis: make the ref to TranslationContainer statically analysable this ensures that it will follow refactors automatically with no additional changes. --- build/generate-known-translation-apis.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/build/generate-known-translation-apis.php b/build/generate-known-translation-apis.php index bb0679b01..ad05db0b3 100644 --- a/build/generate-known-translation-apis.php +++ b/build/generate-known-translation-apis.php @@ -23,6 +23,7 @@ declare(strict_types=1); namespace pocketmine\build\generate_known_translation_apis; +use pocketmine\lang\TranslationContainer; use Webmozart\PathUtil\Path; use function array_map; use function count; @@ -130,6 +131,8 @@ HEADER; ksort($languageDefinitions, SORT_STRING); $parameterRegex = '/{%(.+?)}/'; + + $translationContainerClass = (new \ReflectionClass(TranslationContainer::class))->getShortName(); foreach($languageDefinitions as $key => $value){ $parameters = []; if(preg_match_all($parameterRegex, $value, $matches) > 0){ @@ -143,8 +146,8 @@ HEADER; } echo "\tpublic static function " . functionify($key) . - "(" . implode(", ", array_map(fn(string $paramName) => "TranslationContainer|string \$$paramName", $parameters)) . ") : TranslationContainer{\n"; - echo "\t\treturn new TranslationContainer(KnownTranslationKeys::" . constantify($key) . ", ["; + "(" . implode(", ", array_map(fn(string $paramName) => "$translationContainerClass|string \$$paramName", $parameters)) . ") : $translationContainerClass{\n"; + echo "\t\treturn new $translationContainerClass(KnownTranslationKeys::" . constantify($key) . ", ["; foreach($parameters as $parameterKey => $parameterName){ echo "\n\t\t\t"; if(!is_numeric($parameterKey)){