class Opal::Nodes::DefinedNode
def compile
def compile case value.type when :self, :nil, :false, :true push value.type.to_s.inspect when :lvasgn, :ivasgn, :gvasgn, :cvasgn, :casgn, :op_asgn, :or_asgn, :and_asgn push "'assignment'" when :lvar push "'local-variable'" when :begin if value.children.size == 1 && value.children[0].type == :masgn push "'assignment'" else push "'expression'" end when :send compile_defined_send(value) wrap '(', " ? 'method' : nil)" when :ivar compile_defined_ivar(value) wrap '(', " ? 'instance-variable' : nil)" when :zsuper, :super compile_defined_super when :yield compile_defined_yield wrap '(', " ? 'yield' : nil)" when :xstr compile_defined_xstr(value) when :const compile_defined_const(value) wrap '(', " ? 'constant' : nil)" when :cvar compile_defined_cvar(value) wrap '(', " ? 'class variable' : nil)" when :gvar compile_defined_gvar(value) wrap '(', " ? 'global-variable' : nil)" when :back_ref compile_defined_back_ref wrap '(', " ? 'global-variable' : nil)" when :nth_ref compile_defined_nth_ref wrap '(', " ? 'global-variable' : nil)" when :array compile_defined_array(value) wrap '(', " ? 'expression' : nil)" else push "'expression'" end end