# File lib/code_analyzer/sexp.rb, line 737
  def array_values
    case sexp_type
    when :array
      if nil == self[1] || [:words_new, :qwords_new, :symbols_new, :qsymbols_new].include?(self[1].sexp_type)
        []
      elsif [:words_add, :qwords_add, :symbols_add, :qsymbols_add].include? self[1].sexp_type
        self[1].array_values
      else
        arguments.all
      end
    when :words_add, :qwords_add, :symbols_add, :qsymbols_add
      values = []
      node = self
      while true
        if [:words_add, :qwords_add, :symbols_add, :qsymbols_add].include? node.sexp_type
          values.unshift node[2]
          node = node[1]
        elsif [:words_new, :qwords_new, :symbols_new, :qsymbols_new].include? node.sexp_type
          break
        end
      end
      values
    else
      []
    end
  end