class Cucumber::Core::Gherkin::AstBuilder::ScenarioOutlineBuilder

def add_examples(file, node)

def add_examples(file, node)
  examples_builders << ExamplesTableBuilder.new(file, node)
end

def add_step(file, node)

def add_step(file, node)
  step_builders << StepBuilder.new(file, node)
end

def examples_builders

def examples_builders
  @examples_builders ||= []
end

def examples_tables(language)

def examples_tables(language)
  examples_builders.map { |examples_builder| examples_builder.result(language) }
end

def result(background, language, feature_tags)

def result(background, language, feature_tags)
  raise ParseError.new("Missing Examples section for Scenario Outline at #{location}") if examples_builders.empty?
  Ast::ScenarioOutline.new(
    node,
    language,
    location,
    background,
    comments,
    tags,
    feature_tags,
    node.keyword,
    node.name,
    node.description,
    steps(language),
    examples_tables(language)
  )
end

def step_builders

def step_builders
  @step_builders ||= []
end

def steps(language)

def steps(language)
  step_builders.map { |step_builder| step_builder.result(language) }
end