module Cucumber::Core::Test::HasLocation

def attributes

def attributes
  [tags, comments, multiline_arg].flatten
end

def comments

def comments
  # will be overriden by nodes that actually have comments
  []
end

def file

def file
  location.file
end

def file_colon_line

def file_colon_line
  location.to_s
end

def line

def line
  location.line
end

def location

def location
  raise('Please set @location in the constructor') unless defined?(@location)
  @location
end

def multiline_arg

def multiline_arg
  # will be overriden by nodes that actually have a multiline_argument
  Test::EmptyMultilineArgument.new
end

def tags

def tags
  # will be overriden by nodes that actually have tags
  []
end