(command.CommandList children: [ (command.ShFunction name: _Dbg_set_debugger_internal body: (BraceGroup children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$_Dbg_space_IFS'))} spids: [71] ) ] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PS4) op: assign_op.Equal rhs: {(SQ <'+ dbg (${BASH_SOURCE}:${LINENO}[$BASH_SUBSHELL]): ${FUNCNAME[0]}\\n'>)} spids: [78] ) ] ) ] ) ) (command.ShFunction name: _Dbg_restore_user_vars body: (BraceGroup children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$_Dbg_space_IFS'))} spids: [93] ) ] ) terminator: <Id.Op_Semi _> ) (C {<set>} {<-> ($ Id.VSub_DollarName '$_Dbg_old_set_opts')}) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$_Dbg_old_IFS'))} spids: [106] ) ] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PS4) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$_Dbg_old_PS4'))} spids: [113] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: <Id.Lit_ArithVarLike _Dbg_old_set_nullglob> right: {<Id.Lit_Digits 0>} ) ) (C {<shopt>} {<-s>} {<nullglob>}) ] ) ] ) ) (command.ShFunction name: _Dbg_save_args body: (BraceGroup children: [ (C {<typeset>} {<-i>} {<Id.Lit_VarLike '_Dbg_n='> (braced_var_sub token:<Id.VSub_At '@'> prefix_op:(Id.VSub_Pound)) } ) (C {<typeset>} {<-i>} {<_Dbg_i>}) (C {<typeset>} {<-i>} {<Id.Lit_VarLike '_Dbg_arg_max='> (braced_var_sub token: <Id.VSub_Name _Dbg_arg> prefix_op: (Id.VSub_Pound) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) } ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: <Id.Lit_ArithVarLike _Dbg_i> right: <Id.Lit_ArithVarLike _Dbg_arg_max> ) cond: (arith_expr.Binary op_id: Id.Arith_Great left: <Id.Lit_ArithVarLike _Dbg_i> right: <Id.Lit_ArithVarLike _Dbg_n> ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDMinus child: <Id.Lit_ArithVarLike _Dbg_i> ) body: (command.DoGroup children: [ (C {<unset>} {<Id.Lit_ArrayLhsOpen '_Dbg_arg['> ($ Id.VSub_DollarName '$_Dbg_i') <Id.Lit_RBracket ']'> } ) ] ) ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: <Id.Lit_ArithVarLike _Dbg_i> right: {<Id.Lit_Digits 1>} ) cond: (arith_expr.Binary op_id: Id.Arith_Great left: <Id.Lit_ArithVarLike _Dbg_n> right: {<Id.Lit_Digits 0>} ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDMinus child: <Id.Lit_ArithVarLike _Dbg_n> ) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: _Dbg_arg index: {($ Id.VSub_DollarName '$_Dbg_i')} ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number '$1'))} spids: [277] ) ] ) (command.DParen child: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: <Id.Lit_ArithVarLike _Dbg_i> ) ) (C {<shift>}) ] ) ) (C {<unset>} {<Id.Lit_ArrayLhsOpen '_Dbg_arg['> <0> <Id.Lit_RBracket ']'>}) ] ) ) (command.ShFunction name: _Dbg_set_debugger_entry body: (BraceGroup children: [ (C {<trap>} {(SQ )} {<DEBUG>}) (C {<typeset>} {<-li>} {<Id.Lit_VarLike 'discard_top_fn_count='> (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok:<Id.VTest_ColonHyphen ':-'> arg_word:{<2>}) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_cur_fn) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name FUNCNAME> bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName '$discard_top_fn_count')} ) ) } spids: [381] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_frame_last_lineno) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name BASH_LINENO> bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 1>}) ) } spids: [390] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: <Id.Lit_ArithVarLike _Dbg_frame_last_lineno> right: {<Id.Lit_Digits 1>} ) ) (C {<let>} {<Id.Lit_VarLike '_Dbg_frame_last_lineno='> <1>}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_old_IFS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$IFS'))} spids: [417] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_old_PS4) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$PS4'))} spids: [423] ) ] ) (command.DParen child: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: <Id.Lit_ArithVarLike _Dbg_stack_size> right: (arith_expr.Binary op_id: Id.Arith_Minus left: (arith_expr.Binary op_id: Id.Arith_Plus left: { (braced_var_sub token: <Id.VSub_Name FUNCNAME> prefix_op: (Id.VSub_Pound) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) } right: {<Id.Lit_Digits 1>} ) right: <Id.Lit_ArithVarLike discard_top_fn_count> ) ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_stack_pos) op: assign_op.Equal rhs: {<_0>} spids: [453] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_listline) op: assign_op.Equal rhs: {<_Dbg_frame_last_lineno>} spids: [457] ) ] ) (C {<_Dbg_set_debugger_internal>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_frame_last_filename) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name BASH_SOURCE> bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName '$discard_top_fn_count')} ) suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {($ Id.VSub_DollarName '$_Dbg_bogus_file')} ) ) } spids: [464] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_frame_last_filename) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<_Dbg_resolve_expand_filename>} {(DQ ($ Id.VSub_DollarName '$_Dbg_frame_last_filename'))} ) ) } spids: [475] ) ] ) (C {<_Dbg_source_journal>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: <Id.Lit_ArithVarLike _Dbg_QUIT_LEVELS> right: {<Id.Lit_Digits 0>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<_Dbg_do_quit>} {($ Id.VSub_DollarName '$_Dbg_debugged_exit_code')})] spids: [498 513] ) ] ) ] ) ) (command.ShFunction name: _Dbg_set_to_return_from_debugger body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_stop_reason) op: assign_op.Equal rhs: {(SQ )} spids: [534] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_listline) op: assign_op.Equal rhs: {<0>} spids: [539] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_last_lineno) op: assign_op.Equal rhs: {(${ Id.VSub_Name _Dbg_frame_last_lineno)} spids: [547] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: {($ Id.VSub_Number '$1')} right: {<Id.Lit_Digits 0>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_last_bash_command) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$_Dbg_bash_command'))} spids: [571] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_last_source_file) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$_Dbg_frame_last_filename'))} spids: [577] ) ] ) ] spids: [553 568] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_last_lineno) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name BASH_LINENO> bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 1>}) ) } spids: [586] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_last_source_file) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name BASH_SOURCE> bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 2>}) suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {($ Id.VSub_DollarName '$_Dbg_bogus_file')} ) ) } spids: [595] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_last_bash_command) op: assign_op.Equal rhs: {(DQ <'**unsaved _bashdb command**'>)} spids: [606] ) ] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child:<Id.Lit_ArithVarLike _Dbg_restore_debug_trap>) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<trap>} {(SQ <'_Dbg_debug_trap_handler 0 "$BASH_COMMAND" "$@"'>)} {<DEBUG>}) ] spids: [616 627] ) ] else_action: [(C {<trap>} {<->} {<DEBUG>})] ) (C {<_Dbg_restore_user_vars>}) ] ) ) (command.ShFunction name: _Dbg_save_state body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_statefile) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<_Dbg_tempname>} {<statefile>}) ) } spids: [665] ) ] ) (command.Simple words: [{<echo>} {(SQ )}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$_Dbg_statefile')} ) ] do_fork: T ) (C {<_Dbg_save_breakpoints>}) (C {<_Dbg_save_actions>}) (C {<_Dbg_save_watchpoints>}) (C {<_Dbg_save_display>}) (C {<_Dbg_save_Dbg_set>}) (command.Simple words: [{<echo>} {(DQ <'unset DBG_RESTART_FILE'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$_Dbg_statefile')} ) ] do_fork: T ) (command.Simple words: [{<echo>} {(DQ <'rm '> ($ Id.VSub_DollarName '$_Dbg_statefile'))}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$_Dbg_statefile')} ) ] do_fork: T ) (C {<export>} {<Id.Lit_VarLike 'DBG_RESTART_FILE='> (DQ ($ Id.VSub_DollarName '$_Dbg_statefile'))} ) (C {<_Dbg_write_journal>} { (DQ <'export DBG_RESTART_FILE='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) ($ Id.VSub_DollarName '$_Dbg_statefile') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) ) } ) ] ) ) (command.ShFunction name: _Dbg_save_Dbg_set body: (BraceGroup children: [ (command.Simple words: [{<declare>} {<-p>} {<_Dbg_set_basename>}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$_Dbg_statefile')} ) ] do_fork: T ) (command.Simple words: [{<declare>} {<-p>} {<_Dbg_set_debug>}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$_Dbg_statefile')} ) ] do_fork: T ) (command.Simple words: [{<declare>} {<-p>} {<_Dbg_edit>}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$_Dbg_statefile')} ) ] do_fork: T ) (command.Simple words: [{<declare>} {<-p>} {<_Dbg_set_listsize>}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$_Dbg_statefile')} ) ] do_fork: T ) (command.Simple words: [{<declare>} {<-p>} {<_Dbg_prompt_str>}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$_Dbg_statefile')} ) ] do_fork: T ) (command.Simple words: [{<declare>} {<-p>} {<_Dbg_set_show_command>}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$_Dbg_statefile')} ) ] do_fork: T ) ] ) ) (command.ShFunction name: _Dbg_restore_state body: (BraceGroup children: [ (C {<typeset>} {<Id.Lit_VarLike 'statefile='> ($ Id.VSub_Number '$1')}) (C {<.>} {($ Id.VSub_Number '$1')}) ] ) ) (command.ShFunction name: _Dbg_restore_from_nested_shell body: (BraceGroup children: [ (command.Simple words: [{<rm>} {<-f>} {($ Id.VSub_DollarName '$_Dbg_shell_temp_profile')}] redirects: [ (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_r child: {($ Id.VSub_DollarName '$_Dbg_restore_info')} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<.>} {($ Id.VSub_DollarName '$_Dbg_restore_info')}) (C {<rm>} {($ Id.VSub_DollarName '$_Dbg_restore_info')}) ] spids: [862 874] ) ] ) ] ) ) ] )