This is the final patch to add frozen variable objects. It includes testsuite
changes and documentation.
Since the time I've posted the first version the code has seen some extra
testing, and basically works fine. The only change is that now the "frozen=1"
fields is only output for frozen variable objects and "frozen=0" is never output.
This is to avoid adjusting everything single use of -var-create in the testsuite.
This patch depends on some of my previously posted patches, namely:
* varobj.h (varobj_set_frozen): New
(varobj_update): New parameter explicit.
* varobj.c (struct varobj): New fields frozen
(varobj_set_frozen, varobj_get_frozen): New.
(install_new_value): Don't fetch values for
frozen variable object, or children thereof. Allow
a frozen variable object to have non-fetched value.
(varobj_update): Allow updating child variables.
Don't traverse frozen children.
(new_variable): Initialize the frozen field.
(c_value_of_variable): Return NULL for frozen
variable without any value yet.
* mi/mi-cmd-var.c (varobj_update_one): New parameter
(mi_cmd_var_create): Output the 'frozen' field,
as soon as testsuite is adjusted to expect that field.
(mi_cmd_var_update): Pass the 'explicit' parameter to
* mi/mi-cmds.c (mi_cmds): Register '-var-set-frozen'.
* mi/mi-cmds.h (mi_cmd_var_set_frozen): Declare.