(CommandList children: [ (C {(trap)} {(SQ <_Dbg_write_saved_vars>)} {(EXIT)}) (C {(typeset)} {(-a)} {(_Dbg_save_vars)}) (Sentence child:(C {(typeset)} {(-a)} {(_Dbg_save_vars)}) terminator:<Op_Semi ";">) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_save_vars) op: Equal rhs: {(ArrayLiteralPart)} spids: [86] ) ] spids: [86] ) (FuncDef name: save_vars body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_save_vars) op: PlusEqual rhs: {(ArrayLiteralPart words:[{($ VSub_At "$@")}])} spids: [104] ) ] spids: [104] ) ] spids: [101] ) spids: [97 100] ) (FuncDef name: _Dbg_write_saved_vars body: (BraceGroup children: [ (C {(typeset)} {(param)}) (ForEach iter_name: param iter_words: [ { (DQ (BracedVarSub token: <VSub_Name _Dbg_save_vars> bracket_op: (WholeArray op_id:Lit_At) spids: [131 136] ) ) } ] do_arg_iter: False body: (DoGroup children: [ (Pipeline children: [ (C {(typeset)} {(-p)} {($ VSub_Name "$param")}) (C {(sed)} {(-e)} {(SQ <"s:declare [^ ]* ::">)}) ] negated: False ) ] spids: [141 162] ) redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name "$_Dbg_restore_info")} spids: [164] ) ] spids: [129 139] ) ] spids: [116] ) spids: [112 115] ) ] )