oclint/oclint — pull request #27 by lqi (2013-04-20 15:25:57+00:00)
Title: Suppress Unused Method Parameter

Unused method parameter rule is sometimes controversial, especially when developers work on apps together with Interface Builder.

For example, the following code snippet is copied from an ongoing project, `sender` in the following `IBAction` method is theoretically not used:

```objective-c
- (IBAction)turnoverValueChanged:(id)sender {
[self calculateTurnover];
}
```

Developers are more recommended to remove the `(id)sender` part from the code, however, there are certain teams who keep it as a coding standard. Some notification center related APIs and delegation callbacks have the similar discussions.

So, with the changes in this pull request, it's possible for developers to suppress unused method parameter violations. Below is the example for applying the suppress support to the same method:

```objective-c
- (IBAction)turnoverValueChanged:(id) __attribute__((annotate("oclint:suppress[unused method parameter]"))) sender {
[self calculateTurnover];
}
```

Along with suppressing unused method parameter, developers can suppress CCN, NPath, and NCSS warning. However, it's highly discouraged...