(CommandList children: [ (C {(trap)} {(SQ <_Dbg_write_saved_vars>)} {(EXIT)}) (Assignment keyword: Assign_Typeset flags: [-a] pairs: [(assign_pair lhs:(LhsName name:_Dbg_save_vars) op:Equal spids:[70])] spids: [66] ) (CommandList children: [ (Sentence child: (Assignment keyword: Assign_Typeset flags: [-a] pairs: [(assign_pair lhs:(LhsName name:_Dbg_save_vars) op:Equal spids:[83])] spids: [79] ) 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: [ (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:param) op:Equal spids:[121])] spids: [119] ) (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: F body: (DoGroup children: [ (Pipeline children: [ (C {(Assign_Typeset typeset)} {(-p)} {($ VSub_Name '$param')}) (C {(sed)} {(-e)} {(SQ <'s:declare [^ ]* ::'>)}) ] negated: F ) ] spids: [141 162] ) redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_restore_info')} ) ] spids: [129 139] ) ] spids: [116] ) spids: [112 115] ) ] )