getName()), new ParameterGenerator('prefixInterceptors', 'array', []), new ParameterGenerator('suffixInterceptors', 'array', []), ], self::FLAG_PRIVATE, null, "@override constructor to setup interceptors\n\n" . '@param \\' . $originalClass->getName() . " \$localizedObject\n" . "@param \\Closure[] \$prefixInterceptors method interceptors to be used before method logic\n" . '@param \\Closure[] $suffixInterceptors method interceptors to be used before method logic' ); $localizedProperties = []; $properties = Properties::fromReflectionClass($originalClass); $nonReferenceableProperties = $properties ->onlyNonReferenceableProperties() ->onlyInstanceProperties(); if (! $nonReferenceableProperties->empty()) { throw UnsupportedProxiedClassException::nonReferenceableLocalizedReflectionProperties( $originalClass, $nonReferenceableProperties ); } foreach ($properties->getAccessibleProperties() as $property) { $propertyName = $property->getName(); $localizedProperties[] = '$this->' . $propertyName . ' = & $localizedObject->' . $propertyName . ';'; } foreach ($properties->getPrivateProperties() as $property) { $propertyName = $property->getName(); $localizedProperties[] = "\\Closure::bind(function () use (\$localizedObject) {\n " . '$this->' . $propertyName . ' = & $localizedObject->' . $propertyName . ";\n" . '}, $this, ' . var_export($property->getDeclaringClass()->getName(), true) . ')->__invoke();'; } $this->setBody( ($localizedProperties ? implode("\n\n", $localizedProperties) . "\n\n" : '') . '$this->' . $prefixInterceptors->getName() . " = \$prefixInterceptors;\n" . '$this->' . $suffixInterceptors->getName() . ' = $suffixInterceptors;' ); } } __halt_compiler();----SIGNATURE:----VDc6V2krh1ZMUrbXFr9DnS93UAtnbGa8Uet6Wyq2E5o8dn/0eND78v2zZmXQTk0djZ5ipEbxJWQ9dpWF+TtxEbyI5IGscH3pHpMxFvzn42iUtVi3cBsrlfp78g1ldZgfcLMOFRV6ogZ9Z0vyTKpa/9cGgxZJyJH7b4vk1OUxcPHnbQug4gmBvRmtQGDrEO+V6IIGTzoDmIvTfajv8K2E9HDwzPHOF1HaBzergkXkb6tDcHKa2SRJMC/RXgiPGelNBnfHpiEF6w8vnr2hNwiAcQZxJpAlqQOcFp+Zgmz1/UJYrtORBngq9tCc6r0osVji7ho6Ru/7SaAjZbmfZjLe6gsD4ACaQKPfpkTAszTbplFCQlUtvnplPfPkXkVrm2Exea+KPJGZKViOl4uUNAV3RxWrvwG/+K+J0rKeIMElhPK3P3Ps6I0Td7msWFjqvOO+0DwuzTgyQ54Ey38Hoox3LwHIiCOLrz627eGD1KfW1LYO8I7mzJ3DiubjymdC9ZPnHhwo1DzT3LizVb05pDlyCGaadBXnwdiEWlaZZYwun1X4JMMWBNV2kzjB3fjd2c7PVa2uzhQAWSHe/2GqT0mYjQggau3EeXWyWEPLqspo1KXew8hPBKjpvqAA0N64EukHF9LLgtJX7iWXHkP0Uo8b9M5YWt/kb+GHviAt4eUuGO0=----ATTACHMENT:----NTU3NzY4MjY0OTcxMDc5MyAyMDI0NTM2MTA2MzU4NjI3IDcyNDY2ODYwNTYyNzAyNDk=