elct9620/mruby-go

View on GitHub
module.go

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
package mruby

var _ RClass = &Module{}

type Module struct {
    class
}

func (mrb *State) DefineModuleId(name Symbol) RClass {
    return defineModule(mrb, name, mrb.ObjectClass)
}

func (mrb *State) vmDefineModule(outer RClass, name Symbol) RClass {
    return defineModule(mrb, name, outer)
}

func defineModule(mrb *State, name Symbol, outer RClass) *Module {
    module := mrb.AllocModule()
    module.mt = make(methodTable)
    mrb.setupClass(module, outer, name)

    return module
}