Clover Coverage Report - Checkstyle
Coverage timestamp: Fri May 9 2008 10:48:13 EST
../../../../../../img/srcFileCovDistChart7.png 83% of files have more coverage
3   62   3   1
0   19   1   3
3     1  
1    
 
  AvoidInlineConditionalsCheck       Line # 40 66.7% 0.6666667
3.33 3 3 3 1
 
  (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    * Detects inline conditionals.
27    *
28    * An example inline conditional is this:
29    * <pre>
30    * String a = getParameter("a");
31    * String b = (a==null || a.length&lt;1) ? null : a.substring(1);
32    * </pre>
33    *
34    * Rationale: Some developers find inline conditionals hard to read,
35    * so their company's coding standards forbids them.
36    *
37    * @author lkuehne
38    * @version $Revision: 1.5 $
39    */
 
40    public class AvoidInlineConditionalsCheck extends Check
41    {
42    /** {@inheritDoc} */
 
43  1 toggle public int[] getDefaultTokens()
44    {
45  1 return new int[]{TokenTypes.QUESTION};
46    }
47   
48    /** {@inheritDoc} */
 
49  0 toggle public int[] getRequiredTokens()
50    {
51  0 return getDefaultTokens();
52    }
53   
54    /** {@inheritDoc} */
 
55  3 toggle public void visitToken(DetailAST aAST)
56    {
57    // the only place a QUESTION token can occur is in inline conditionals
58    // so no need to do any further tricks here - pretty trivial Check!
59   
60  3 log(aAST.getLineNo(), aAST.getColumnNo(), "inline.conditional.avoid");
61    }
62    }