module GraphQL::Execution::Interpreter::Runtime::GraphQLResult

def build_path(path_array)

def build_path(path_array)
  graphql_result_name && path_array.unshift(graphql_result_name)
  @graphql_parent ? @graphql_parent.build_path(path_array) : path_array
end

def initialize(result_name, result_type, application_value, parent_result, is_non_null_in_parent, selections, is_eager)

def initialize(result_name, result_type, application_value, parent_result, is_non_null_in_parent, selections, is_eager)
  @graphql_parent = parent_result
  @graphql_application_value = application_value
  @graphql_result_type = result_type
  if parent_result && parent_result.graphql_dead
    @graphql_dead = true
  end
  @graphql_result_name = result_name
  @graphql_is_non_null_in_parent = is_non_null_in_parent
  # Jump through some hoops to avoid creating this duplicate storage if at all possible.
  @graphql_metadata = nil
  @graphql_selections = selections
  @graphql_is_eager = is_eager
end

def path

def path
  @path ||= build_path([])
end