php-src/Zend/zend_attributes.stub.php
Bob Weinand 9f29e2d7e9 Allow for arbitrary (class) attributes in stubs
This can be easily extended to other types of attributes.

Closes #8839.
2022-07-05 18:23:05 +02:00

88 lines
1.7 KiB
PHP

<?php
/** @generate-class-entries */
#[Attribute(Attribute::TARGET_CLASS)]
final class Attribute
{
/**
* @var int
* @cname ZEND_ATTRIBUTE_TARGET_CLASS
*/
const TARGET_CLASS = UNKNOWN;
/**
* @var int
* @cname ZEND_ATTRIBUTE_TARGET_FUNCTION
*/
const TARGET_FUNCTION = UNKNOWN;
/**
* @var int
* @cname ZEND_ATTRIBUTE_TARGET_METHOD
*/
const TARGET_METHOD = UNKNOWN;
/**
* @var int
* @cname ZEND_ATTRIBUTE_TARGET_PROPERTY
*/
const TARGET_PROPERTY = UNKNOWN;
/**
* @var int
* @cname ZEND_ATTRIBUTE_TARGET_CLASS_CONST
*/
const TARGET_CLASS_CONSTANT = UNKNOWN;
/**
* @var int
* @cname ZEND_ATTRIBUTE_TARGET_PARAMETER
*/
const TARGET_PARAMETER = UNKNOWN;
/**
* @var int
* @cname ZEND_ATTRIBUTE_TARGET_ALL
*/
const TARGET_ALL = UNKNOWN;
/**
* @var int
* @cname ZEND_ATTRIBUTE_IS_REPEATABLE
*/
const IS_REPEATABLE = UNKNOWN;
public int $flags;
public function __construct(int $flags = Attribute::TARGET_ALL) {}
}
#[Attribute(Attribute::TARGET_METHOD)]
final class ReturnTypeWillChange
{
public function __construct() {}
}
#[Attribute(Attribute::TARGET_CLASS)]
final class AllowDynamicProperties
{
public function __construct() {}
}
/**
* @strict-properties
*/
#[Attribute(Attribute::TARGET_PARAMETER)]
final class SensitiveParameter
{
public function __construct() {}
}
/**
* @strict-properties
* @not-serializable
*/
final class SensitiveParameterValue
{
private readonly mixed $value;
public function __construct(mixed $value) {}
public function getValue(): mixed {}
public function __debugInfo(): array {}
}