public void ObjectOperations2() {
object cls = Engine.Execute(@"
class C
def foo *a
p a
end
def self.bar
end
undef_method :freeze
self
end
");
var names = Engine.Operations.GetMemberNames(cls);
Assert(!names.Contains("foo"));
Assert(names.Contains("taint"));
Assert(names.Contains("bar"));
object obj = Engine.Operations.CreateInstance(cls);
names = Engine.Operations.GetMemberNames(obj);
Assert(names.Contains("foo"));
Assert(names.Contains("taint"));
Assert(!names.Contains("freeze"));
Assert(!names.Contains("bar"));
}