(CommandList children: [ (CommandList children: [ (Sentence child: (Assignment keyword: Assign_Typeset flags: [-a] pairs: [(assign_pair lhs:(LhsName name:_Dbg_yn) op:Equal spids:[65])] spids: [61] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_yn) op: Equal rhs: {(ArrayLiteralPart words:[{(DQ (n))} {(DQ (y))}])} spids: [68] ) ] spids: [68] ) ] ) (FuncDef name: _Dbg_copies body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:result) op:Equal rhs:{(SQ )} spids:[93])] spids: [93] ) (AndOr ops: [Op_DAmp] children: [ (DParen child: (ArithBinary op_id: Arith_Less left: (ArithWord w:{($ VSub_Pound '$#')}) right: (ArithWord w:{(Lit_Digits 2)}) ) spids: [98 107] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] ) (Assignment keyword: Assign_Typeset flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:string) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [120] ) ] spids: [116] ) (AndOr ops: [Op_DPipe] children: [ (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:count) op: Equal rhs: {($ VSub_Number '$2')} spids: [130] ) ] spids: [126] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)}) ] ) (AndOr ops: [Op_DPipe] children: [ (DParen child: (ArithBinary op_id: Arith_Great left: (ArithVarRef name:count) right: (ArithWord w:{(Lit_Digits 0)}) ) spids: [140 149] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(3)}) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(builtin)} {(printf)} {(-v)} {(result)} {(DQ ('%') (${ VSub_Name count) (s))} {(SQ <' '>)} ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(3)}) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:result) op: Equal rhs: { (BracedVarSub token: <VSub_Name result> suffix_op: (PatSub pat: {(' ')} replace: {($ VSub_Name '$string')} do_all: T do_prefix: F do_suffix: F ) spids: [186 193] ) } spids: [185] ) ] spids: [185] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [90] ) spids: [86 89] ) (FuncDef name: _Dbg_defined body: (BraceGroup children: [ (AndOr ops: [Op_DAmp] children: [ (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{(Lit_Digits 0)}) right: (ArithWord w:{($ VSub_Pound '$#')}) ) spids: [213 222] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] ) (SimpleCommand words: [{(Assign_Typeset typeset)} {(-p)} {(DQ ($ VSub_Number '$1'))}] redirects: [(Redir op:<Redir_AndGreat '&>'> fd:16777215 arg_word:{(/dev/null)})] ) ] spids: [210] ) spids: [206 209] ) (FuncDef name: _Dbg_esc_dq body: (BraceGroup children: [ (C {(builtin)} {(printf)} {(DQ ('%q') (Lit_Other '\\') (n))} {(DQ ($ VSub_Number '$1'))}) ] spids: [256] ) spids: [252 255] ) (Sentence child: (Assignment keyword: Assign_Typeset flags: [-a] pairs: [(assign_pair lhs:(LhsName name:_Dbg_eval_re) op:Equal spids:[286])] spids: [282] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_eval_re) op: Equal rhs: { (ArrayLiteralPart words: [ {(SQ <'^[ \\t]*(if|elif)[ \\t]+([^;]*)((;[ \\t]*then?)?|$)'>)} {(SQ <'^[ \\t]*return[ \\t]+(.*)$'>)} {(SQ <'^[ \\t]*while[ \\t]+([^;]*)((;[ \\t]*do?)?|$)'>)} {(SQ <'^[ \\t]*[A-Za-z_][A-Za-z_0-9_]*[+-]?=(.*$)'>)} { (DQ ('^[ ') (Lit_Other '\\') ('t]*[A-Za-z_][A-Za-z_0-9_]*') (Lit_Other '\\') ('[[0-9]+') (Lit_Other '\\') ('][+-]?=(.*') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (')') ) } ] ) } spids: [289] ) ] spids: [289] ) (FuncDef name: _Dbg_eval_extract_condition body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:orig) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [347] ) ] spids: [347] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: {($ VSub_Name '$orig')} right: { (BracedVarSub token: <VSub_Name _Dbg_eval_re> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [361 366] ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:extracted) op: Equal rhs: { (BracedVarSub token: <VSub_Name BASH_REMATCH> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)})) spids: [376 381] ) } spids: [375] ) ] spids: [375] ) ] spids: [16777215 372] ) (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: {($ VSub_Name '$orig')} right: { (BracedVarSub token: <VSub_Name _Dbg_eval_re> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)})) spids: [392 397] ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:extracted) op: Equal rhs: { (DQ ('echo ') (BracedVarSub token: <VSub_Name BASH_REMATCH> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)})) spids: [409 414] ) ) } spids: [406] ) ] spids: [406] ) ] spids: [384 403] ) (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: {($ VSub_Name '$orig')} right: { (BracedVarSub token: <VSub_Name _Dbg_eval_re> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)})) spids: [426 431] ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:extracted) op: Equal rhs: { (BracedVarSub token: <VSub_Name BASH_REMATCH> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)})) spids: [441 446] ) } spids: [440] ) ] spids: [440] ) ] spids: [418 437] ) (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: {($ VSub_Name '$orig')} right: { (BracedVarSub token: <VSub_Name _Dbg_eval_re> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 3)})) spids: [457 462] ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:extracted) op: Equal rhs: { (DQ ('echo ') (BracedVarSub token: <VSub_Name BASH_REMATCH> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)})) spids: [474 479] ) ) } spids: [471] ) ] spids: [471] ) ] spids: [449 468] ) (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: {($ VSub_Name '$orig')} right: { (BracedVarSub token: <VSub_Name _Dbg_eval_re> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 4)})) spids: [491 496] ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:extracted) op: Equal rhs: { (DQ ('echo ') (BracedVarSub token: <VSub_Name BASH_REMATCH> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)})) spids: [508 513] ) ) } spids: [505] ) ] spids: [505] ) ] spids: [483 502] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:extracted) op: Equal rhs: {($ VSub_Name '$orig')} spids: [520] ) ] spids: [520] ) ] spids: [517 524] ) ] spids: [344] ) spids: [340 343] ) (FuncDef name: _Dbg_onoff body: (BraceGroup children: [ (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:onoff) op:Equal rhs:{(SQ <off.>)} spids:[544])] spids: [542] ) (AndOr ops: [Op_DAmp] children: [ (DParen child: (ArithBinary op_id: Arith_NEqual left: (ArithWord w:{($ VSub_Number '$1')}) right: (ArithWord w:{(Lit_Digits 0)}) ) spids: [550 559] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:onoff) op: Equal rhs: {(SQ <on.>)} spids: [563] ) ] spids: [563] ) ] ) (C {(builtin)} {(echo)} {($ VSub_Name '$onoff')}) ] spids: [539] ) spids: [535 538] ) (FuncDef name: _Dbg_set_dol_q body: (BraceGroup children: [ (ControlFlow token: <ControlFlow_Return return> arg_word: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name '$_Dbg_debugged_exit_code')} ) spids: [590 594] ) } ) ] spids: [585] ) spids: [581 584] ) (FuncDef name: _Dbg_split body: (BraceGroup children: [ (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:old_IFS) op: Equal rhs: {($ VSub_Name '$IFS')} spids: [627] ) ] spids: [625] ) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:new_ifs) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ <' '>)}) spids: [634 640] ) } spids: [633] ) ] spids: [631] ) (C {(shift)}) (Assignment keyword: Assign_Typeset flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:text) op: Equal rhs: {(DQ ($ VSub_Star '$*'))} spids: [650] ) ] spids: [646] ) (Assignment keyword: Assign_Typeset flags: [-a] pairs: [(assign_pair lhs:(LhsName name:array) op:Equal spids:[660])] spids: [656] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(DQ ($ VSub_Name '$new_ifs'))} spids: [663] ) ] spids: [663] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:array) op: Equal rhs: {(ArrayLiteralPart words:[{($ VSub_Name '$text')}])} spids: [669] ) ] spids: [669] ) (C {(echo)} { (BracedVarSub token: <VSub_Name array> bracket_op: (WholeArray op_id:Lit_At) spids: [679 684] ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {($ VSub_Name '$old_IFS')} spids: [687] ) ] spids: [687] ) ] spids: [622] ) spids: [618 621] ) (FuncDef name: _Dbg_get_functions body: (BraceGroup children: [ (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:include_system) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(0)}) spids: [717 721] ) } spids: [716] ) ] spids: [712] ) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:pat) op: Equal rhs: { (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{('.*')}) spids: [727 731] ) } spids: [726] ) ] spids: [724] ) (Assignment keyword: Assign_Typeset flags: [-a] pairs: [(assign_pair lhs:(LhsName name:fns_a) op:Equal spids:[738])] spids: [734] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fns_a) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [(C {(Assign_Declare declare)} {(-F)})] ) left_token: <Left_CommandSub '$('> spids: [744 748] ) } ] ) } spids: [741] ) ] spids: [741] ) (Assignment keyword: Assign_Typeset flags: [-a] pairs: [ (assign_pair lhs: (LhsName name:ret_fns) op: Equal rhs: {(ArrayLiteralPart)} spids: [757] ) ] spids: [753] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[766])] spids: [762] ) (Sentence child: (Assignment keyword: Assign_Typeset flags: [-i] pairs: [(assign_pair lhs:(LhsName name:invert) op:Equal rhs:{(0)} spids:[773])] spids: [769] ) terminator: <Op_Semi ';'> ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name '$pat')} right: {(KW_Bang '!') (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pat) op: Equal rhs: {(Lit_Pound '#') (Lit_LBrace '{') ($ VSub_Name '$pat') (Lit_Pound '#') (KW_Bang '!') (Lit_RBrace '}') } spids: [801] ) ] spids: [801] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:invert) op:Equal rhs:{(1)} spids:[810])] spids: [810] ) ] spids: [16777215 794] ) ] spids: [16777215 814] ) (ForExpr init: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithWord w:{(Lit_Digits 2)}) ) cond: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:i) right: (ArithWord w: { (BracedVarSub token: <VSub_Name fns_a> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [838 844] ) } ) ) update: (BinaryAssign op_id: Arith_PlusEqual left: (LhsName name:i) right: (ArithWord w:{(Lit_Digits 3)}) ) body: (DoGroup children: [ (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:fn) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name fns_a> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')})) spids: [869 874] ) ) } spids: [867] ) ] spids: [865] ) (AndOr ops: [Op_DAmp Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name '$fn')} right: {(_) (Lit_Other '*')} ) ) (DParen child: (ArithUnary op_id:Arith_Bang child:(ArithVarRef name:include_system)) spids: [891 898] ) (ControlFlow token:<ControlFlow_Continue continue>) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: {($ VSub_Name '$fn')} right: {($ VSub_Name '$pat')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name '$invert')} right: {(0)} ) ) (C {(ret_fns) (Lit_Other '[') (BracedVarSub token: <VSub_Name ret_fns> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [936 942] ) (Lit_Other ']') (Lit_Other '=') ($ VSub_Name '$fn') } ) ] ) ] spids: [16777215 919] ) ] else_action: [ (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {($ VSub_Name '$invert')} right: {(0)} ) ) (C {(ret_fns) (Lit_Other '[') (BracedVarSub token: <VSub_Name ret_fns> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [965 971] ) (Lit_Other ']') (Lit_Other '=') ($ VSub_Name '$fn') } ) ] ) ] spids: [948 977] ) ] spids: [862 981] ) ) (C {(echo)} { (BracedVarSub token: <VSub_Name ret_fns> bracket_op: (WholeArray op_id:Lit_At) spids: [986 991] ) } ) ] spids: [709] ) spids: [705 708] ) (FuncDef name: _Dbg_is_function body: (BraceGroup children: [ (AndOr ops: [Op_DAmp] children: [ (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{(Lit_Digits 0)}) right: (ArithWord w:{($ VSub_Pound '$#')}) ) spids: [1012 1021] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] ) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:needed_fn) op: Equal rhs: {($ VSub_Number '$1')} spids: [1032] ) ] spids: [1030] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:include_system) op: Equal rhs: { (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(0)}) spids: [1041 1045] ) } spids: [1040] ) ] spids: [1036] ) (AndOr ops: [Op_DAmp Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (BracedVarSub token: <VSub_Name needed_fn> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 0)}) length: (ArithWord w:{(Lit_Digits 1)}) ) spids: [1050 1056] ) } right: {(SQ <_>)} ) ) (DParen child: (ArithUnary op_id:Arith_Bang child:(ArithVarRef name:include_system)) spids: [1068 1072] ) (BraceGroup children: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})] spids: [1076] ) ] ) (SimpleCommand words: [{(Assign_Declare declare)} {(-F)} {($ VSub_Name '$needed_fn')}] redirects: [ (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)}) (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)}) ] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{($ VSub_QMark '$?')}) ] spids: [1009] ) spids: [1005 1008] ) (FuncDef name: _Dbg_is_traced body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Hyphen '$-')} right: {(Lit_Other '*') (x) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})] spids: [16777215 1137] ) ] else_action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})] spids: [1145 1153] ) ] spids: [1114] ) spids: [1110 1113] ) (FuncDef name: _Dbg_linespec_setup body: (BraceGroup children: [ (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:linespec) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [1181 1186] ) } spids: [1180] ) ] spids: [1178] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{($ VSub_Name '$linespec')}) ) terminator: <Op_Semi ';'> ) ] action: [(C {(_Dbg_errmsg)} {(DQ ('Invalid line specification, null given'))})] spids: [16777215 1201] ) ] spids: [16777215 1211] ) (Assignment keyword: Assign_Typeset flags: [-a] pairs: [(assign_pair lhs:(LhsName name:word) op:Equal spids:[1218])] spids: [1214] ) (C {(eval)} { (DQ ('word=(') (CommandSubPart command_list: (CommandList children: [(C {(_Dbg_parse_linespec)} {($ VSub_Name '$linespec')})] ) left_token: <Left_CommandSub '$('> spids: [1225 1229] ) (')') ) } ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (BracedVarSub token: <VSub_Name word> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [1238 1244] ) } right: {(0)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_errmsg)} {(DQ ('Invalid line specification: ') ($ VSub_Name '$linespec'))}) (ControlFlow token:<ControlFlow_Return return>) ] spids: [16777215 1254] ) ] spids: [16777215 1268] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filename) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name word> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)})) spids: [1274 1279] ) ) } spids: [1272] ) ] spids: [1272] ) (Assignment keyword: Assign_Typeset flags: [-ri] pairs: [ (assign_pair lhs: (LhsName name:is_function) op: Equal rhs: { (BracedVarSub token: <VSub_Name word> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)})) spids: [1288 1293] ) } spids: [1287] ) ] spids: [1283] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:line_number) op: Equal rhs: { (BracedVarSub token: <VSub_Name word> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [1297 1302] ) } spids: [1296] ) ] spids: [1296] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:full_filename) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(_Dbg_is_file)} {(DQ ($ VSub_Name '$filename'))})] ) left_token: <Left_CommandSub '$('> spids: [1306 1312] ) } spids: [1305] ) ] spids: [1305] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child:(ArithVarRef name:is_function) spids:[1318 1323]) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_z child: {($ VSub_Name '$full_filename')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_readin)} {(DQ ($ VSub_Name '$filename'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:full_filename) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(_Dbg_is_file)} {(DQ ($ VSub_Name '$filename'))}) ] ) left_token: <Left_CommandSub '$('> spids: [1353 1359] ) } spids: [1352] ) ] spids: [1352] ) ] spids: [16777215 1342] ) ] spids: [16777215 1362] ) ] spids: [16777215 1327] ) ] spids: [16777215 1365] ) ] spids: [1175] ) spids: [1171 1174] ) (FuncDef name: _Dbg_parse_linespec body: (BraceGroup children: [ (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:linespec) op: Equal rhs: {($ VSub_Number '$1')} spids: [1397] ) ] spids: [1395] ) (C {(eval)} {(DQ ($ VSub_Name '$_seteglob'))}) (Case to_match: {(DQ ($ VSub_Name '$linespec'))} arms: [ (case_arm pat_list: [{($ VSub_Name '$int_pat')}] action: [ (C {(echo)} { (DQ ($ VSub_Name '$linespec') (' 0 ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$_Dbg_frame_last_filename') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } ) ] spids: [1422 1424 1438 16777215] ) (case_arm pat_list: [ {(Lit_Other '[') (Lit_Other '^') (Lit_Other ':') (Lit_Other ']') (Lit_Other '[') (Lit_Other '^') (Lit_Other ':') (Lit_Other ']') (Lit_Other '*') (Lit_Other '[') (Lit_Other ':') (Lit_Other ']') ($ VSub_Name '$int_pat') } ] action: [ (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:line_word) op: Equal rhs: { (BracedVarSub token: <VSub_Name linespec> suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*:')}) spids: [1470 1474] ) } spids: [1469] ) ] spids: [1467] ) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:file_word) op: Equal rhs: { (BracedVarSub token: <VSub_Name linespec> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(${ VSub_Name line_word)} ) spids: [1480 1486] ) } spids: [1479] ) ] spids: [1477] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:file_word) op: Equal rhs: { (BracedVarSub token: <VSub_Name file_word> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{('?')}) spids: [1490 1494] ) } spids: [1489] ) ] spids: [1489] ) (C {(echo)} { (DQ ($ VSub_Name '$line_word') (' 0 ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$file_word') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } ) ] spids: [1446 1460 1508 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(_Dbg_is_function)} {($ VSub_Name '$linespec')} {($ VSub_Name '$_Dbg_set_debug')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local flags: [-a] pairs: [ (assign_pair lhs: (LhsName name:word) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(Assign_Declare declare)} {(-F)} {($ VSub_Name '$linespec')} ) ] ) left_token: <Left_CommandSub '$('> spids: [1541 1547] ) } ] ) } spids: [1538] ) ] spids: [1534] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalAnd left: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(0)} right: {($ VSub_QMark '$?')} ) right: (BoolBinary op_id: Redir_Great left: { (BracedVarSub token: <VSub_Name word> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [1564 1570] ) } right: {(2)} ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(builtin)} {(echo)} { (DQ (BracedVarSub token: <VSub_Name word> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)})) spids: [1587 1592] ) (' 1 ') (BracedVarSub token: <VSub_Name word> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)})) spids: [1594 1599] ) ) } ) ] spids: [16777215 1579] ) ] else_action: [(C {(builtin)} {(echo)} {(SQ )})] spids: [1603 1614] ) ] spids: [16777215 1531] ) ] else_action: [(C {(builtin)} {(echo)} {(SQ )})] spids: [1617 1628] ) ] spids: [1516 1518 1631 16777215] ) ] spids: [1408 1414 1634] ) ] spids: [1392] ) spids: [1388 1391] ) (FuncDef name: _Dbg_set_ftrace body: (BraceGroup children: [ (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs:(LhsName name:opt) op:Equal rhs:{(-t)} spids:[1660]) (assign_pair lhs: (LhsName name:tmsg) op: Equal rhs: {(DQ (enabled))} spids: [1663] ) (assign_pair lhs:(LhsName name:func) op:Equal spids:[1668]) ] spids: [1658] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Number '$1')} right: {(BoolUnary_u -u)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:opt) op: Equal rhs: {(Lit_Other '+') (t)} spids: [1687] ) ] spids: [1687] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tmsg) op: Equal rhs: {(DQ (disabled))} spids: [1692] ) ] spids: [1692] ) (C {(shift)}) ] spids: [16777215 1684] ) ] spids: [16777215 1701] ) (ForEach iter_name: func do_arg_iter: T body: (DoGroup children: [ (C {(Assign_Declare declare)} {(-f)} {($ VSub_Name '$opt')} {($ VSub_Name '$func')}) ] spids: [1709 1725] ) spids: [16777215 16777215] ) ] spids: [1655] ) spids: [1651 1654] ) ] )