class Cucumber::Core::Test::Step

def describe_source_to(visitor, *args)

def describe_source_to(visitor, *args)
  source.reverse.each do |node|
    node.describe_to(visitor, *args)
  end
  self
end

def describe_to(visitor, *args)

def describe_to(visitor, *args)
  visitor.test_step(self, *args)
end

def execute(*args)

def execute(*args)
  @action.execute(*args)
end

def initialize(source, action = Test::UndefinedAction.new)

def initialize(source, action = Test::UndefinedAction.new)
  raise ArgumentError if source.any?(&:nil?)
  @source, @action = source, action
end

def inspect

def inspect
  "<#{self.class}: #{location}>"
end

def location

def location
  source.last.location
end

def match_locations?(queried_locations)

def match_locations?(queried_locations)
  return true if queried_locations.include? location
  source.any? { |s| s.match_locations?(queried_locations) }
end

def name

def name
  source.last.name
end

def skip(*args)

def skip(*args)
  @action.skip(*args)
end

def with_action(&block)

def with_action(&block)
  self.class.new(source, Test::Action.new(&block))
end