class DeepCover::Analyser::Statement

Public Instance Methods

results() click to toggle source

Returns a map of Range => runs

# File lib/deep_cover/analyser/statement.rb, line 9
def results
  each_node.map do |node|
    [node.expression, node_runs(node)]
  end.to_h
end

Private Instance Methods

compatible_runs?(expression_runs, sub_expression_runs) click to toggle source
# File lib/deep_cover/analyser/statement.rb, line 28
def compatible_runs?(expression_runs, sub_expression_runs)
  sub_expression_runs.nil? ||
    (sub_expression_runs == 0) == (expression_runs == 0)
end
in_subset?(node, parent) click to toggle source
# File lib/deep_cover/analyser/statement.rb, line 17
def in_subset?(node, parent)
  is_statement = node.is_statement
  if node.expression.nil?
    false
  elsif is_statement != :if_incompatible
    is_statement
  else
    !compatible_runs?(node_runs(parent), node_runs(node))
  end
end