instance_exec (Spec::Matchers::InstanceExec)

    # File lib/spec/matchers/extensions/instance_exec.rb, line 12
            def instance_exec(*args, &block)
              singleton_class = (class << self; self; end)
              begin
                orig_critical, Thread.critical = Thread.critical, true
                n = 0
                n += 1 while respond_to?(method_name="__instance_exec#{n}")
                singleton_class.module_eval{ define_method(:__instance_exec, &block) }
              ensure
                Thread.critical = orig_critical
              end
              begin
                return send(:__instance_exec, *args)
              ensure
                singleton_class.module_eval{ remove_method(:__instance_exec) } rescue nil
              end
            end