4 # Holds Executables for lookup by the VM.
6 # When looking up an Executable, Rubinius starts at the real class (the object
7 # in the class slot of the receiver) and looks in its MethodTable for the
8 # method name. If the method is not found the ancestors list will be
9 # walked looking for the method.
11 # If no method was found, Rubinius restarts at the real class looking for
12 # "method_missing", walking the ancestors list if it is not found.
14 # If "method_missing" is not found, a VM assertion is triggered.
16 class MethodTable < LookupTable
27 filter_names :protected
30 alias_method :to_a, :public_names
32 def filter_names(filter)
34 if meth.kind_of? RuntimePrimitive or
35 (meth.kind_of?(Tuple) and meth.first == filter) then