(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)}) ) ) (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)}) ) ) (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 '$#')}) ) ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] ) (Sentence child: (C {(Assign_Typeset typeset)} {(-p)} {(DQ ($ VSub_Number '$1'))}) terminator: <Op_Amp '&'> ) (SimpleCommand redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[240])] ) ] 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: [257] ) spids: [253 256] ) (Sentence child: (Assignment keyword: Assign_Typeset flags: [-a] pairs: [(assign_pair lhs:(LhsName name:_Dbg_eval_re) op:Equal spids:[287])] spids: [283] ) 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: [290] ) ] spids: [290] ) (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: [348] ) ] spids: [348] ) (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: [362 367] ) } ) ) 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: [377 382] ) } spids: [376] ) ] spids: [376] ) ] spids: [16777215 373] ) (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: [393 398] ) } ) ) 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: [410 415] ) ) } spids: [407] ) ] spids: [407] ) ] spids: [385 404] ) (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: [427 432] ) } ) ) 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: [442 447] ) } spids: [441] ) ] spids: [441] ) ] spids: [419 438] ) (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: [458 463] ) } ) ) 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: [475 480] ) ) } spids: [472] ) ] spids: [472] ) ] spids: [450 469] ) (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: [492 497] ) } ) ) 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: [509 514] ) ) } spids: [506] ) ] spids: [506] ) ] spids: [484 503] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:extracted) op: Equal rhs: {($ VSub_Name '$orig')} spids: [521] ) ] spids: [521] ) ] spids: [518 525] ) ] spids: [345] ) spids: [341 344] ) (FuncDef name: _Dbg_onoff body: (BraceGroup children: [ (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:onoff) op:Equal rhs:{(SQ <off.>)} spids:[545])] spids: [543] ) (AndOr ops: [Op_DAmp] children: [ (DParen child: (ArithBinary op_id: Arith_NEqual left: (ArithWord w:{($ VSub_Number '$1')}) right: (ArithWord w:{(Lit_Digits 0)}) ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:onoff) op: Equal rhs: {(SQ <on.>)} spids: [564] ) ] spids: [564] ) ] ) (C {(builtin)} {(echo)} {($ VSub_Name '$onoff')}) ] spids: [540] ) spids: [536 539] ) (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: [591 595] ) } ) ] spids: [586] ) spids: [582 585] ) (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: [628] ) ] spids: [626] ) (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: [635 641] ) } spids: [634] ) ] spids: [632] ) (C {(shift)}) (Assignment keyword: Assign_Typeset flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:text) op: Equal rhs: {(DQ ($ VSub_Star '$*'))} spids: [651] ) ] spids: [647] ) (Assignment keyword: Assign_Typeset flags: [-a] pairs: [(assign_pair lhs:(LhsName name:array) op:Equal spids:[661])] spids: [657] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(DQ ($ VSub_Name '$new_ifs'))} spids: [664] ) ] spids: [664] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:array) op: Equal rhs: {(ArrayLiteralPart words:[{($ VSub_Name '$text')}])} spids: [670] ) ] spids: [670] ) (C {(echo)} { (BracedVarSub token: <VSub_Name array> bracket_op: (WholeArray op_id:Lit_At) spids: [680 685] ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {($ VSub_Name '$old_IFS')} spids: [688] ) ] spids: [688] ) ] spids: [623] ) spids: [619 622] ) (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: [718 722] ) } spids: [717] ) ] spids: [713] ) (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: [728 732] ) } spids: [727] ) ] spids: [725] ) (Assignment keyword: Assign_Typeset flags: [-a] pairs: [(assign_pair lhs:(LhsName name:fns_a) op:Equal spids:[739])] spids: [735] ) (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: [745 749] ) } ] ) } spids: [742] ) ] spids: [742] ) (Assignment keyword: Assign_Typeset flags: [-a] pairs: [ (assign_pair lhs: (LhsName name:ret_fns) op: Equal rhs: {(ArrayLiteralPart)} spids: [758] ) ] spids: [754] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[767])] spids: [763] ) (Sentence child: (Assignment keyword: Assign_Typeset flags: [-i] pairs: [(assign_pair lhs:(LhsName name:invert) op:Equal rhs:{(0)} spids:[774])] spids: [770] ) 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: [802] ) ] spids: [802] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:invert) op:Equal rhs:{(1)} spids:[811])] spids: [811] ) ] spids: [16777215 795] ) ] spids: [16777215 815] ) (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: [839 845] ) } ) ) 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: [870 875] ) ) } spids: [868] ) ] spids: [866] ) (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)) ) (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: [937 943] ) (Lit_Other ']') (Lit_Other '=') ($ VSub_Name '$fn') } ) ] ) ] spids: [16777215 920] ) ] 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: [966 972] ) (Lit_Other ']') (Lit_Other '=') ($ VSub_Name '$fn') } ) ] ) ] spids: [949 978] ) ] spids: [863 982] ) ) (C {(echo)} { (BracedVarSub token: <VSub_Name ret_fns> bracket_op: (WholeArray op_id:Lit_At) spids: [987 992] ) } ) ] spids: [710] ) spids: [706 709] ) (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 '$#')}) ) ) (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: [1033] ) ] spids: [1031] ) (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: [1042 1046] ) } spids: [1041] ) ] spids: [1037] ) (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: [1051 1057] ) } right: {(SQ <_>)} ) ) (DParen child: (ArithUnary op_id:Arith_Bang child:(ArithVarRef name:include_system)) ) (BraceGroup children: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})] spids: [1077] ) ] ) (SimpleCommand words: [{(Assign_Declare declare)} {(-F)} {($ VSub_Name '$needed_fn')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [1094] ) (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[1097]) ] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{($ VSub_QMark '$?')}) ] spids: [1010] ) spids: [1006 1009] ) (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 1138] ) ] else_action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})] spids: [1146 1154] ) ] spids: [1115] ) spids: [1111 1114] ) (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: [1182 1187] ) } spids: [1181] ) ] spids: [1179] ) (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 1202] ) ] spids: [16777215 1212] ) (Assignment keyword: Assign_Typeset flags: [-a] pairs: [(assign_pair lhs:(LhsName name:word) op:Equal spids:[1219])] spids: [1215] ) (C {(eval)} { (DQ ('word=(') (CommandSubPart command_list: (CommandList children: [(C {(_Dbg_parse_linespec)} {($ VSub_Name '$linespec')})] ) left_token: <Left_CommandSub '$('> spids: [1226 1230] ) (')') ) } ) (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: [1239 1245] ) } right: {(0)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_errmsg)} {(DQ ('Invalid line specification: ') ($ VSub_Name '$linespec'))}) (ControlFlow token:<ControlFlow_Return return>) ] spids: [16777215 1255] ) ] spids: [16777215 1269] ) (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: [1275 1280] ) ) } spids: [1273] ) ] spids: [1273] ) (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: [1289 1294] ) } spids: [1288] ) ] spids: [1284] ) (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: [1298 1303] ) } spids: [1297] ) ] spids: [1297] ) (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: [1307 1313] ) } spids: [1306] ) ] spids: [1306] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child:(ArithVarRef name:is_function)) 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: [1354 1360] ) } spids: [1353] ) ] spids: [1353] ) ] spids: [16777215 1343] ) ] spids: [16777215 1363] ) ] spids: [16777215 1328] ) ] spids: [16777215 1366] ) ] spids: [1176] ) spids: [1172 1175] ) (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: [1398] ) ] spids: [1396] ) (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: [1423 1425 1439 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: [1471 1475] ) } spids: [1470] ) ] spids: [1468] ) (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: [1481 1487] ) } spids: [1480] ) ] spids: [1478] ) (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: [1491 1495] ) } spids: [1490] ) ] spids: [1490] ) (C {(echo)} { (DQ ($ VSub_Name '$line_word') (' 0 ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$file_word') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } ) ] spids: [1447 1461 1509 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: [1542 1548] ) } ] ) } spids: [1539] ) ] spids: [1535] ) (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: [1565 1571] ) } 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: [1588 1593] ) (' 1 ') (BracedVarSub token: <VSub_Name word> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)})) spids: [1595 1600] ) ) } ) ] spids: [16777215 1580] ) ] else_action: [(C {(builtin)} {(echo)} {(SQ )})] spids: [1604 1615] ) ] spids: [16777215 1532] ) ] else_action: [(C {(builtin)} {(echo)} {(SQ )})] spids: [1618 1629] ) ] spids: [1517 1519 1632 16777215] ) ] spids: [1409 1415 1635] ) ] spids: [1393] ) spids: [1389 1392] ) (FuncDef name: _Dbg_set_ftrace body: (BraceGroup children: [ (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs:(LhsName name:opt) op:Equal rhs:{(-t)} spids:[1661]) (assign_pair lhs: (LhsName name:tmsg) op: Equal rhs: {(DQ (enabled))} spids: [1664] ) (assign_pair lhs:(LhsName name:func) op:Equal spids:[1669]) ] spids: [1659] ) (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: [1688] ) ] spids: [1688] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tmsg) op: Equal rhs: {(DQ (disabled))} spids: [1693] ) ] spids: [1693] ) (C {(shift)}) ] spids: [16777215 1685] ) ] spids: [16777215 1702] ) (ForEach iter_name: func do_arg_iter: T body: (DoGroup children: [ (C {(Assign_Declare declare)} {(-f)} {($ VSub_Name '$opt')} {($ VSub_Name '$func')}) ] spids: [1710 1726] ) spids: [16777215 16777215] ) ] spids: [1656] ) spids: [1652 1655] ) ] )