*
{@link Immutable::CONSTRUCTOR_WRITE_SCOPE}: write is allowed only in containing class constructor (default choice)
* {@link Immutable::PRIVATE_WRITE_SCOPE}: write is allowed only in places where the property would be accessible if it had 'private' visibility modifier
* {@link Immutable::PROTECTED_WRITE_SCOPE}: write is allowed only in places where the property would be accessible if it had 'protected' visibility modifier
*
* @since 8.0
*/
#[Attribute(Attribute::TARGET_PROPERTY|Attribute::TARGET_CLASS)]
class Immutable
{
public const CONSTRUCTOR_WRITE_SCOPE = 'constructor';
public const PRIVATE_WRITE_SCOPE = 'private';
public const PROTECTED_WRITE_SCOPE = 'protected';
public function __construct(
#[ExpectedValues(valuesFromClass: Immutable::class)]
$allowedWriteScope = self::CONSTRUCTOR_WRITE_SCOPE,
) {
}
}__halt_compiler();----SIGNATURE:----5syiMBqGf7BBPNEL8hqfgiBwaBzI882iTkIQFg8K5iX3Wz7OSWzfbxO8VLF9zyIxe6dGUf4WovV0Qm48AHO3WlC4Ih2cgscpicWDrT2UQ0sE2pkWmThZlPOdaCCNDVYWkWaICrCg3NRfckB4537M99nYAqkDx7EOl+swuZZcOE/ktF+zNOEuAGa7PXftytOoYbxpgwyaAhrcm16lbMIgEjSreE0OWEulU9eNnXSi3bDhzCnPcauGkDYqDdZhGV7GZODTfHGQs2D/dkcy/EJeSq4m8SNoy3o+ty5z2d92+HQsGoPZS6qzGyW70rjdBePy7dWpPWIIja171pz8rC+9MFGLTxvUT9XE2Szi3TbOAq8DN8YFC2EBI/7OzT6Q/rq+ji8x2JuvkMz/ghPw4I6pqB2iRqqE4u3jkjBsgTiI2UFZkLtOw6RyUP2DDXGdH/qexvNVrxQJWBXhQ2aHNuTEtKml354Q7e9Vuph451Ig9e0LxKYR+lYUzT9iwr5fG2WFnRtrYeLHeEJu8bFmJ8tU+HQzcznUmMTwrkNiOL6n21Wmcr6BpGcD+4DbEh8QO0P5YVRaWMq8przkFAS2kSZpABMEaNpvwS77mFkl/BNbPK2KoN963gak5R23M0jytsrUOxCWLDMgPt7FOnxOnJw6IMPH5wncJduA0NAiu7KxzLs=----ATTACHMENT:----NjM3NzkxODc2MTg4ODIxMiAxMDAzMzg0MjY0Nzc4MjY4IDkwNzE2NDE0NDA4MTA0OTU=