/* Build a string with a "description" for the value 'o', such as "variable 'x'" or "upvalue 'y'".  */
static const char* varinfo(lua_State *L, const TValue *o)
/* Build a string with a "description" for the value 'o', such as "variable 'x'" or "upvalue 'y'".  */
static const char* varinfo(lua_State *L, const TValue *o)
{
    kind = getupvalname(ci, o, &name);
    if (!kind && isinstack(ci, o))
      kind = getobjname(ci_func(ci)->p, currentpc(ci),
                        cast_int(cast(StkId, o) - (ci->func + 1)), &name);
  }
  return formatvarinfo(L, kind, name);
}