integrated-application-development / integrated-application-development/sonar-delphi
New rule: Restrictive method types should not be used
- Dominant language
- Java
- Stars
- 159
- Forks
- 31
- Avg merge
- 5d 4h
- Merged PRs (30d)
- 4
Description
### Prerequisites
- [X] This rule has not already been suggested.
- [X] This should be a new rule, not an improvement to an existing rule.
- [X] This rule would be generally useful, not specific to my code or setup.
### Suggested rule title
Restrictive method types should not be used
### Rule description
This rule identifies places where procedural types (`procedure`) and method pointers (`procedure of object`) are used, and suggests replacing with an anonymous method type (`reference to procedure`) instead.
### Rationale
Anonymous method types are a relatively new addition to Delphi that can contain a reference to
* Non-OO routines
* Instance methods
* Class methods
* Anonymous methods
This makes procedural types (non-OO routines) and method pointers (instance methods and class methods) effectively obsolete.
Contributor guide
Assessment
This issue has not been assessed yet.