class Opal::Nodes::SingletonClassNode

Public Instance Methods

compile() click to toggle source
# File lib/opal/nodes/singleton_class.rb, line 12
def compile
  push '(function(self, $parent_nesting) {'

  in_scope do
    body_stmt = stmt(compiler.returns(body))

    add_temp '$nesting = [self].concat($parent_nesting)' if @define_nesting
    add_temp '$$ = Opal.$r($nesting)' if @define_relative_access

    line scope.to_vars
    line body_stmt
  end

  line '})(Opal.get_singleton_class(', recv(object), "), #{scope.nesting})"
end