-
-
Notifications
You must be signed in to change notification settings - Fork 736
Closed
rectorphp/rector-downgrade-php
#298Labels
Description
Bug Report
| Subject | Details |
|---|---|
| Rector version | last dev-main |
| Installed as | composer dependency |
Minimal PHP Code Causing Issue
See https://getrector.com/demo/3933a069-e42d-4d93-a226-55fcab03e6ec
<?php
use PhpCsFixer\Tokenizer\CT;
use PhpCsFixer\Tokenizer\FCT;
class A
{
private const PROPERTY_TYPE_DECLARATION_KINDS = [
\T_STRING,
\T_NS_SEPARATOR,
CT::T_NULLABLE_TYPE,
CT::T_ARRAY_TYPEHINT,
CT::T_TYPE_ALTERNATION,
CT::T_TYPE_INTERSECTION,
CT::T_DISJUNCTIVE_NORMAL_FORM_TYPE_PARENTHESIS_OPEN,
CT::T_DISJUNCTIVE_NORMAL_FORM_TYPE_PARENTHESIS_CLOSE
];
private const EXPECTED_KINDS_GENERIC = [
\T_ABSTRACT,
\T_FINAL, \T_PRIVATE,
\T_PROTECTED, \T_PUBLIC,
\T_STATIC,
\T_VAR,
CT::T_CONSTRUCTOR_PROPERTY_PROMOTION_PUBLIC,
CT::T_CONSTRUCTOR_PROPERTY_PROMOTION_PROTECTED,
CT::T_CONSTRUCTOR_PROPERTY_PROMOTION_PRIVATE,
FCT::T_READONLY,
FCT::T_PRIVATE_SET,
FCT::T_PROTECTED_SET,
FCT::T_PUBLIC_SET
];
private const EXPECTED_KINDS_PROPERTY_KINDS = [
...self::EXPECTED_KINDS_GENERIC,
...self::PROPERTY_TYPE_DECLARATION_KINDS
];
}Responsible rules
-
DowngradeArraySpreadRector -
DowngradeArraySpreadStringKeyRector
Expected Behavior
array_merge() on property definition cause error:
Fatal error: Constant expression contains invalid operations in /in/suBZM on line 7
It should be extracted instead.
zonuexe