gdb: Convert language skip_trampoline field to a method
[deliverable/binutils-gdb.git] / gdb / p-typeprint.c
index f501aad549b97b7a206e24cf426e8e14556d47ac..70a8308b047e2ef51cc06b808b033cb7310a6254 100644 (file)
@@ -1,5 +1,5 @@
 /* Support for printing Pascal types for GDB, the GNU debugger.
-   Copyright (C) 2000-2019 Free Software Foundation, Inc.
+   Copyright (C) 2000-2020 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -53,7 +53,7 @@ pascal_print_type (struct type *type, const char *varstring,
   enum type_code code;
   int demangled_args;
 
-  code = TYPE_CODE (type);
+  code = type->code ();
 
   if (show > 0)
     type = check_typedef (type);
@@ -140,7 +140,7 @@ pascal_type_print_derivation_info (struct ui_file *stream, struct type *type)
       fprintf_filtered (stream, "%s%s ",
                        BASETYPE_VIA_PUBLIC (type, i) ? "public" : "private",
                        BASETYPE_VIA_VIRTUAL (type, i) ? " virtual" : "");
-      name = TYPE_NAME (TYPE_BASECLASS (type, i));
+      name = TYPE_BASECLASS (type, i)->name ();
       fprintf_filtered (stream, "%s", name ? name : "(null)");
     }
   if (i > 0)
@@ -211,12 +211,12 @@ pascal_type_print_varspec_prefix (struct type *type, struct ui_file *stream,
   if (type == 0)
     return;
 
-  if (TYPE_NAME (type) && show <= 0)
+  if (type->name () && show <= 0)
     return;
 
   QUIT;
 
-  switch (TYPE_CODE (type))
+  switch (type->code ())
     {
     case TYPE_CODE_PTR:
       fprintf_filtered (stream, "^");
@@ -229,7 +229,7 @@ pascal_type_print_varspec_prefix (struct type *type, struct ui_file *stream,
       if (passed_a_ptr)
        fprintf_filtered (stream, "(");
       if (TYPE_TARGET_TYPE (type) != NULL
-         && TYPE_CODE (TYPE_TARGET_TYPE (type)) != TYPE_CODE_VOID)
+         && TYPE_TARGET_TYPE (type)->code () != TYPE_CODE_VOID)
        {
          fprintf_filtered (stream, "function  ");
        }
@@ -258,7 +258,7 @@ pascal_type_print_varspec_prefix (struct type *type, struct ui_file *stream,
        fprintf_filtered (stream, "(");
 
       if (TYPE_TARGET_TYPE (type) != NULL
-         && TYPE_CODE (TYPE_TARGET_TYPE (type)) != TYPE_CODE_VOID)
+         && TYPE_TARGET_TYPE (type)->code () != TYPE_CODE_VOID)
        {
          fprintf_filtered (stream, "function  ");
        }
@@ -309,7 +309,7 @@ static void
 pascal_print_func_args (struct type *type, struct ui_file *stream,
                        const struct type_print_options *flags)
 {
-  int i, len = TYPE_NFIELDS (type);
+  int i, len = type->num_fields ();
 
   if (len)
     {
@@ -347,7 +347,7 @@ pascal_type_print_func_varspec_suffix  (struct type *type, struct ui_file *strea
                                        const struct type_print_options *flags)
 {
   if (TYPE_TARGET_TYPE (type) == NULL
-      || TYPE_CODE (TYPE_TARGET_TYPE (type)) != TYPE_CODE_VOID)
+      || TYPE_TARGET_TYPE (type)->code () != TYPE_CODE_VOID)
     {
       fprintf_filtered (stream, " : ");
       pascal_type_print_varspec_prefix (TYPE_TARGET_TYPE (type),
@@ -377,12 +377,12 @@ pascal_type_print_varspec_suffix (struct type *type, struct ui_file *stream,
   if (type == 0)
     return;
 
-  if (TYPE_NAME (type) && show <= 0)
+  if (type->name () && show <= 0)
     return;
 
   QUIT;
 
-  switch (TYPE_CODE (type))
+  switch (type->code ())
     {
     case TYPE_CODE_ARRAY:
       if (passed_a_ptr)
@@ -476,10 +476,10 @@ pascal_type_print_base (struct type *type, struct ui_file *stream, int show,
     }
 
   /* void pointer */
