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:----BzUh3INpHSujNRTdrA2pfLGoR+8+lASNgPJC7x+1pD+4DeVi40xUqcyvcSRTBeiLEusvEQf/YeydswNDYovespBrY0sNMMKK/cVQH/TmnLXg1Ge+A6I4EF0SrIoxGfsW96LruXM6uFcvTJXucT+jO1JrUzQD42S879Ndkez58abxBCY9Z0JwroscymbnckllDsEqe7RCJ7tzyX/kInB6Vj30uh7oi4F1cO0cH2X6WuTTKAzsgo96yEfKdJqxx/Vw78PNiEY9j0T4GE7ZcFyui02k6SnM9zN0v33uaIMLY20p1wTP8CwLxr2RBfhUmbm8ems8meyUWiu3/SVG6MMWXu8rZI32w6OnJkJ0POPAqJrcXty3F5udGdV3HbLzH5PI3GAGLErpMTS07IWOhHjVvEnEj2jhHJIuGgs21FXPaUgdvnGlPo/rOWk/3lhV6QDb6gDpP9kx8ihdvej9jgRj6nb9WoHLEaduQ3QfvITE2LbYBGpV0PHeBxQWF5CnDXnH+fBkXqNcLeTBiYOLh/1mXjZzal+eqY3/fhdDaVb/pxUudIFk4mZ7rbrzk/tE93MvK0zuHjvMxuoSDWBALBWp9rPw5vAaGzxgbd2hBkLXqarDQ3+r3CH6X9A81ZHHJMP3to8QguzipNKOwRInx7YCj/djXBwxavYZ/p4j5sqOy0Y=----ATTACHMENT:----NDI1OTQ4NTExMzA0ODI1OCA0ODgyOTA5NzMxOTI2NDcwIDY0MzI4MTQ5NzE3MjM1NzE=