lib/byebug/context.rb in byebug-1.3.0 vs lib/byebug/context.rb in byebug-1.3.1

- old
+ new

@@ -6,19 +6,30 @@ attr_accessor :handler end class Context - def frame_args(frame_no=0) - bind = frame_binding(frame_no) + def frame_args frame_no = 0 + bind = frame_binding frame_no return [] unless eval "__method__", bind begin eval "self.method(__method__).parameters.map{|(attr, mid)| mid}", bind rescue NameError => e print "(WARNING: retreving args from frame #{frame_no} => " \ "#{e.class} Exception: #{e.message})\n " return [] end + end + + def frame_locals frame_no = 0 + bind = frame_binding frame_no + eval "local_variables.inject({}){|h, v| h[v] = eval(v.to_s); h}", bind + end + + def frame_args_info + bind = frame_binding frame_no + return [] unless eval "__method__", bind + eval "self.method(__method__).parameters", bind end def handler Byebug.handler or raise 'No interface loaded' end