View Javadoc
1   /**
2    * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
3    */
4   package net.sourceforge.pmd.lang.java.rule.codesize;
5   
6   import net.sourceforge.pmd.lang.java.ast.ASTSwitchStatement;
7   import net.sourceforge.pmd.lang.java.ast.JavaNode;
8   
9   
10  /**
11   * Implements the modified cyclomatic complexity rule 
12   * <p>
13   * Modified rules: Same as standard cyclomatic complexity, but
14   * switch statement plus all cases count as 1.
15   * 
16   * @author Alan Hohn, based on work by Donald A. Leckie
17   * 
18   * @since June 18, 2014
19   */
20  public class ModifiedCyclomaticComplexityRule extends StdCyclomaticComplexityRule {
21  
22    @Override
23    public Object visit(ASTSwitchStatement node, Object data) {
24      entryStack.peek().bumpDecisionPoints();
25      visit((JavaNode) node, data);
26      return data;
27    }
28  
29  }