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 forbidden type for param/property #200

Open the-liquid-metal opened 1 year ago

the-liquid-metal commented 1 year ago

Bug Description Missing error on using forbidden type for param/property.

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;

interface Test24 {
    public function fn1(
        int $par1,
        int $par2,
        void $par3, // this statement must trigger error
    );
}

class Test24b
{
    public int $prop1;
    public callable $prop2; // this statement must trigger error
    public void $prop3;     // this statement must trigger error

    public function fn1(
        int $par1,
        int $par2,
        void $par3, // this statement must trigger error
    ){}
}

trait Test24c
{
    public int $prop1;
    public callable $prop2; // this statement must trigger error
    public void $prop3;     // this statement must trigger error

    public function fn1(
        int $par1,
        int $par2,
        void $par3, // this statement must trigger error
    ){}
}

function fn1(
    int $par1,
    int $par2,
    void $par3, // this statement must trigger error
){}

$var1 = function(
    int $par1,
    int $par2,
    void $par3, // this statement must trigger error
){};

$var2 = fn(
    int $par1,
    int $par2,
    void $par3, // this statement must trigger error
) => 10;

var_dump($var1, $var2);