-  if ((TYPE_CODE (type) == TYPE_CODE_PTR)
-      && (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_VOID))
+  if ((type->code () == TYPE_CODE_PTR)
+      && (TYPE_TARGET_TYPE (type)->code () == TYPE_CODE_VOID))
     {
-      fputs_filtered (TYPE_NAME (type) ? TYPE_NAME (type) : "pointer",
+      fputs_filtered (type->name () ? type->name () : "pointer",
                      stream);
       return;
     }
@@ -487,15 +487,15 @@ pascal_type_print_base (struct type *type, struct ui_file *stream, int show,
      just print the type name directly from the type.  */
 
   if (show <= 0
-      && TYPE_NAME (type) != NULL)
+      && type->name () != NULL)
     {
-      fputs_filtered (TYPE_NAME (type), stream);
+      fputs_filtered (type->name (), stream);
       return;
     }
 
   type = check_typedef (type);
 
-  switch (TYPE_CODE (type))
+  switch (type->code ())
     {
     case TYPE_CODE_TYPEDEF:
     case TYPE_CODE_PTR:
@@ -523,9 +523,9 @@ pascal_type_print_base (struct type *type, struct ui_file *stream, int show,
          only after args !!  */
       break;
     case TYPE_CODE_STRUCT:
-      if (TYPE_NAME (type) != NULL)
+      if (type->name () != NULL)
        {
-         fputs_filtered (TYPE_NAME (type), stream);
+         fputs_filtered (type->name (), stream);
          fputs_filtered (" = ", stream);
        }
       if (HAVE_CPLUS_STRUCT (type))
@@ -539,9 +539,9 @@ pascal_type_print_base (struct type *type, struct ui_file *stream, int show,
       goto struct_union;
 
     case TYPE_CODE_UNION:
-      if (TYPE_NAME (type) != NULL)
+      if (type->name () != NULL)
        {
-         fputs_filtered (TYPE_NAME (type), stream);
+         fputs_filtered (type->name (), stream);
          fputs_filtered (" = ", stream);
        }
       fprintf_filtered (stream, "case <?> of ");
@@ -551,15 +551,15 @@ pascal_type_print_base (struct type *type, struct ui_file *stream, int show,
       if (show < 0)
        {
          /* If we just printed a tag name, no need to print anything else.  */
-         if (TYPE_NAME (type) == NULL)
+         if (type->name () == NULL)
            fprintf_filtered (stream, "{...}");
        }
-      else if (show > 0 || TYPE_NAME (type) == NULL)
+      else if (show > 0 || type->name () == NULL)
        {
          pascal_type_print_derivation_info (stream, type);
 
          fprintf_filtered (stream, "\n");
-         if ((TYPE_NFIELDS (type) == 0) && (TYPE_NFN_FIELDS (type) == 0))
+         if ((type->num_fields () == 0) && (TYPE_NFN_FIELDS (type) == 0))
            {
              if (TYPE_STUB (type))
                fprintfi_filtered (level + 4, stream, "<incomplete type>\n");
@@ -576,7 +576,7 @@ pascal_type_print_base (struct type *type, struct ui_file *stream, int show,
          /* If there is a base class for this type,
             do not print the field that it occupies.  */
 
-         len = TYPE_NFIELDS (type);
+         len = type->num_fields ();
          for (i = TYPE_N_BASECLASSES (type); i < len; i++)
            {
              QUIT;
@@ -618,12 +618,12 @@ pascal_type_print_base (struct type *type, struct ui_file *stream, int show,
                }
 
              print_spaces_filtered (level + 4, stream);
-             if (field_is_static (&TYPE_FIELD (type, i)))
+             if (field_is_static (&type->field (i)))
                fprintf_filtered (stream, "static ");
              pascal_print_type (TYPE_FIELD_TYPE (type, i),
                                 TYPE_FIELD_NAME (type, i),
                                 stream, show - 1, level + 4, flags);
-             if (!field_is_static (&TYPE_FIELD (type, i))
+             if (!field_is_static (&type->field (i))
                  && TYPE_FIELD_PACKED (type, i))
                {
                  /* It is a bitfield.  This code does not attempt
@@ -707,8 +707,7 @@ pascal_type_print_base (struct type *type, struct ui_file *stream, int show,
                      fprintf_filtered (stream, "destructor  ");
                    }
                  else if (TYPE_TARGET_TYPE (TYPE_FN_FIELD_TYPE (f, j)) != 0
-                          && TYPE_CODE (TYPE_TARGET_TYPE (
-                               TYPE_FN_FIELD_TYPE (f, j))) != TYPE_CODE_VOID)
+                          && TYPE_TARGET_TYPE (TYPE_FN_FIELD_TYPE(f, j))->code () != TYPE_CODE_VOID)
                    {
                      fprintf_filtered (stream, "function  ");
                    }
@@ -723,8 +722,7 @@ pascal_type_print_base (struct type *type, struct ui_file *stream, int show,
                                                 stream);
 
                  if (TYPE_TARGET_TYPE (TYPE_FN_FIELD_TYPE (f, j)) != 0
-                     && TYPE_CODE (TYPE_TARGET_TYPE (
-                          TYPE_FN_FIELD_TYPE (f, j))) != TYPE_CODE_VOID)
+                     && TYPE_TARGET_TYPE (TYPE_FN_FIELD_TYPE(f, j))->code () != TYPE_CODE_VOID)
                    {
                      fputs_filtered (" : ", stream);
                      type_print (TYPE_TARGET_TYPE (TYPE_FN_FIELD_TYPE (f, j)),
@@ -741,9 +739,9 @@ pascal_type_print_base (struct type *type, struct ui_file *stream, int show,
       break;
 
     case TYPE_CODE_ENUM:
-      if (TYPE_NAME (type) != NULL)
+      if (type->name () != NULL)
        {
-         fputs_filtered (TYPE_NAME (type), stream);
+         fputs_filtered (type->name (), stream);
          if (show > 0)
            fputs_filtered (" ", stream);
        }
@@ -754,13 +752,13 @@ pascal_type_print_base (struct type *type, struct ui_file *stream, int show,
       if (show < 0)
        {
          /* If we just printed a tag name, no need to print anything else.  */
-         if (TYPE_NAME (type) == NULL)
+         if (type->name () == NULL)
            fprintf_filtered (stream, "(...)");
        }
-      else if (show > 0 || TYPE_NAME (type) == NULL)
+      else if (show > 0 || type->name () == NULL)
        {
          fprintf_filtered (stream, "(");
-         len = TYPE_NFIELDS (type);
+         len = type->num_fields ();
          lastval = 0;
          for (i = 0; i < len; i++)
            {
@@ -820,9 +818,9 @@ pascal_type_print_base (struct type *type, struct ui_file *stream, int show,
          such as fundamental types.  For these, just print whatever
          the type name is, as recorded in the type itself.  If there
          is no type name, then complain.  */
-      if (TYPE_NAME (type) != NULL)
+      if (type->name () != NULL)
        {
-         fputs_filtered (TYPE_NAME (type), stream);
+         fputs_filtered (type->name (), stream);
        }
       else
        {
@@ -830,7 +828,7 @@ pascal_type_print_base (struct type *type, struct ui_file *stream, int show,
             an error ().  */
          fprintf_styled (stream, metadata_style.style (),
                          "<invalid unnamed pascal type code %d>",
-                         TYPE_CODE (type));
+                         type->code ());
        }
       break;
     }
This page took 0.029442 seconds and 4 git commands to generate.