private IDuplicable ( RubyContext context, bool copySingletonMembers ) : object | ||
context | RubyContext | |
copySingletonMembers | bool | |
return | object |
object IDuplicable.Duplicate(RubyContext/*!*/ context, bool copySingletonMembers) {
if (IsSingletonClass) {
throw RubyExceptions.CreateTypeError("can't copy singleton class");
}
if (IsBasicObjectClass) {
throw RubyExceptions.CreateTypeError("can't copy the root class");
}
using (Context.ClassHierarchyLocker()) {
RubyClass result = Duplicate(null);
result._isUninitializedCopy = true;
return result;
}
}