 # chuck, because, why not?
+
+NEST_FACTOR = 2
 
 comparators = /\|\||&&|!=|==|!==|===|<|<=|>|>=/
 assigners = /\=|\+=|-=|\*=|\/=|\+\+|--/

    when "if"
      cc = if statement.elseBlock? then 2 else 1
      cc += calculateExpressionComplexity statement.condition
      cc += calculateStatementComplexity statement.block
      cc += calculateStatementComplexity statement.elseBlock if statement.elseBlock?
    when "while", "do_while"
      cc = 1
      cc += calculateExpressionComplexity statement.condition
      cc += calculateStatementComplexity statement.block
    when "for"
      cc = 1
      if statement.initializer?

        cc += calculateExpressionComplexity statement.increment
      else
        cc += calculateExpressionComplexity statement.domain
      cc += NEST_FACTOR * calculateStatementComplexity statement.block
    when "dml"
      if statement.operation is 'merge'
        cc = calculateExpressionComplexity statement.left
