Clover Coverage Report - Checkstyle
Coverage timestamp: Fri May 9 2008 10:48:13 EST
../../../../../../img/srcFileCovDistChart10.png 0% of files have more coverage
7   67   5   3.5
4   24   0.71   2
2     2.5  
1    
 
  ArrayTrailingCommaCheck       Line # 41 100% 1.0
5 7 5 5 0.71
 
  (1)
 
1    ////////////////////////////////////////////////////////////////////////////////
2    // checkstyle: Checks Java source code for adherence to a set of rules.
3    // Copyright (C) 2001-2005 Oliver Burn
4    //
5    // This library is free software; you can redistribute it and/or
6    // modify it under the terms of the GNU Lesser General Public
7    // License as published by the Free Software Foundation; either
8    // version 2.1 of the License, or (at your option) any later version.
9    //
10    // This library is distributed in the hope that it will be useful,
11    // but WITHOUT ANY WARRANTY; without even the implied warranty of
12    // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13    // Lesser General Public License for more details.
14    //
15    // You should have received a copy of the GNU Lesser General Public
16    // License along with this library; if not, write to the Free Software
17    // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18    ////////////////////////////////////////////////////////////////////////////////
19    package com.puppycrawl.tools.checkstyle.checks.coding;
20   
21    import com.puppycrawl.tools.checkstyle.api.Check;
22    import com.puppycrawl.tools.checkstyle.api.TokenTypes;
23    import com.puppycrawl.tools.checkstyle.api.DetailAST;
24   
25    /**
26    * <p>
27    * Checks if array initialization contains optional trailing comma.
28    * </p>
29    * <p>
30    * Rationale: Putting this comma in make is easier to change the
31    * order of the elements or add new elements on the end.
32    * </p>
33    * <p>
34    * An example of how to configure the check is:
35    * </p>
36    * <pre>
37    * &lt;module name="ArrayTrailingComma"/&gt;
38    * </pre>
39    * @author o_sukhodolsky
40    */
 
41    public class ArrayTrailingCommaCheck extends Check
42    {
43    /** {@inheritDoc} */
 
44  1 toggle public int[] getDefaultTokens()
45    {
46  1 return new int[] {TokenTypes.ARRAY_INIT};
47    }
48   
49    /** {@inheritDoc} */
 
50  21 toggle public void visitToken(DetailAST aArrayInit)
51    {
52  21 final DetailAST rcurly = aArrayInit.findFirstToken(TokenTypes.RCURLY);
53   
54    // if curlys are on the same line
55    // or array is empty then check nothing
56  21 if ((aArrayInit.getLineNo() == rcurly.getLineNo())
57    || (aArrayInit.getChildCount() == 1))
58    {
59  16 return;
60    }
61   
62  5 final DetailAST prev = rcurly.getPreviousSibling();
63  5 if (prev.getType() != TokenTypes.COMMA) {
64  3 log(rcurly.getLineNo(), "array.trailing.comma");
65    }
66    }
67    }