class CodeTools::AST::Module

Attributes

body[RW]
name[RW]

Public Class Methods

new(line, name, body) click to toggle source
# File lib/rubinius/code/ast/definitions.rb, line 960
def initialize(line, name, body)
  @line = line

  case name
  when Symbol
    @name = ModuleName.new line, name
  when ToplevelConstant
    @name = ToplevelModuleName.new line, name
  else
    @name = ScopedModuleName.new line, name
  end

  if body
    @body = ModuleScope.new line, @name, body
  else
    @body = EmptyBody.new line
  end
end

Public Instance Methods

bytecode(g) click to toggle source
# File lib/rubinius/code/ast/definitions.rb, line 979
def bytecode(g)
  @name.bytecode(g)
  @body.bytecode(g)
end
to_sexp() click to toggle source
# File lib/rubinius/code/ast/definitions.rb, line 984
def to_sexp
  [:module, @name.to_sexp, @body.to_sexp]
end