integrated-application-development / integrated-application-development/sonar-delphi

New rule: Restrictive method types should not be used

Open
#67 2 comments 0 reactions 0 assignees View on GitHub
feature good first issue rule
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.