Cs-contrib.unkrig.de

From unkrig.de
Jump to navigation Jump to search

Introduction

This project adds custom checks, filters and quickfixes for CheckStyle and Eclipse-CS.

Download

Install the ECLIPSE plug-in from this update site:

    http://cs-contrib.unkrig.de/update

If you're only interested in the checks (and not the ECLIPSE plug-in), you can download the most recent 'de.unkrig.cs-contrib.core_*.jar' file from

    http://cs-contrib.unkrig.de/update/plugins/

and put it on CheckStyle's classpath.

A change log is also available.

Checks and Quickfixes

<de.unkrig.Alignment>
Verifies that Java elements are vertically aligned.
<de.unkrig.CppCommentAlignment>
Verifies that C++ comments ('// ...') are correctly aligned.
<de.unkrig.InnerAssignment>
Verifies that assignments in expressions are parenthesized.
<de.unkrig.NameSpelling>
Verifies that the names of Java elements match, respectively no not match given patterns.
<de.unkrig.ParenPad>
Enhanced version of "ParenPad": NOSPACE now allows '( // ...'.
This check is superseded by 'de.unkrig.Whitespace'.
<de.unkrig.Whitespace>
Verifies that tokens are, respectively are not preceded with (and/or followed by) whitespace.

Check 'de.unkrig.WhitespaceAround'

Checks that a token is surrounded by whitespace. Empty constructor bodies, method bodies, catch blocks and type bodies of the form

This check is superseded by 'de.unkrig.Whitespace'.

public MyClass() {}           // empty constructor body

public void func() {}         // empty method body

public void func() {
    new Object() {
        // ...
    }.hashCode();             // No space between '}' and '.' -- always allowed
    try {
        // ...
    } catch {}                // empty catch block
}

interface MyInterface {}      // emtpy type body

may optionally be exempted from the policy using the allowEmptyMethods, allowEmptyConstructors, allowEmptyCatches and allowEmptyTypes properties.

Properties:

allowEmptyConstructors
allow empty constructor bodies
allowEmptyMethods
allow empty method bodies
allowEmptyCatches
allow empty catch blocks
allowEmptyTypes
allow empty class and interface bodies
tokens
Tokens to check

Check 'de.unkrig.WrapAndIndent'

Statements must be uniformly wrapped and indented.

Properties

basicOffset
How many spaces to use for new indentation level

Quickfixes

Wrap line
Wrap this line at the correct position
Join lines
Append this line to the previous
Correct indentation
Correct the indentation of this line

Check 'de.unkrig.ZeroParameterSuperconstructorInvocation'

Checks that no constructor calls the zero-parameter superconstructor.

Quickfixes:

Remove
Remove redundant invocation of zero-parameter superconstructor

Filters

Filter 'de.unkrig.SuppressionLine'

Events (i.e. CheckStyle warnings) are switched off by a 'magic line' ('offCommentFormat') or back on by another 'magic line' ('onCommentFormat').

After the 'off' magic line, events do not show if at least one of the following conditions is true:

  • The 'checkNameFormat' (if set) is found in the check name (e.g. 'de.unkrig.cscontrib.checks.Alignment')
  • The 'messageFormat' (if set) is found in the event message
  • The 'moduleIdFormat' (if set) is found in the ID of the module that generated the event

This filter can only work if a 'FileContentsHolder' module exists in the configuration.

Properties:

offFormat
Line pattern to trigger filter to begin suppression
onFormat
Line pattern to trigger filter to end suppression
checkNameFormat
Check name pattern to suppress
messageFormat
Message pattern to suppress
moduleIdFormat
Module ID pattern to suppress

License

CS-CONTRIB.UNKRIG.DE is published under the "New BSD License".

Source Code

The source code is available through SVN:

   https://svn.code.sf.net/p/loggifier/code