# File lib/ripper_ruby_parser/sexp_handlers/assignment.rb, line 4 def process_assign exp _, lvalue, value = exp.shift 3 lvalue = process(lvalue) value = process(value) case value.sexp_type when :splat value = s(:svalue, value) when :fake_array value = s(:svalue, s(:array, *value.sexp_body)) end with_line_number(lvalue.line, create_regular_assignment_sub_type(lvalue, value)) end
# File lib/ripper_ruby_parser/sexp_handlers/assignment.rb, line 20 def process_massign exp _, left, right = exp.shift 3 left = handle_potentially_typeless_sexp left if left.first == :masgn left = left[1] left.shift end left = create_multiple_assignment_sub_types left right = process(right) case right.sexp_type when :fake_array right[0] = :array when :splat # Do nothing else right = s(:to_ary, right) end s(:masgn, s(:array, *left), right) end
# File lib/ripper_ruby_parser/sexp_handlers/assignment.rb, line 63 def process_mlhs_add_star exp generic_add_star exp end
# File lib/ripper_ruby_parser/sexp_handlers/assignment.rb, line 67 def process_mlhs_paren exp _, contents = exp.shift 2 items = handle_potentially_typeless_sexp(contents) return items if items.first.is_a? Symbol s(:masgn, s(:array, *create_multiple_assignment_sub_types(items))) end
# File lib/ripper_ruby_parser/sexp_handlers/assignment.rb, line 53 def process_mrhs_add_star exp exp = generic_add_star exp if exp.first.is_a? Symbol exp else exp.first end end
# File lib/ripper_ruby_parser/sexp_handlers/assignment.rb, line 46 def process_mrhs_new_from_args exp _, inner, last = exp.shift 3 inner.map! {|item| process(item)} inner.push process(last) unless last.nil? s(:fake_array, *inner) end
# File lib/ripper_ruby_parser/sexp_handlers/assignment.rb, line 77 def process_opassign exp _, lvalue, operator, value = exp.shift 4 lvalue = process(lvalue) value = process(value) operator = operator[1].gsub(/=/, '').to_sym create_operator_assignment_sub_type lvalue, value, operator end