class Gherkin::Pickles::Compiler

def pickle_step_props(step, variable_cells, values_row)

def pickle_step_props(step, variable_cells, values_row)
  value_cells = values_row ? values_row.cells : []
  props = {
    id: @id_generator.new_id,
    ast_node_ids: [step.id],
    text: interpolate(step.text, variable_cells, value_cells),
  }
  if values_row
    props[:ast_node_ids].push(values_row.id)
  end
  if step.data_table
    data_table = Cucumber::Messages::PickleStepArgument.new(
      data_table: pickle_data_table(step.data_table, variable_cells, value_cells)
    )
    props[:argument] = data_table
  end
  if step.doc_string
    doc_string = Cucumber::Messages::PickleStepArgument.new(
      doc_string: pickle_doc_string(step.doc_string, variable_cells, value_cells)
    )
    props[:argument] = doc_string
  end
  props
end