class Gem::RequestSet::Lockfile::Parser

def parse_DEPENDENCIES # :nodoc:

:nodoc:
def parse_DEPENDENCIES # :nodoc:
  while not @tokens.empty? and :text == peek.type do
    token = get :text
    requirements = []
    case peek[0]
    when :bang then
      get :bang
      requirements << pinned_requirement(token.value)
    when :l_paren then
      get :l_paren
      loop do
        op      = get(:requirement).value
        version = get(:text).value
        requirements << "#{op} #{version}"
        break unless peek.type == :comma
        get :comma
      end
      get :r_paren
      if peek[0] == :bang
        requirements.clear
        requirements << pinned_requirement(token.value)
        get :bang
      end
    end
    @set.gem token.value, *requirements
    skip :newline
  end
end