src/Pure/ML/ml_debugger.ML
changeset 62821 48c24d0b6d85
parent 62819 d3ff367a16a0
child 62822 941b6a48ff67
equal deleted inserted replaced
62820:5c678ee5d34a 62821:48c24d0b6d85
     8 sig
     8 sig
     9   type exn_id
     9   type exn_id
    10   val exn_id: exn -> exn_id
    10   val exn_id: exn -> exn_id
    11   val print_exn_id: exn_id -> string
    11   val print_exn_id: exn_id -> string
    12   val eq_exn_id: exn_id * exn_id -> bool
    12   val eq_exn_id: exn_id * exn_id -> bool
    13   type location
    13   val on_entry: (string * ML_Compiler0.polyml_location -> unit) option -> unit
    14   val on_entry: (string * location -> unit) option -> unit
    14   val on_exit: (string * ML_Compiler0.polyml_location -> unit) option -> unit
    15   val on_exit: (string * location -> unit) option -> unit
    15   val on_exit_exception: (string * ML_Compiler0.polyml_location -> exn -> unit) option -> unit
    16   val on_exit_exception: (string * location -> exn -> unit) option -> unit
    16   val on_breakpoint: (ML_Compiler0.polyml_location * bool Unsynchronized.ref -> unit) option -> unit
    17   val on_breakpoint: (location * bool Unsynchronized.ref -> unit) option -> unit
       
    18   type state
    17   type state
    19   val state: Thread.thread -> state list
    18   val state: Thread.thread -> state list
    20   val debug_function: state -> string
    19   val debug_function: state -> string
    21   val debug_function_arg: state -> ML_Name_Space.valueVal
    20   val debug_function_arg: state -> ML_Name_Space.valueVal
    22   val debug_function_result: state -> ML_Name_Space.valueVal
    21   val debug_function_result: state -> ML_Name_Space.valueVal
    23   val debug_location: state -> location
    22   val debug_location: state -> ML_Compiler0.polyml_location
    24   val debug_name_space: state -> ML_Name_Space.T
    23   val debug_name_space: state -> ML_Name_Space.T
    25   val debug_local_name_space: state -> ML_Name_Space.T
    24   val debug_local_name_space: state -> ML_Name_Space.T
    26 end;
    25 end;
    27 
    26 
    28 structure ML_Debugger: ML_DEBUGGER =
    27 structure ML_Debugger: ML_DEBUGGER =
    47     in ML_Pretty.to_polyml (ML_Pretty.String (s, FixedInt.fromInt (size s))) end);
    46     in ML_Pretty.to_polyml (ML_Pretty.String (s, FixedInt.fromInt (size s))) end);
    48 
    47 
    49 
    48 
    50 (* hooks *)
    49 (* hooks *)
    51 
    50 
    52 type location = PolyML.location;
       
    53 
       
    54 val on_entry = PolyML.DebuggerInterface.setOnEntry;
    51 val on_entry = PolyML.DebuggerInterface.setOnEntry;
    55 val on_exit = PolyML.DebuggerInterface.setOnExit;
    52 val on_exit = PolyML.DebuggerInterface.setOnExit;
    56 val on_exit_exception = PolyML.DebuggerInterface.setOnExitException;
    53 val on_exit_exception = PolyML.DebuggerInterface.setOnExitException;
    57 val on_breakpoint = PolyML.DebuggerInterface.setOnBreakPoint;
    54 val on_breakpoint = PolyML.DebuggerInterface.setOnBreakPoint;
    58 
    55