(command.CommandList children: [ (C {<typeset>} {<Id.Lit_VarLike '_Dbg_journal='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<_Dbg_tempname>} {<journal>}) ) } ) (command.ShFunction name: _Dbg_write_journal_eval body: (BraceGroup children: [ (C {<_Dbg_write_journal>} {(DQ ($ Id.VSub_At '$@'))}) (C {<eval>} {(DQ ($ Id.VSub_At '$@'))}) ] ) ) (command.ShFunction name: _Dbg_write_journal_var body: (BraceGroup children: [ (C {<typeset>} {<Id.Lit_VarLike 'var_name='> (DQ ($ Id.VSub_Number '$1'))}) (C {<typeset>} {<val>}) (C {<typeset>} {<Id.Lit_VarLike 'val_cmd='> (DQ <'val=\''> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'{'> ($ Id.VSub_DollarName '$var_name') <'}\''> ) } ) (C {<eval>} {(DQ ($ Id.VSub_DollarName '$val_cmd'))}) (C {<_Dbg_write_journal>} {(DQ (${ Id.VSub_Name var_name) <'=\''> (${ Id.VSub_Name val) <'\''>)} ) ] ) ) (command.ShFunction name: _Dbg_write_journal_avar body: (BraceGroup children: [ (command.Sentence child: (C {<typeset>} {<decl_str>}) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:decl_str) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<declare>} {<-p>} {($ Id.VSub_Number '$1')}) ) } spids: [185] ) ] ) (C {<typeset>} {<-a>} {<decl_a>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:decl_a) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [{($ Id.VSub_DollarName '$decl_str')}] ) } spids: [202] ) ] ) (C {<typeset>} {<-a>} {<decl_a2>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:decl_a2) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name decl_a> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) suffix_op: (suffix_op.Slice begin:{<Id.Lit_Digits 2>}) ) } spids: [215] ) ] ) (C {<_Dbg_write_journal>} { (braced_var_sub token: <Id.VSub_Name decl_a2> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) } ) ] ) ) (command.ShFunction name: _Dbg_write_journal body: (BraceGroup children: [ (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.Lit_ArithVarLike BASH_SUBSHELL> right: {<Id.Lit_Digits 0>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<echo>} {(DQ ($ Id.VSub_At '$@'))}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(${ Id.VSub_Name _Dbg_journal)} ) (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ] spids: [251 266] ) ] ) ] ) ) (command.ShFunction name: _Dbg_erase_journals body: (BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_f child: {($ Id.VSub_DollarName '$_Dbg_journal')} ) ) (command.Simple words: [{<rm>} {(${ Id.VSub_Name _Dbg_journal)}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {($ Id.VSub_QMark '$?')} ) ] ) ) (command.ShFunction name: _Dbg_source_journal body: (BraceGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-r>} {($ Id.VSub_DollarName '$_Dbg_journal')} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<.>} {($ Id.VSub_DollarName '$_Dbg_journal')}) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: <Id.Lit_ArithVarLike BASH_SUBSHELL> right: {<Id.Lit_Digits 0>} ) ) (C {<_Dbg_erase_journals>}) ] ) ] spids: [342 354] ) ] ) ] ) ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {<_Dbg_journal>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<typeset>} {<-i>} {<Id.Lit_VarLike '_Dbg_QUIT_LEVELS='> <0>}) (C {<_Dbg_write_journal>} {(DQ <'_Dbg_QUIT_LEVELS=0'>)}) ] spids: [384 398] ) ] ) ] )