(command.ShFunction name: _Dbg_debugger body: (BraceGroup children: [ (C {<set>} {<-o>} {<functrace>}) (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.VSub_Pound '$#')} right: {<Id.Lit_Digits 0>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:step_ignore) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [106] ) ] ) (C {<shift>}) ] spids: [88 103] ) ] else_action: [ (C {<typeset>} {<Id.Lit_VarLike 'step_ignore='> (braced_var_sub token: <Id.VSub_Name _Dbg_step_ignore> suffix_op: (suffix_op.Unary tok:<Id.VTest_ColonHyphen ':-'> arg_word:{(SQ )}) ) } ) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: {($ Id.VSub_Pound '$#')} right: {<Id.Lit_Digits 0>} ) ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup children:[(C {<eval>} {($ Id.VSub_Number '$1')}) (C {<shift>})]) ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_z child: {($ Id.VSub_DollarName '$_Dbg_set_trace_init')} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_set_trace_init) op: assign_op.Equal rhs: {<1>} spids: [176] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_step_ignore) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name step_ignore> suffix_op: (suffix_op.Unary tok:<Id.VTest_ColonHyphen ':-'> arg_word:{<0>}) ) } spids: [180] ) ] ) (C {<_Dbg_write_journal>} {(DQ <'_Dbg_step_ignore=0'>)}) ] spids: [161 173] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_step_ignore) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok:<Id.VTest_ColonHyphen ':-'> arg_word:{<1>}) ) } spids: [198] ) ] ) ] ) (C {<trap>} {(SQ <'_Dbg_debug_trap_handler 0 "$BASH_COMMAND" "$@"'>)} {<DEBUG>}) ] ) )