New field la_varobj_ops in struct language_defn
This is a follow-up series to move language stuff out of varobj.c. This patch adds a new field la_varobj_ops in struct language_defn so that each language has varobj-related options. Not every language supports varobj, and the operations are identical to operations of c languages. 'struct language_defn' is the ideal place to save all language-related operations. After this patch, some cleanups can be done in patch 2/2, which removes language-related stuff completely from varobj.c. Regression tested on x86_64-linux. gdb: 2013-10-25 Yao Qi <yao@codesourcery.com> * language.h (struct lang_varobj_ops): Declare. (struct language_defn) <la_varobj_ops>: New field. * ada-lang.c: Include "varobj.h" (defn ada_language_defn): Initialize field 'la_varobj_ops' by ada_varobj_ops. * c-lang.c: Include "varobj.h" (c_language_defn): Initialize field 'la_varobj_ops' by c_varobj_ops. (cplus_language_defn): Initialize field 'la_varobj_ops' by cplus_varobj_ops. (asm_language_defn): Initialize field 'la_varobj_ops' by default_varobj_ops. (minimal_language_defn): Likewise. * d-lang.c (d_language_defn): Likewise. * f-lang.c (f_language_defn): Likewise. * go-lang.c (go_language_defn): Likewise. * m2-lang.c (m2_language_defn): Likewise. * objc-lang.c (objc_language_defn): Likewise. * opencl-lang.c (opencl_language_defn): Likewise. * p-lang.c (pascal_language_defn): Likewise. * language.c (unknown_language_defn): Likewise. (auto_language_defn): Likewise. (local_language_defn): Likewise. * jv-lang.c (java_language_defn): Initialize field 'la_varobj_ops' by java_varobj_ops. * varobj.c (varobj_create): Update. * varobj.h (default_varobj_ops): Define macro.
This commit is contained in:
parent
38095c27fb
commit
a53b64eaa0
15 changed files with 63 additions and 3 deletions
|
@ -23,6 +23,7 @@
|
|||
#include "expression.h"
|
||||
#include "parser-defs.h"
|
||||
#include "language.h"
|
||||
#include "varobj.h"
|
||||
#include "c-lang.h"
|
||||
#include "valprint.h"
|
||||
#include "macroscope.h"
|
||||
|
@ -846,6 +847,7 @@ const struct language_defn c_language_defn =
|
|||
c_get_string,
|
||||
NULL, /* la_get_symbol_name_cmp */
|
||||
iterate_over_symbols,
|
||||
&c_varobj_ops,
|
||||
LANG_MAGIC
|
||||
};
|
||||
|
||||
|
@ -969,6 +971,7 @@ const struct language_defn cplus_language_defn =
|
|||
c_get_string,
|
||||
NULL, /* la_get_symbol_name_cmp */
|
||||
iterate_over_symbols,
|
||||
&cplus_varobj_ops,
|
||||
LANG_MAGIC
|
||||
};
|
||||
|
||||
|
@ -1010,6 +1013,7 @@ const struct language_defn asm_language_defn =
|
|||
c_get_string,
|
||||
NULL, /* la_get_symbol_name_cmp */
|
||||
iterate_over_symbols,
|
||||
&default_varobj_ops,
|
||||
LANG_MAGIC
|
||||
};
|
||||
|
||||
|
@ -1056,6 +1060,7 @@ const struct language_defn minimal_language_defn =
|
|||
c_get_string,
|
||||
NULL, /* la_get_symbol_name_cmp */
|
||||
iterate_over_symbols,
|
||||
&default_varobj_ops,
|
||||
LANG_MAGIC
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue