-static struct varobj *
-new_variable (void)
-{
- struct varobj *var;
-
- var = XNEW (struct varobj);
- var->name = NULL;
- var->path_expr = NULL;
- var->obj_name = NULL;
- var->index = -1;
- var->type = NULL;
- var->value = NULL;
- var->num_children = -1;
- var->parent = NULL;
- var->children = NULL;
- var->format = FORMAT_NATURAL;
- var->root = NULL;
- var->updated = 0;
- var->print_value = NULL;
- var->frozen = 0;
- var->not_fetched = 0;
- var->dynamic = XNEW (struct varobj_dynamic);
- var->dynamic->children_requested = 0;
- var->from = -1;
- var->to = -1;
- var->dynamic->constructor = 0;
- var->dynamic->pretty_printer = 0;
- var->dynamic->child_iter = 0;
- var->dynamic->saved_item = 0;
-
- return var;
-}
-
-/* Allocate memory and initialize a new root variable. */
-static struct varobj *
-new_root_variable (void)
+varobj::varobj (varobj_root *root_)
+: root (root_), dynamic (new varobj_dynamic)