Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Summary of misssing errors and validations #245

Open
the-liquid-metal opened this issue Jul 7, 2023 · 1 comment
Open

Summary of misssing errors and validations #245

the-liquid-metal opened this issue Jul 7, 2023 · 1 comment
Labels

Comments

@the-liquid-metal
Copy link

the-liquid-metal commented Jul 7, 2023

summary

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 - 🔲 - -
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
Copy link
Author

the-liquid-metal commented Jul 7, 2023

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)                                                              | - | - | 🔲 | - | 

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant