Class: Sexp2Ruby::Node::Defs

Inherits:
Base
  • Object
show all
Defined in:
lib/sexp2ruby/node/defs.rb

Constant Summary

Constants inherited from Base

Base::ASSIGN_NODES, Base::LF, Base::LINE_LENGTH

Instance Attribute Summary

Attributes inherited from Base

#processor

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from Sexp2Ruby::Node::Base

Instance Method Details

#to_s(exp) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
# File 'lib/sexp2ruby/node/defs.rb', line 4

def to_s(exp)
  lhs  = exp.shift
  var = [:self, :cvar, :dvar, :ivar, :gvar, :lvar].include? lhs.first
  name = exp.shift

  lhs = process(lhs)
  lhs = "(#{lhs})" unless var

  exp.unshift "#{lhs}.#{name}"
  process_defn(exp)
end