<commit_before>require_relative 'node/base'
require_relative_dir 'node_behavior'
require_relative_dir 'node'

module DeepCover
  Node.constants.each do |name|
    klass = Node.const_get(name)
    if klass < Node
      if klass.const_defined?(:CHILDREN) &&
          klass.instance_method(:full_runs).owner == Node
        warn "Class #{klass} has children but has not refined full_runs"
      end
    end
  end
end<commit_msg>Add warning for containers<commit_after>require_relative 'node/base'
require_relative_dir 'node_behavior'
require_relative_dir 'node'

module DeepCover
  Node.constants.each do |name|
    klass = Node.const_get(name)
    if klass < Node
      if klass.const_defined?(:CHILDREN)
        if klass <  NodeBehavior::CoverWithNextInstruction
          indices = klass::CHILDREN.values
          if indices.size > 1 || indices[0].is_a?(Range)
            warn "Class #{klass} has many children but is using CoverWithNextInstruction"
          end
        end
        if klass.instance_method(:full_runs).owner == Node
          warn "Class #{klass} has children but has not refined full_runs"
        end
      end
    end
  end
end
{'fraction_non_alphanumeric': 0.08333333333333333, 'fraction_numerical': 0.001736111111111111, 'mean_word_length': 3.0886524822695036, 'pattern_counts': {'":': 0, '<': 6, '<?xml version=': 0, '>': 4, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2605353', 'n_tokens_mistral': 348, 'n_tokens_neox': 357, 'n_words': 93}