(CommandList children: [ (FuncDef name: _Dbg_set_debugger_internal body: (BraceGroup children: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(DQ ($ VSub_Name '$_Dbg_space_IFS'))} spids: [71] ) ] spids: [71] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PS4) op: Equal rhs: {(SQ <'+ dbg (${BASH_SOURCE}:${LINENO}[$BASH_SUBSHELL]): ${FUNCNAME[0]}\\n'>)} spids: [78] ) ] spids: [78] ) ] spids: [68] ) spids: [64 67] ) (FuncDef name: _Dbg_restore_user_vars body: (BraceGroup children: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(DQ ($ VSub_Name '$_Dbg_space_IFS'))} spids: [93] ) ] spids: [93] ) terminator: <Op_Semi ';'> ) (C {(set)} {(-) ($ VSub_Name '$_Dbg_old_set_opts')}) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(DQ ($ VSub_Name '$_Dbg_old_IFS'))} spids: [106] ) ] spids: [106] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PS4) op: Equal rhs: {(DQ ($ VSub_Name '$_Dbg_old_PS4'))} spids: [113] ) ] spids: [113] ) (AndOr ops: [Op_DAmp] children: [ (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithVarRef name:_Dbg_old_set_nullglob) right: (ArithWord w:{(Lit_Digits 0)}) ) ) (C {(shopt)} {(-s)} {(nullglob)}) ] ) ] spids: [90] ) spids: [86 89] ) (FuncDef name: _Dbg_save_args body: (BraceGroup children: [ (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:_Dbg_n) op: Equal rhs: {(BracedVarSub token:<VSub_At '@'> prefix_op:VSub_Pound spids:[166 169])} spids: [165] ) ] spids: [161] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [(assign_pair lhs:(LhsName name:_Dbg_i) op:Equal spids:[176])] spids: [172] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:_Dbg_arg_max) op: Equal rhs: { (BracedVarSub token: <VSub_Name _Dbg_arg> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [184 190] ) } spids: [183] ) ] spids: [179] ) (ForExpr init: (BinaryAssign op_id: Arith_Equal left: (LhsName name:_Dbg_i) right: (ArithVarRef name:_Dbg_arg_max) ) cond: (ArithBinary op_id: Arith_Great left: (ArithVarRef name:_Dbg_i) right: (ArithVarRef name:_Dbg_n) ) update: (UnaryAssign op_id:Node_PostDMinus child:(LhsName name:_Dbg_i)) body: (DoGroup children: [ (C {(unset)} {(_Dbg_arg) (Lit_Other '[') ($ VSub_Name '$_Dbg_i') (Lit_Other ']')}) ] spids: [231 242] ) ) (ForExpr init: (BinaryAssign op_id: Arith_Equal left: (LhsName name:_Dbg_i) right: (ArithWord w:{(Lit_Digits 1)}) ) cond: (ArithBinary op_id: Arith_Great left: (ArithVarRef name:_Dbg_n) right: (ArithWord w:{(Lit_Digits 0)}) ) update: (UnaryAssign op_id:Node_PostDMinus child:(LhsName name:_Dbg_n)) body: (DoGroup children: [ (C {(_Dbg_arg) (Lit_Other '[') ($ VSub_Name '$_Dbg_i') (Lit_Other ']') (Lit_Other '=') (DQ ($ VSub_Number '$1')) } ) (DParen child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:_Dbg_i)) ) (C {(shift)}) ] spids: [275 298] ) ) (C {(unset)} {(_Dbg_arg) (Lit_Other '[') (0) (Lit_Other ']')}) ] spids: [145] ) spids: [141 144] ) (FuncDef name: _Dbg_set_debugger_entry body: (BraceGroup children: [ (C {(trap)} {(SQ )} {(DEBUG)}) (Assignment keyword: Assign_Typeset flags: [-li] pairs: [ (assign_pair lhs: (LhsName name:discard_top_fn_count) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(2)}) spids: [375 379] ) } spids: [374] ) ] spids: [370] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_cur_fn) op: Equal rhs: { (BracedVarSub token: <VSub_Name FUNCNAME> bracket_op: (ArrayIndex expr: (ArithWord w:{($ VSub_Name '$discard_top_fn_count')}) ) spids: [384 389] ) } spids: [383] ) ] spids: [383] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_frame_last_lineno) op: Equal rhs: { (BracedVarSub token: <VSub_Name BASH_LINENO> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)})) spids: [393 398] ) } spids: [392] ) ] spids: [392] ) (AndOr ops: [Op_DAmp] children: [ (DParen child: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:_Dbg_frame_last_lineno) right: (ArithWord w:{(Lit_Digits 1)}) ) ) (C {(let)} {(Lit_VarLike '_Dbg_frame_last_lineno=') (1)}) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_old_IFS) op: Equal rhs: {(DQ ($ VSub_Name '$IFS'))} spids: [419] ) ] spids: [419] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_old_PS4) op: Equal rhs: {(DQ ($ VSub_Name '$PS4'))} spids: [425] ) ] spids: [425] ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:_Dbg_stack_size) right: (ArithBinary op_id: Arith_Minus left: (ArithBinary op_id: Arith_Plus left: (ArithWord w: { (BracedVarSub token: <VSub_Name FUNCNAME> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [436 442] ) } ) right: (ArithWord w:{(Lit_Digits 1)}) ) right: (ArithVarRef name:discard_top_fn_count) ) ) ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_Dbg_stack_pos) op:Equal rhs:{(_0)} spids:[455])] spids: [455] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_listline) op: Equal rhs: {(_Dbg_frame_last_lineno)} spids: [459] ) ] spids: [459] ) (C {(_Dbg_set_debugger_internal)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_frame_last_filename) op: Equal rhs: { (BracedVarSub token: <VSub_Name BASH_SOURCE> bracket_op: (ArrayIndex expr: (ArithWord w:{($ VSub_Name '$discard_top_fn_count')}) ) suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name '$_Dbg_bogus_file')} ) spids: [467 474] ) } spids: [466] ) ] spids: [466] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_frame_last_filename) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(_Dbg_resolve_expand_filename)} {(DQ ($ VSub_Name '$_Dbg_frame_last_filename'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [478 484] ) } spids: [477] ) ] spids: [477] ) (C {(_Dbg_source_journal)}) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_Great left: (ArithVarRef name:_Dbg_QUIT_LEVELS) right: (ArithWord w:{(Lit_Digits 0)}) ) ) terminator: <Op_Semi ';'> ) ] action: [(C {(_Dbg_do_quit)} {($ VSub_Name '$_Dbg_debugged_exit_code')})] spids: [16777215 515] ) ] spids: [16777215 523] ) ] spids: [342] ) spids: [338 341] ) (FuncDef name: _Dbg_set_to_return_from_debugger body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_stop_reason) op: Equal rhs: {(SQ )} spids: [536] ) ] spids: [536] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_Dbg_listline) op:Equal rhs:{(0)} spids:[541])] spids: [541] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_last_lineno) op: Equal rhs: {(${ VSub_Name _Dbg_frame_last_lineno)} spids: [549] ) ] spids: [549] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_NEqual left: (ArithWord w:{($ VSub_Number '$1')}) right: (ArithWord w:{(Lit_Digits 0)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_last_bash_command) op: Equal rhs: {(DQ ($ VSub_Name '$_Dbg_bash_command'))} spids: [573] ) ] spids: [573] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_last_source_file) op: Equal rhs: {(DQ ($ VSub_Name '$_Dbg_frame_last_filename'))} spids: [579] ) ] spids: [579] ) ] spids: [16777215 570] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_last_lineno) op: Equal rhs: { (BracedVarSub token: <VSub_Name BASH_LINENO> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)})) spids: [589 594] ) } spids: [588] ) ] spids: [588] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_last_source_file) op: Equal rhs: { (BracedVarSub token: <VSub_Name BASH_SOURCE> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)})) suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name '$_Dbg_bogus_file')} ) spids: [598 605] ) } spids: [597] ) ] spids: [597] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_last_bash_command) op: Equal rhs: {(DQ ('**unsaved _bashdb command**'))} spids: [608] ) ] spids: [608] ) ] spids: [585 614] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child:(ArithVarRef name:_Dbg_restore_debug_trap)) terminator: <Op_Semi ';'> ) ] action: [ (C {(trap)} {(SQ <'_Dbg_debug_trap_handler 0 "$BASH_COMMAND" "$@"'>)} {(DEBUG)}) ] spids: [16777215 629] ) ] else_action: [(C {(trap)} {(-)} {(DEBUG)})] spids: [641 651] ) (C {(_Dbg_restore_user_vars)}) ] spids: [532] ) spids: [528 531] ) (FuncDef name: _Dbg_save_state body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_statefile) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(_Dbg_tempname)} {(statefile)})]) left_token: <Left_CommandSub '$('> spids: [668 672] ) } spids: [667] ) ] spids: [667] ) (SimpleCommand words: [{(echo)} {(SQ )}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_statefile')} spids: [680] ) ] ) (C {(_Dbg_save_breakpoints)}) (C {(_Dbg_save_actions)}) (C {(_Dbg_save_watchpoints)}) (C {(_Dbg_save_display)}) (C {(_Dbg_save_Dbg_set)}) (SimpleCommand words: [{(echo)} {(DQ ('unset DBG_RESTART_FILE'))}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_statefile')} spids: [706] ) ] ) (SimpleCommand words: [{(echo)} {(DQ ('rm ') ($ VSub_Name '$_Dbg_statefile'))}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_statefile')} spids: [718] ) ] ) (C {(export)} {(Lit_VarLike 'DBG_RESTART_FILE=') (DQ ($ VSub_Name '$_Dbg_statefile'))}) (C {(_Dbg_write_journal)} { (DQ ('export DBG_RESTART_FILE=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$_Dbg_statefile') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } ) ] spids: [664] ) spids: [660 663] ) (FuncDef name: _Dbg_save_Dbg_set body: (BraceGroup children: [ (SimpleCommand words: [{(Assign_Declare declare)} {(-p)} {(_Dbg_set_basename)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_statefile')} spids: [756] ) ] ) (SimpleCommand words: [{(Assign_Declare declare)} {(-p)} {(_Dbg_set_debug)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_statefile')} spids: [767] ) ] ) (SimpleCommand words: [{(Assign_Declare declare)} {(-p)} {(_Dbg_edit)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_statefile')} spids: [778] ) ] ) (SimpleCommand words: [{(Assign_Declare declare)} {(-p)} {(_Dbg_set_listsize)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_statefile')} spids: [789] ) ] ) (SimpleCommand words: [{(Assign_Declare declare)} {(-p)} {(_Dbg_prompt_str)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_statefile')} spids: [800] ) ] ) (SimpleCommand words: [{(Assign_Declare declare)} {(-p)} {(_Dbg_set_show_command)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_statefile')} spids: [811] ) ] ) ] spids: [747] ) spids: [743 746] ) (FuncDef name: _Dbg_restore_state body: (BraceGroup children: [ (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:statefile) op: Equal rhs: {($ VSub_Number '$1')} spids: [827] ) ] spids: [825] ) (C {(.)} {($ VSub_Number '$1')}) ] spids: [822] ) spids: [818 821] ) (FuncDef name: _Dbg_restore_from_nested_shell body: (BraceGroup children: [ (SimpleCommand words: [{(rm)} {(-f)} {($ VSub_Name '$_Dbg_shell_temp_profile')}] redirects: [ (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[857]) (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [860] ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_r child: {($ VSub_Name '$_Dbg_restore_info')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(.)} {($ VSub_Name '$_Dbg_restore_info')}) (C {(rm)} {($ VSub_Name '$_Dbg_restore_info')}) ] spids: [16777215 876] ) ] spids: [16777215 889] ) ] spids: [848] ) spids: [844 847] ) ] )