-
Notifications
You must be signed in to change notification settings - Fork 610
/
kernel.rb
73 lines (57 loc) · 1.61 KB
/
kernel.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# -*- encoding: us-ascii -*-
module Kernel
def equal?(other)
Rubinius.primitive :object_equal
raise PrimitiveFailure, "Kernel#equal? primitive failed"
end
def eql?(other) # HACK dup of equal?
Rubinius.primitive :object_equal
raise PrimitiveFailure, "Kernel#eql? primitive failed"
end
alias_method :==, :equal?
alias_method :===, :equal?
def singleton_class
Rubinius::Type.object_singleton_class self
end
def extend(*mods)
Rubinius::Type.object_singleton_class(self).include(*mods)
self
end
def freeze
Rubinius.primitive :object_freeze
raise PrimitiveFailure, "Kernel#freeze primitive failed"
end
def frozen?
Rubinius.primitive :object_frozen_p
raise PrimitiveFailure, "Kernel#frozen? primitive failed"
end
def hash
Rubinius.primitive :object_hash
raise PrimitiveFailure, "Kernel#hash primitive failed"
end
def inspect
"#<#{self.class.name}"
end
def respond_to_all?(meth, include)
Rubinius.primitive :object_respond_to
raise PrimitiveFailure, "Kernel#respond_to_all? primiive failed"
end
private :respond_to_all?
def taint
Rubinius.primitive :object_taint
raise PrimitiveFailure, "Kernel#taint primitive failed"
end
def tainted?
Rubinius.primitive :object_tainted_p
raise PrimitiveFailure, "Kernel#tainted? primitive failed"
end
def untaint
Rubinius.primitive :object_untaint
raise PrimitiveFailure, "Kernel#untaint primitive failed"
end
def yield_gdb(obj)
Rubinius.primitive :yield_gdb
raise PrimitiveFailure, "Kernel#yield_gdb primitive failed"
end
private :yield_gdb
end