Clover Coverage Report - Checkstyle
Coverage timestamp: Fri May 9 2008 10:48:13 EST
../../../../../../img/srcFileCovDistChart10.png 0% of files have more coverage
6   73   4   1.5
0   26   0.67   4
4     1  
1    
 
  CatchHandler       Line # 29 100% 1.0
4 6 4 4 0.67
 
  (2)
 
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.indentation;
20   
21    import com.puppycrawl.tools.checkstyle.api.DetailAST;
22    import com.puppycrawl.tools.checkstyle.api.TokenTypes;
23   
24    /**
25    * Handler for catch blocks.
26    *
27    * @author jrichard
28    */
 
29    public class CatchHandler extends BlockParentHandler
30    {
31    /**
32    * Construct an instance of this handler with the given indentation check,
33    * abstract syntax tree, and parent handler.
34    *
35    * @param aIndentCheck the indentation check
36    * @param aAst the abstract syntax tree
37    * @param aParent the parent handler
38    */
 
39  20 toggle public CatchHandler(IndentationCheck aIndentCheck,
40    DetailAST aAst, ExpressionHandler aParent)
41    {
42  20 super(aIndentCheck, "catch", aAst, aParent);
43    }
44   
45    /**
46    * Determines if the top level token must start the line.
47    *
48    * @return false
49    */
 
50  12 toggle protected boolean toplevelMustStartLine()
51    {
52  12 return false;
53    }
54   
55    /**
56    * Check the indentation level of the conditional expression.
57    */
 
58  20 toggle private void checkCondExpr()
59    {
60  20 final DetailAST condAst = (DetailAST)
61    getMainAst().findFirstToken(TokenTypes.LPAREN).getNextSibling();
62  20 checkExpressionSubtree(condAst, getLevel(), false, false);
63    }
64   
65    /**
66    * Check the indentation of the expression we are handling.
67    */
 
68  20 toggle public void checkIndentation()
69    {
70  20 super.checkIndentation();
71  20 checkCondExpr();
72    }
73    }