class JMESPath::Nodes::Projection

def extract_targets(_left_value)

def extract_targets(_left_value)
  nil
end

def initialize(target, projection)

def initialize(target, projection)
  @target = target
  @projection = projection
end

def optimize

def optimize
  if @projection.is_a?(Current)
    fast_instance
  else
    self.class.new(@target.optimize, @projection.optimize)
  end
end

def visit(value)

def visit(value)
  if (targets = extract_targets(@target.visit(value)))
    list = []
    targets.each do |v|
      vv = @projection.visit(v)
      list << vv unless vv.nil?
    end
    list
  end
end