eclipse-pdt / pdt

PHP Development Tools project (PDT)
https://eclipse.org/pdt
Eclipse Public License 2.0
189 stars 46 forks source link

Missing error on using invalid attribute constant #218

Open the-liquid-metal opened 1 year ago

the-liquid-metal commented 1 year ago

Bug Description Missing error on using invalid attribute constant.

Eclipse environment Version: 2023-06 (4.28.0) Build id: 20230608-1333 PDT: 8.0.0.202306050832

System

To Reproduce Steps to reproduce the behavior: copy-paste this script to the IDE

<?php
declare(strict_types=1);

namespace ns1\ns2;

use Attribute;

class Test43 {}

// this statement must trigger error
#[Attribute(Attribute::TARGET_METHOD | Attribute::NOT_EXIST_CONST | Attribute::TARGET_FUNCTION)]
class Test43b
{
    // ...
}

// -----------------------------------------------------

// this statement should trigger warning
#[Attribute(Attribute::TARGET_METHOD | Attribute::TARGET_METHOD | Attribute::TARGET_FUNCTION)]
class Test43c
{
    // ...
}

// -----------------------------------------------------

// this statement must trigger error
#[Attribute(Test43::TARGET_METHOD | Test43::TARGET_FUNCTION)]
class Test43d
{
    // ...
}

// -----------------------------------------------------

// already correct error trigger
#[Attribute(Attribute::$TARGET_METHOD | Attribute::$TARGET_FUNCTION)]
class Test43e
{
    // ...
}

// -----------------------------------------------------

// this statement must trigger error
#[Attribute("TARGET_METHOD" | "TARGET_FUNCTION")]
class Test43f
{
    // ...
}