(command.CommandList children: [ (command.ShFunction name: _Dbg_set_debugger_internal body: (command.BraceGroup children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: Equal rhs: {(DQ ($ VSub_DollarName '$_Dbg_space_IFS'))} ) ] ) terminator: <Op_Semi ';'> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PS4) op: Equal rhs: {(SQ <'+ dbg (${BASH_SOURCE}:${LINENO}[$BASH_SUBSHELL]): ${FUNCNAME[0]}\\n'>)} ) ] ) ] ) ) (command.ShFunction name: _Dbg_restore_user_vars body: (command.BraceGroup children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: Equal rhs: {(DQ ($ VSub_DollarName '$_Dbg_space_IFS'))} ) ] ) terminator: <Op_Semi ';'> ) (C {(KW_Set set)} {(-) ($ VSub_DollarName '$_Dbg_old_set_opts')}) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: Equal rhs: {(DQ ($ VSub_DollarName '$_Dbg_old_IFS'))} ) ] ) terminator: <Op_Semi ';'> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PS4) op: Equal rhs: {(DQ ($ VSub_DollarName '$_Dbg_old_PS4'))} ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (command.DParen child: (arith_expr.Binary op_id: Arith_DEqual left: (arith_expr.VarRef token:<Lit_ArithVarLike _Dbg_old_set_nullglob>) right: (arith_expr.ArithWord w:{(Lit_Digits 0)}) ) ) (C {(shopt)} {(-s)} {(nullglob)}) ] ) ] ) ) (command.ShFunction name: _Dbg_save_args body: (command.BraceGroup children: [ (C {(typeset)} {(-i)} {(Lit_VarLike '_Dbg_n=') (braced_var_sub token:<VSub_At '@'> prefix_op:VSub_Pound)} ) (C {(typeset)} {(-i)} {(_Dbg_i)}) (C {(typeset)} {(-i)} {(Lit_VarLike '_Dbg_arg_max=') (braced_var_sub token: <VSub_Name _Dbg_arg> prefix_op: VSub_Pound bracket_op: (bracket_op.WholeArray op_id:Lit_At) ) } ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Arith_Equal left: (sh_lhs_expr.Name name:_Dbg_i) right: (arith_expr.VarRef token:<Lit_ArithVarLike _Dbg_arg_max>) ) cond: (arith_expr.Binary op_id: Arith_Great left: (arith_expr.VarRef token:<Lit_ArithVarLike _Dbg_i>) right: (arith_expr.VarRef token:<Lit_ArithVarLike _Dbg_n>) ) update: (arith_expr.UnaryAssign op_id: Node_PostDMinus child: (sh_lhs_expr.Name name:_Dbg_i) ) body: (command.DoGroup children: [ (C {(unset)} {(Lit_ArrayLhsOpen '_Dbg_arg[') ($ VSub_DollarName '$_Dbg_i') (Lit_RBracket ']')} ) ] ) ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Arith_Equal left: (sh_lhs_expr.Name name:_Dbg_i) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) cond: (arith_expr.Binary op_id: Arith_Great left: (arith_expr.VarRef token:<Lit_ArithVarLike _Dbg_n>) right: (arith_expr.ArithWord w:{(Lit_Digits 0)}) ) update: (arith_expr.UnaryAssign op_id: Node_PostDMinus child: (sh_lhs_expr.Name name:_Dbg_n) ) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: _Dbg_arg index: (arith_expr.ArithWord w:{($ VSub_DollarName '$_Dbg_i')}) ) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} ) ] ) (command.DParen child: (arith_expr.UnaryAssign op_id: Node_PostDPlus child: (sh_lhs_expr.Name name:_Dbg_i) ) ) (C {(shift)}) ] ) ) (C {(unset)} {(Lit_ArrayLhsOpen '_Dbg_arg[') (0) (Lit_RBracket ']')}) ] ) ) (command.ShFunction name: _Dbg_set_debugger_entry body: (command.BraceGroup children: [ (C {(trap)} {(SQ )} {(DEBUG)}) (C {(typeset)} {(-li)} {(Lit_VarLike 'discard_top_fn_count=') (braced_var_sub token: <VSub_Number 1> suffix_op: (suffix_op.Unary op_id:VTest_ColonHyphen arg_word:{(2)}) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_cur_fn) op: Equal rhs: { (braced_var_sub token: <VSub_Name FUNCNAME> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ VSub_DollarName '$discard_top_fn_count')} ) ) ) } ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_frame_last_lineno) op: Equal rhs: { (braced_var_sub token: <VSub_Name BASH_LINENO> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) ) } ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (command.DParen child: (arith_expr.Binary op_id: Arith_Less left: (arith_expr.VarRef token:<Lit_ArithVarLike _Dbg_frame_last_lineno>) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) ) (C {(let)} {(Lit_VarLike '_Dbg_frame_last_lineno=') (1)}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_old_IFS) op: Equal rhs: {(DQ ($ VSub_DollarName '$IFS'))} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_old_PS4) op: Equal rhs: {(DQ ($ VSub_DollarName '$PS4'))} ) ] ) (command.DParen child: (arith_expr.BinaryAssign op_id: Arith_Equal left: (sh_lhs_expr.Name name:_Dbg_stack_size) right: (arith_expr.Binary op_id: Arith_Minus left: (arith_expr.Binary op_id: Arith_Plus left: (arith_expr.ArithWord w: { (braced_var_sub token: <VSub_Name FUNCNAME> prefix_op: VSub_Pound bracket_op: (bracket_op.WholeArray op_id:Lit_At) ) } ) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) right: (arith_expr.VarRef token:<Lit_ArithVarLike discard_top_fn_count>) ) ) ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:_Dbg_stack_pos) op:Equal rhs:{(_0)})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_listline) op: Equal rhs: {(_Dbg_frame_last_lineno)} ) ] ) (C {(_Dbg_set_debugger_internal)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_frame_last_filename) op: Equal rhs: { (braced_var_sub token: <VSub_Name BASH_SOURCE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ VSub_DollarName '$discard_top_fn_count')} ) ) suffix_op: (suffix_op.Unary op_id: VTest_ColonHyphen arg_word: {($ VSub_DollarName '$_Dbg_bogus_file')} ) ) } ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_frame_last_filename) op: Equal rhs: { (command_sub left_token: <Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {(_Dbg_resolve_expand_filename)} {(DQ ($ VSub_DollarName '$_Dbg_frame_last_filename'))} ) ] ) ) } ) ] ) (C {(_Dbg_source_journal)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Arith_Great left: (arith_expr.VarRef token:<Lit_ArithVarLike _Dbg_QUIT_LEVELS>) right: (arith_expr.ArithWord w:{(Lit_Digits 0)}) ) ) terminator: <Op_Semi ';'> ) ] action: [(C {(_Dbg_do_quit)} {($ VSub_DollarName '$_Dbg_debugged_exit_code')})] ) ] ) ] ) ) (command.ShFunction name: _Dbg_set_to_return_from_debugger body: (command.BraceGroup children: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:_Dbg_stop_reason) op:Equal rhs:{(SQ )})] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:_Dbg_listline) op:Equal rhs:{(0)})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_last_lineno) op: Equal rhs: {(${ VSub_Name _Dbg_frame_last_lineno)} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Arith_NEqual left: (arith_expr.ArithWord w:{($ VSub_Number '$1')}) right: (arith_expr.ArithWord w:{(Lit_Digits 0)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_last_bash_command) op: Equal rhs: {(DQ ($ VSub_DollarName '$_Dbg_bash_command'))} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_last_source_file) op: Equal rhs: {(DQ ($ VSub_DollarName '$_Dbg_frame_last_filename'))} ) ] ) ] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_last_lineno) op: Equal rhs: { (braced_var_sub token: <VSub_Name BASH_LINENO> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) ) } ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_last_source_file) op: Equal rhs: { (braced_var_sub token: <VSub_Name BASH_SOURCE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{(Lit_Digits 2)}) ) suffix_op: (suffix_op.Unary op_id: VTest_ColonHyphen arg_word: {($ VSub_DollarName '$_Dbg_bogus_file')} ) ) } ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_last_bash_command) op: Equal rhs: {(DQ ('**unsaved _bashdb command**'))} ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.VarRef token:<Lit_ArithVarLike _Dbg_restore_debug_trap>) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(trap)} {(SQ <'_Dbg_debug_trap_handler 0 "$BASH_COMMAND" "$@"'>)} {(DEBUG)}) ] ) ] else_action: [(C {(trap)} {(-)} {(DEBUG)})] ) (C {(_Dbg_restore_user_vars)}) ] ) ) (command.ShFunction name: _Dbg_save_state body: (command.BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_statefile) op: Equal rhs: { (command_sub left_token: <Left_DollarParen '$('> command_list: (command.CommandList children: [(C {(_Dbg_tempname)} {(statefile)})] ) ) } ) ] ) (command.Simple words: [{(echo)} {(SQ )}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {($ VSub_DollarName '$_Dbg_statefile')} ) ] ) (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.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {($ VSub_DollarName '$_Dbg_statefile')} ) ] ) (command.Simple words: [{(echo)} {(DQ ('rm ') ($ VSub_DollarName '$_Dbg_statefile'))}] redirects: [ (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {($ VSub_DollarName '$_Dbg_statefile')} ) ] ) (C {(export)} {(Lit_VarLike 'DBG_RESTART_FILE=') (DQ ($ VSub_DollarName '$_Dbg_statefile'))}) (C {(_Dbg_write_journal)} { (DQ ('export DBG_RESTART_FILE=') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\"'>) ($ VSub_DollarName '$_Dbg_statefile') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\"'>) ) } ) ] ) ) (command.ShFunction name: _Dbg_save_Dbg_set body: (command.BraceGroup children: [ (command.Simple words: [{(declare)} {(-p)} {(_Dbg_set_basename)}] redirects: [ (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {($ VSub_DollarName '$_Dbg_statefile')} ) ] ) (command.Simple words: [{(declare)} {(-p)} {(_Dbg_set_debug)}] redirects: [ (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {($ VSub_DollarName '$_Dbg_statefile')} ) ] ) (command.Simple words: [{(declare)} {(-p)} {(_Dbg_edit)}] redirects: [ (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {($ VSub_DollarName '$_Dbg_statefile')} ) ] ) (command.Simple words: [{(declare)} {(-p)} {(_Dbg_set_listsize)}] redirects: [ (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {($ VSub_DollarName '$_Dbg_statefile')} ) ] ) (command.Simple words: [{(declare)} {(-p)} {(_Dbg_prompt_str)}] redirects: [ (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {($ VSub_DollarName '$_Dbg_statefile')} ) ] ) (command.Simple words: [{(declare)} {(-p)} {(_Dbg_set_show_command)}] redirects: [ (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {($ VSub_DollarName '$_Dbg_statefile')} ) ] ) ] ) ) (command.ShFunction name: _Dbg_restore_state body: (command.BraceGroup children: [ (C {(typeset)} {(Lit_VarLike 'statefile=') ($ VSub_Number '$1')}) (C {(.)} {($ VSub_Number '$1')}) ] ) ) (command.ShFunction name: _Dbg_restore_from_nested_shell body: (command.BraceGroup children: [ (command.Simple words: [{(rm)} {(-f)} {($ VSub_DollarName '$_Dbg_shell_temp_profile')}] redirects: [ (redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)}) (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)}) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: BoolUnary_r child: {($ VSub_DollarName '$_Dbg_restore_info')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(.)} {($ VSub_DollarName '$_Dbg_restore_info')}) (C {(rm)} {($ VSub_DollarName '$_Dbg_restore_info')}) ] ) ] ) ] ) ) ] )