class RedParse::ListInNode::ModuleNode

Public Class Methods

new(moduleword,name,semiword,body,rescues,else_,ensure_,endword) click to toggle source
# File lib/redparse/node.rb, line 5063
def initialize moduleword,name,semiword,body,rescues,else_,ensure_,endword
  @offset=moduleword.offset
  else_=else_.val if else_
  ensure_=ensure_.val if ensure_
  rescues.extend ListInNode if rescues
  super(name,body,rescues,else_,ensure_)        
end

Public Instance Methods

image() click to toggle source
# File lib/redparse/node.rb, line 5075
def image; "(module #{name})" end
parent() click to toggle source
# File lib/redparse/node.rb, line 5081
def parent; nil end
parsetree(o) click to toggle source
# File lib/redparse/node.rb, line 5091
      def parsetree(o)
        name=name()
        if VarNode===name
          name=name.ident.to_sym
        elsif name.nil? #do nothing
#        elsif o[:quirks]
#          name=name.constant.ident.to_sym
        else 
          name=name.parsetree(o)
        end
        result=[:module, name, scope=[:scope, ]]
        scope << parsetree_and_rescues(o) if body
        return result
      end
to_lisp() click to toggle source
# File lib/redparse/node.rb, line 5082
def to_lisp
  result="(#{name.ident} #{body.to_lisp} "
  #parent=@data[2]
  #result+="is #{parent.to_lisp} " if parent
 
  result+="\n"+body.to_lisp+")"
  return result
end
unparse(o=default_unparse_options) click to toggle source
# File lib/redparse/node.rb, line 5077
def unparse o=default_unparse_options
  "module #{name.unparse o}#{unparse_nl(body||self,o)}#{unparse_and_rescues(o)}#{unparse_nl(endline,o)}end"
end