+struct fn_fieldlist
+{
+
+ /* * The overloaded name.
+ This is generally allocated in the objfile's obstack.
+ However stabsread.c sometimes uses malloc. */
+
+ const char *name;
+
+ /* * The number of methods with this name. */
+
+ int length;
+
+ /* * The list of methods. */
+
+ struct fn_field *fn_fields;
+};
+
+
+
+struct fn_field
+{
+ /* * If is_stub is clear, this is the mangled name which we can look
+ up to find the address of the method (FIXME: it would be cleaner
+ to have a pointer to the struct symbol here instead).
+
+ If is_stub is set, this is the portion of the mangled name which
+ specifies the arguments. For example, "ii", if there are two int
+ arguments, or "" if there are no arguments. See gdb_mangle_name
+ for the conversion from this format to the one used if is_stub is
+ clear. */
+
+ const char *physname;
+
+ /* * The function type for the method.
+
+ (This comment used to say "The return value of the method", but
+ that's wrong. The function type is expected here, i.e. something
+ with TYPE_CODE_METHOD, and *not* the return-value type). */
+
+ struct type *type;
+
+ /* * For virtual functions. First baseclass that defines this
+ virtual function. */
+
+ struct type *fcontext;
+
+ /* Attributes. */
+
+ unsigned int is_const:1;
+ unsigned int is_volatile:1;
+ unsigned int is_private:1;
+ unsigned int is_protected:1;
+ unsigned int is_public:1;
+ unsigned int is_abstract:1;
+ unsigned int is_static:1;
+ unsigned int is_final:1;
+ unsigned int is_synchronized:1;
+ unsigned int is_native:1;
+ unsigned int is_artificial:1;
+
+ /* * A stub method only has some fields valid (but they are enough
+ to reconstruct the rest of the fields). */
+
+ unsigned int is_stub:1;
+
+ /* * True if this function is a constructor, false otherwise. */
+
+ unsigned int is_constructor : 1;
+
+ /* * Unused. */
+
+ unsigned int dummy:3;
+
+ /* * Index into that baseclass's virtual function table, minus 2;
+ else if static: VOFFSET_STATIC; else: 0. */
+
+ unsigned int voffset:16;
+
+#define VOFFSET_STATIC 1
+
+};
+
+struct typedef_field
+{
+ /* * Unqualified name to be prefixed by owning class qualified
+ name. */
+
+ const char *name;
+
+ /* * Type this typedef named NAME represents. */
+
+ struct type *type;
+};
+
+/* * C++ language-specific information for TYPE_CODE_STRUCT and
+ TYPE_CODE_UNION nodes. */