# File lib/pry/method.rb, line 74
      def from_binding(b)
        meth_name = b.eval('::Kernel.__method__')
        if [:__script__, nil].include?(meth_name)
          nil
        else
          method = begin
                     if Object === b.eval('self')
                       new(Kernel.instance_method(:method).bind(b.eval("self")).call(meth_name))
                     else
                       new(b.eval('class << self; self; end.instance_method(::Kernel.__method__).bind(self)'))
                     end
                   rescue NameError, NoMethodError
                     Disowned.new(b.eval('self'), meth_name.to_s)
                   end

          if WeirdMethodLocator.weird_method?(method, b)
            WeirdMethodLocator.new(method, b).get_method || method
          else
            method
          end
        end
      end