eclipse-pdt / pdt

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

Missing validation on duplicate name of class/interface/trait vs constant #199

Open the-liquid-metal opened 1 year ago

the-liquid-metal commented 1 year ago

Bug Description A class/interface/trait and a constant with the same name reside in the same namespace is a bad design.

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 Test23 {}

const Test23 = "Foo"; // this statement should trigger warning

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

class Test23b {}

const Test23b = "Foo"; // this statement should trigger warning

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

trait Test23c {}

const Test23c = "Foo"; // this statement should trigger warning