Method: Yadriggy::Assign#initialize

Defined in:
lib/yadriggy/ast.rb

#initialize(sexp) ⇒ Assign

Returns a new instance of Assign.



708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
# File 'lib/yadriggy/ast.rb', line 708

def initialize(sexp)
  case sexp[0]
  when :assign
    @left = to_node(sexp[1])
    add_child(@left)
    @op = :'='
    init_right(sexp[2])
  when :opassign
    @left = to_node(sexp[1])
    add_child(@left)
    @op = has_tag?(sexp[2], :@op)[1].to_sym
    init_right(sexp[3])
  when :massign
    @left = to_nodes(sexp[1])
    add_children(@left)
    @op = :'='
    init_right(sexp[2])
  else
    raise "unknown assignment " + sexp[0].to_s
  end
end