class DEBUGGER__::ThreadClient
def show_outline expr
def show_outline expr begin obj = frame_eval(expr, re_raise: true) rescue Exception # ignore else o = Output.new(@output) locals = current_frame&.local_variables klass = M_CLASS.bind_call(obj) klass = obj if Class == klass || Module == klass o.dump("constants", obj.constants) if M_RESPOND_TO_P.bind_call(obj, :constants) outline_method(o, klass, obj) o.dump("instance variables", M_INSTANCE_VARIABLES.bind_call(obj)) o.dump("class variables", klass.class_variables) o.dump("locals", locals.keys) if locals end end