class DEBUGGER__::ThreadClient
def variable_ name, obj, indexedVariables: 0, namedVariables: 0
def variable_ name, obj, indexedVariables: 0, namedVariables: 0 if indexedVariables > 0 || namedVariables > 0 vid = @var_map.size + 1 @var_map[vid] = obj else vid = 0 end namedVariables += M_INSTANCE_VARIABLES.bind_call(obj).size if NaiveString === obj str = obj.str.dump vid = indexedVariables = namedVariables = 0 else str = value_inspect(obj) end if name { name: name, value: str, type: type_name(obj), variablesReference: vid, indexedVariables: indexedVariables, namedVariables: namedVariables, } else { result: str, type: type_name(obj), variablesReference: vid, indexedVariables: indexedVariables, namedVariables: namedVariables, } end end