1
0
mirror of https://github.com/danog/psalm.git synced 2024-11-26 12:24:49 +01:00

Allow Attribute::IS_REPEATABLE (#4971)

This allows Attribute::IS_REPEATABLE to be specified as attribute flag.

Fixes vimeo/psalm#4892, vimeo/psalm#4970
This commit is contained in:
Bruce Weirdan 2021-01-11 04:55:06 +02:00 committed by Daniil Gentili
parent c6e09db4ff
commit 398f5f9970
Signed by: danog
GPG Key ID: 8C1BE3B34B230CA7
2 changed files with 11 additions and 1 deletions

View File

@ -57,9 +57,10 @@ class Attribute
public const TARGET_CLASS_CONSTANT = 16;
public const TARGET_PARAMETER = 32;
public const TARGET_ALL = 63;
public const IS_REPEATABLE = 64;
/**
* @param 1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60|61|62|63 $flags
* @param int-mask-of<self::*> $flags
*/
public function __construct(int $flags = self::TARGET_ALL)
{

View File

@ -117,6 +117,15 @@ class AttributeTest extends TestCase
[],
'8.0'
],
'allowsRepeatableFlag' => [
'<?php
#[Attribute(Attribute::TARGET_ALL|Attribute::IS_REPEATABLE)] // results in int(127)
class A {}
',
[],
[],
'8.0'
],
];
}