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:----M4YZtbq1AucOkWkQjBefEut1g0MmjIhdyOyLreZCIfokc3CMF9HbOTE7CSeHHp1O6fZCA+ckJTMCT8+Jx21bMwxi2aNaaCPcbhANeNioLzpkDd7zL4C+0OyOxJ0Z/oenUYJlo9/n4uyEMagtRNfWbCcBTAdas+QsVhSL8T84J4eneoVduq9gIRNaSW6Q6Ca/si2Hdq2HiS3frRQh7xLCHfM/9JbRHSGU99DozrUly7l94HohX627iF/bkyiiSZlFlLJKEv5l7HgQp5C6CljAIPxA6rjN5o8rlXoTjeTacL+H5cloZH/2u789VghZurxsqW8fyd68JHoHyb2YiZtiQTtXhx4HIuUyepEEc3iv6CcoFQjus7eS8fqSZSCGuSEYxZ+zTH1ByNC3O+4Ks3MR0NpCbiPH11Z79gT1YwRVgq/Ed8kIP68u1ykAtQjCGyPwWh7jHV3v1VafmfXWd+aAg8k4ja848vYofVH/FBWf45Oagez0FpeNsaCm972402LRGddqI5dchXyvmNajAe2sgq52UT2JezlGV1Ck5NmNPMUV5Mp5y1fVXWJtNIWY8rs2xWjOUAWNSSq3WVf6BJfNSynJ9HYSIRtYpe5TUo9RJ3tSIYNZQPUeL/bDpK+cy7TRFWkGDkgF1H2rKr5YjnJJuBlgv8UvkBI23Kicrst+ysk=----ATTACHMENT:----NTQ3NTI2Njc0NDYxODE5NyA2NzY3ODM4OTk5MTk0OTc1IDQ2MDUwODg5ODQ5NjM0NTg=