class Cucumber::Formatter::AstLookup::KeywordLookupBuilder
def initialize(gherkin_document)
def initialize(gherkin_document) @lookup_hash = {} process_scenario_container(gherkin_document.feature, nil) end
def process_scenario_container(container, original_previous_node)
def process_scenario_container(container, original_previous_node) container.children.each do |child| previous_node = original_previous_node if child.respond_to?(:rule) && child.rule process_scenario_container(child.rule, original_previous_node) elsif child.respond_to?(:scenario) && child.scenario child.scenario.steps.each do |step| node = KeywordSearchNode.new(step.keyword, previous_node) @lookup_hash[step.location.line] = node previous_node = node end elsif child.respond_to?(:background) && child.background child.background.steps.each do |step| node = KeywordSearchNode.new(step.keyword, previous_node) @lookup_hash[step.location.line] = node previous_node = node original_previous_node = previous_node end end end end