eclipse-pdt / pdt

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

Summary of misssing errors and validations #245

Open the-liquid-metal opened 1 year ago

the-liquid-metal commented 1 year ago

summary

type column:

detail columns:

column state:

no type desciption S F P C
1 duplicate parameter names - 🔲 - -
2 duplicate property names via constructor property promotion - 🔲 - -
3 instantiation with unreachable constructor 🔲 - - -
4 🎯 duplicate name of properties vs methods - 🔲 - -
5 overriding final method - 🔲 - -
6 lack/excessive of params on derived method - 🔲 - -
7 mismatch variadic param on derived method - 🔲 - -
8 incompatible param/return value type on derived method - 🔲 - -
9 LSP violation - 🔲 - -
10 intersection types with scalar type - 🔲 🔲 -
11 LSP violation (mixed type case) - 🔲 - -
12 duplicate type on parameters/return value - 🔲 - -
13 extending/implementing/importing scalar type - - - 🔲
14 lack of arguments - 🔲 - -
15 🎯 excessive arguments - 🔲 - -
16 incorrect default value order - 🔲 - -
17 declaring promoted property outside a constructor - 🔲 - -
18 adding default value on variadic param - 🔲 - -
19 🎯 using old style constructor - 🔲 - -
20 using constructor property promotion on old style constructor - 🔲 - -
21 🎯 properties with same name but different on case - - 🔲 -
22 instantiation on class constant definition - - 🔲 -
23 🎯 duplicate name of class/interface/trait vs constant - - - 🔲
24 using forbidden type for param/property - 🔲 🔲 -
25 🎯 missing param/property/return value type - 🔲 - -
26 autovivification on value other than undefined, null or array 🔲 - - -
27 ❌/⚠️ autovivification on union type if not guarded with IF-STATEMENT 🔲 - - -
28 ⚠️ statement after never function call 🔲 - - -
29 return statement inside never function 🔲 - - -
30 non-void function which has return statement that not filled with value 🔲 - - -
31 void function which has return statement that filled with value 🔲 - - -
32 accessing enum instance and static property 🔲 - - -
33 enum case does not exist 🔲 - - -
34 Converting Enum or Enum case 🔲 - - -
35 enum assigned as a reference 🔲 - - -
36 defining forbidden enum methods - 🔲 - -
37 enum instantiation 🔲 - - -
38 ⚠️ comparing enum case 🔲 - - -
39 duplicate, invalid, or missing value of backed enum - - 🔲 -
40 enum using trait which requires property - - - 🔲
41 using enum as array key 🔲 - - -
42 using invalid attribute constant - 🔲 🔲 🔲
43 using $this when not in object context 🔲 - - -
44 accessing undeclared/inaccessible static property 🔲 - - -
45 instantiation in class constant declaration - - 🔲 -
46 unpacking variable other than array or Traversables 🔲 - - -
47 counting variable member other than array or Countable 🔲 - - -
48 accessing property with array syntax other than class which implements ArrayAccess 🔲 - - -
49 accessing undeclared/inaccessible instance property 🔲 - - -
50 invoking undeclared/inaccessible instance method 🔲 - - -
51 invoking undeclared/inaccessible static method 🔲 - - -
52 🎯 implicit implements Stringable declaration - - - 🔲
53 accessing undeclared/inaccessible class constant 🔲 - - -
54 accessing/invoking all trait member using trait name 🔲 - - -
55 mismatch between default value and property type - - 🔲 -
56 defining property promotion on interface/abstract class - 🔲 - -
57 using forbidden modifier on interface - - - 🔲
58 🎯 missing visibility modifier - 🔲 🔲 -
59 🎯 non lowercase keyword 🔲 🔲 🔲 🔲
60 🎯 using var on property - - 🔲 -
the-liquid-metal commented 1 year ago
attachment (for capy-paste into new comment): ``` `type` column: - ❌ display error - ⚠️ display warning - 🎯 validation detail columns: - S: any statement: global and inside function/method. excluding ```use``` clause. - F: function/method declaration/signature. including interface method, promoted property & it's attributes. - P: property/constant/enum case declaration. including it's attributes. exluding promoted property. - C: class/trait/interface declaration. including ```use``` clause & it's attributes. column state: - ✅ if all error/warning are displayed correctly and validation (if any) is already added. - 🔳 if some error/warning are missing or validation (if any) is missing. - 🔲 if all error/warning/validation are missing. | no | type | desciption | S | F | P | C | | --- | ----- | ------------------------------------------------------------------------------------------- | - | - | - | - | | 1 | ❌ | [duplicate parameter names](./177) | - | 🔲 | - | - | | 2 | ❌ | [duplicate property names via constructor property promotion](./178) | - | 🔲 | - | - | | 3 | ❌ | [instantiation with unreachable constructor](./179) | 🔲 | - | - | - | | 4 | 🎯 | [duplicate name of properties vs methods](./180) | - | 🔲 | - | - | | 5 | ❌ | [overriding final method](./181) | - | 🔲 | - | - | | 6 | ❌ | [lack/excessive of params on derived method](./182) | - | 🔲 | - | - | | 7 | ❌ | [mismatch variadic param on derived method](./183) | - | 🔲 | - | - | | 8 | ❌ | [incompatible param/return value type on derived method](./184) | - | 🔲 | - | - | | 9 | ❌ | [LSP violation](./185) | - | 🔲 | - | - | | 10 | ❌ | [intersection types with scalar type](./186) | - | 🔲 | 🔲 | - | | 11 | ❌ | [LSP violation (mixed type case)](./187) | - | 🔲 | - | - | | 12 | ❌ | [duplicate type on parameters/return value](./188) | - | 🔲 | - | - | | 13 | ❌ | [extending/implementing/importing scalar type](./189) | - | - | - | 🔲 | | 14 | ❌ | [lack of arguments](./190) | - | 🔲 | - | - | | 15 | 🎯 | [excessive arguments](./191) | - | 🔲 | - | - | | 16 | ❌ | [incorrect default value order](./192) | - | 🔲 | - | - | | 17 | ❌ | [declaring promoted property outside a constructor](./193) | - | 🔲 | - | - | | 18 | ❌ | [adding default value on variadic param](./194) | - | 🔲 | - | - | | 19 | 🎯 | [using old style constructor](./195) | - | 🔲 | - | - | | 20 | ❌ | [using constructor property promotion on old style constructor](./196) | - | 🔲 | - | - | | 21 | 🎯 | [properties with same name but different on case](./197) | - | - | 🔲 | - | | 22 | ❌ | [instantiation on class constant definition](./198) | - | - | 🔲 | - | | 23 | 🎯 | [duplicate name of class/interface/trait vs constant](./199) | - | - | - | 🔲 | | 24 | ❌ | [using forbidden type for param/property](./200) | - | 🔲 | 🔲 | - | | 25 | 🎯 | [missing param/property/return value type](./201) | - | 🔲 | - | - | | 26 | ❌ | [autovivification on value other than undefined, null or array](./202) | 🔲 | - | - | - | | 27 | ❌/⚠️ | [autovivification on union type if not guarded with IF-STATEMENT](./203) | 🔲 | - | - | - | | 28 | ⚠️ | [statement after never function call](./204) | 🔲 | - | - | - | | 29 | ❌ | [return statement inside never function](./205) | 🔲 | - | - | - | | 30 | ❌ | [non-void function which has return statement that not filled with value](./206) | 🔲 | - | - | - | | 31 | ❌ | [void function which has return statement that filled with value](./207) | 🔲 | - | - | - | | 32 | ❌ | [accessing enum instance and static property](./208) | 🔲 | - | - | - | | 33 | ❌ | [enum case does not exist](./209) | 🔲 | - | - | - | | 34 | ❌ | [Converting Enum or Enum case](./210) | 🔲 | - | - | - | | 35 | ❌ | [enum assigned as a reference](./211) | 🔲 | - | - | - | | 36 | ❌ | [defining forbidden enum methods](./212) | - | 🔲 | - | - | | 37 | ❌ | [enum instantiation](./213) | 🔲 | - | - | - | | 38 | ⚠️ | [comparing enum case](./214) | 🔲 | - | - | - | | 39 | ❌ | [duplicate, invalid, or missing value of backed enum](./215) | - | - | 🔲 | - | | 40 | ❌ | [enum using trait which requires property](./216) | - | - | - | 🔲 | | 41 | ❌ | [using enum as array key](./217) | 🔲 | - | - | - | | 42 | ❌ | [using invalid attribute constant](./218) | - | 🔲 | 🔲 | 🔲 | | 43 | ⚠️ | [using $this when not in object context](./219) | 🔲 | - | - | - | | 44 | ❌ | [accessing undeclared/inaccessible static property](./220) | 🔲 | - | - | - | | 45 | ❌ | [instantiation in class constant declaration](./221) | - | - | 🔲 | - | | 46 | ❌ | [unpacking variable other than array or Traversables](./222) | 🔲 | - | - | - | | 47 | ❌ | [counting variable member other than array or Countable](./223) | 🔲 | - | - | - | | 48 | ❌ | [accessing property with array syntax other than class which implements ArrayAccess](./224) | 🔲 | - | - | - | | 49 | ❌ | [accessing undeclared/inaccessible instance property](./225) | 🔲 | - | - | - | | 50 | ❌ | [invoking undeclared/inaccessible instance method](./226) | 🔲 | - | - | - | | 51 | ❌ | [invoking undeclared/inaccessible static method](./227) | 🔲 | - | - | - | | 52 | 🎯 | [implicit implements Stringable declaration](./228) | - | - | - | 🔲 | | 53 | ❌ | [accessing undeclared/inaccessible class constant](./229) | 🔲 | - | - | - | | 54 | ❌ | [accessing/invoking all trait member using trait name](./230) | 🔲 | - | - | - | | 55 | ❌ | [mismatch between default value and property type](./231) | - | - | 🔲 | - | | 56 | ❌ | [defining property promotion on interface/abstract class](./232) | - | 🔲 | - | - | | 57 | ❌ | [using forbidden modifier on interface](./233) | - | - | - | 🔲 | | 58 | 🎯 | [missing visibility modifier](./234) | - | 🔲 | 🔲 | - | | 59 | 🎯 | [non lowercase keyword](./235) | 🔲 | 🔲 | 🔲 | 🔲 | | 60 | 🎯 | [using var on property](./236) | - | - | 🔲 | - | ```