}
@Override
public Label interpret(InterpreterContext interp, IRubyObject self) {
Ruby runtime = interp.getRuntime();
ClassMetaObject cmo = (ClassMetaObject)getOperand1();
IRScope scope = cmo.scope;
RubyModule container = cmo.getContainer(interp, runtime);
RubyModule module;
if (scope instanceof IRMetaClass) {
module = container.getMetaClass();
} else {
RubyClass sc = (RubyClass)getOperand2().retrieve(interp);
module = container.defineOrGetClassUnder(scope.getName(), sc == null ? runtime.getObject() : sc);
}
cmo.interpretBody(interp, interp.getContext(), module);
return null;
}