Avoid -Wnarrowing warnings from quote_char()
[deliverable/binutils-gdb.git] / gdb / extension.h
index 475d712b4209dab25d2ff10adc0ae39ed436d427..0c8c4ee93435f3c9c51eaa193458b53a279de663 100644 (file)
@@ -76,32 +76,36 @@ enum ext_lang_bt_status
        succeeded.  */
     EXT_LANG_BT_OK = 1,
 
-    /* Return when the frame filter process is complete, and all
-       operations have succeeded.  */
-    EXT_LANG_BT_COMPLETED = 2,
-
     /* Return when the frame filter process is complete, but there
        were no filter registered and enabled to process.  */
-    EXT_LANG_BT_NO_FILTERS = 3
+    EXT_LANG_BT_NO_FILTERS = 2
   };
 
 /* Flags to pass to apply_extlang_frame_filter.  */
 
-enum frame_filter_flags
+enum frame_filter_flag
   {
     /* Set this flag if frame level is to be printed.  */
-    PRINT_LEVEL = 1,
+    PRINT_LEVEL = 1 << 0,
 
     /* Set this flag if frame information is to be printed.  */
-    PRINT_FRAME_INFO = 2,
+    PRINT_FRAME_INFO = 1 << 1,
 
     /* Set this flag if frame arguments are to be printed.  */
-    PRINT_ARGS = 4,
+    PRINT_ARGS = 1 << 2,
 
     /* Set this flag if frame locals are to be printed.  */
-    PRINT_LOCALS = 8,
+    PRINT_LOCALS = 1 << 3,
+
+    /* Set this flag if a "More frames" message is to be printed.  */
+    PRINT_MORE_FRAMES = 1 << 4,
+
+    /* Set this flag if elided frames should not be printed.  */
+    PRINT_HIDE = 1 << 5,
   };
 
+DEF_ENUM_FLAGS_TYPE (enum frame_filter_flag, frame_filter_flags);
+
 /* A choice of the different frame argument printing strategies that
    can occur in different cases of frame filter instantiation.  */
 
@@ -142,8 +146,13 @@ enum ext_lang_bp_stop
 
 struct ext_lang_type_printers
 {
+  ext_lang_type_printers ();
+  ~ext_lang_type_printers ();
+
+  DISABLE_COPY_AND_ASSIGN (ext_lang_type_printers);
+
   /* Type-printers from Python.  */
-  void *py_type_printers;
+  void *py_type_printers = nullptr;
 };
 
 /* The return code for some API calls.  */
@@ -182,13 +191,6 @@ struct xmethod_worker
 
   virtual value *invoke (value *obj, value **args, int nargs) = 0;
 
-  /* Clone this worker, returns a new but identical worker.
-     The function get_matching_xmethod_workers returns a vector of matching
-     workers.  If a particular worker is selected by GDB to invoke a method,
-     then this function can help in cloning the selected worker.  */
-
-  virtual std::unique_ptr<xmethod_worker> clone () = 0;
-
   /* Return the arg types of the xmethod encapsulated in this worker.
      An array of arg types is returned.  The length of the array is returned in
      NARGS.  The type of the 'this' object is returned as the first element of
@@ -276,13 +278,9 @@ extern void eval_ext_lang_from_control_command (struct command_line *cmd);
 
 extern void auto_load_ext_lang_scripts_for_objfile (struct objfile *);
 
-extern struct ext_lang_type_printers *start_ext_lang_type_printers (void);
-
 extern char *apply_ext_lang_type_printers (struct ext_lang_type_printers *,
                                           struct type *);
 
-extern void free_ext_lang_type_printers (struct ext_lang_type_printers *);
-
 extern int apply_ext_lang_val_pretty_printer
   (struct type *type,
    LONGEST embedded_offset, CORE_ADDR address,
@@ -291,7 +289,8 @@ extern int apply_ext_lang_val_pretty_printer
    const struct language_defn *language);
 
 extern enum ext_lang_bt_status apply_ext_lang_frame_filter
-  (struct frame_info *frame, int flags, enum ext_lang_frame_args args_type,
+  (struct frame_info *frame, frame_filter_flags flags,
+   enum ext_lang_frame_args args_type,
    struct ui_out *out, int frame_low, int frame_high);
 
 extern void preserve_ext_lang_values (struct objfile *, htab_t copied_types);
This page took 0.025455 seconds and 4 git commands to generate.