Class: Java::OrgJrubyAst::InstAsgnNode

Inherits:
Object
  • Object
show all
Defined in:
lib/duby/old/compiler_old.rb,
lib/duby/old/typer_old.rb,
lib/duby/old/mapper.rb

Instance Method Summary collapse

Instance Method Details

#compile(builder) ⇒ Object



625
626
627
628
629
630
631
632
633
634
# File 'lib/duby/old/compiler_old.rb', line 625

def compile(builder)
  builder.field(mapped_name(builder), value_node.type(builder))
  
  # assignment consumes the value, so we dup it
  # TODO inefficient if we don't need the result
  value_node.compile(builder)
  builder.dup
  
  builder.putfield(mapped_name(builder))
end

#mapped_name(builder) ⇒ Object



59
60
61
# File 'lib/duby/old/mapper.rb', line 59

def mapped_name(builder)
  name[1..-1]
end

#type(builder) ⇒ Object



119
120
121
122
# File 'lib/duby/old/typer_old.rb', line 119

def type(builder)
  builder.field(mapped_name(builder), value_node.type(builder))
  @type ||= builder.field_type(mapped_name(builder))
end