(CommandList children: [ (FuncDef name: _adb_command_usage body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} { (SQ < '$( "$1" help 2>&1 | command grep "^ *\\(adb \\)\\? *$2 " \\\n' > <' | sed -e "s/[]|[]/\\n/g" | _parse_help - )'> ) } {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [14 33] ) } ] ) } spids: [11] ) ] spids: [11] ) ] spids: [8] ) spids: [4 7] ) (AndOr ops: [Op_DAmp] children: [ (FuncDef name: _adb body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:cur) op:Equal spids:[49]) (assign_pair lhs:(LhsName name:prev) op:Equal spids:[51]) (assign_pair lhs:(LhsName name:words) op:Equal spids:[53]) (assign_pair lhs:(LhsName name:cword) op:Equal spids:[55]) ] spids: [47] ) (AndOr ops: [Op_DPipe] children: [(C {(_init_completion)}) (ControlFlow token:<ControlFlow_Return return>)] ) (Case to_match: {($ VSub_Name '$prev')} arms: [ (case_arm pat_list: [{(-s)} {(-p)} {(--algo)} {(--key)} {(--iv)}] action: [(ControlFlow token:<ControlFlow_Return return>)] spids: [73 82 88 16777215] ) (case_arm pat_list: [{(-f)}] action: [(C {(_filedir)}) (ControlFlow token:<ControlFlow_Return return>)] spids: [91 92 101 16777215] ) ] spids: [66 70 104] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:cmd) op:Equal spids:[110]) (assign_pair lhs:(LhsName name:i) op:Equal spids:[112]) ] spids: [108] ) (ForExpr init: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) cond: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:i) right: (ArithVarRef name:cword) ) update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i)) body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalAnd left: (BoolBinary op_id: BoolBinary_GlobNEqual left: { (DQ (BracedVarSub token: <VSub_Name words> bracket_op: (ArrayIndex expr: (ArithVarRef name:i) ) spids: [146 151] ) ) } right: {(-) (Lit_Other '*')} ) right: (BoolBinary op_id: BoolBinary_GlobNEqual left: { (DQ (BracedVarSub token: <VSub_Name words> bracket_op: (ArrayIndex expr: (ArithBinary op_id: Arith_Minus left: (ArithVarRef name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) ) spids: [162 169] ) ) } right: {(-) (Lit_Other '[') (sp) (Lit_Other ']')} ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cmd) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name words> bracket_op: (ArrayIndex expr:(ArithVarRef name:i)) spids: [187 192] ) ) } spids: [185] ) ] spids: [185] ) (ControlFlow token: <ControlFlow_Break break> ) ] spids: [16777215 182] ) ] spids: [16777215 199] ) ] spids: [138 202] ) ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalNot child:(WordTest w:{(DQ ($ VSub_Name '$cmd'))})) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:tmp) op: Equal rhs: {(ArrayLiteralPart)} spids: [225] ) ] spids: [223] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalOr left: (LogicalNot child:(WordTest w:{($ VSub_Name '$cur')})) right: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name '$cur')} right: {(-) (Lit_Other '*')} ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tmp) op: PlusEqual rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'$( _parse_help "$1" help )'>)} {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [256 272] ) } ] ) } spids: [253] ) ] spids: [253] ) ] spids: [16777215 250] ) ] spids: [16777215 277] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalOr left: (LogicalNot child:(WordTest w:{($ VSub_Name '$cur')})) right: (BoolBinary op_id: BoolBinary_GlobNEqual left: {($ VSub_Name '$cur')} right: {(-) (Lit_Other '*')} ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tmp) op: PlusEqual rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (SimpleCommand words: [{($ VSub_Number '$1')} {(help)}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [312] ) ] ) (C {(awk)} {(SQ <'$1 == "adb" { print $2 }'>)} ) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [306 323] ) } ] ) } spids: [303] ) ] spids: [303] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tmp) op: PlusEqual rhs: { (ArrayLiteralPart words: [{(devices)} {(connect)} {(disconnect)} {(sideload)}] ) } spids: [328] ) ] spids: [328] ) ] spids: [16777215 300] ) ] spids: [16777215 342] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'${tmp[@]}'>)} {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [348 364] ) } ] ) } spids: [345] ) ] spids: [345] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [16777215 220] ) ] spids: [16777215 372] ) (C {(_adb_command_usage)} {(DQ ($ VSub_Number '$1'))} {($ VSub_Name '$cmd')}) (Case to_match: {($ VSub_Name '$cmd')} arms: [ (case_arm pat_list: [{(push)} {(restore)} {(sideload)}] action: [(C {(_filedir)})] spids: [398 403 409 16777215] ) (case_arm pat_list: [{(forward)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} { (SQ < '$( "$1" help 2>&1 | sed -ne "s/^ *adb *forward *-/-/p" | \\\n' > <' _parse_help - )'> ) } {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [419 438] ) } ] ) } spids: [416] ) ] spids: [416] ) ] spids: [412 413 443 16777215] ) (case_arm pat_list: [{(reboot)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'bootloader recovery'>)} {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [453 469] ) } ] ) } spids: [450] ) ] spids: [450] ) ] spids: [446 447 474 16777215] ) ] spids: [391 395 477] ) ] spids: [44] ) spids: [40 43] ) (C {(complete)} {(-F)} {(_adb)} {(adb)}) ] ) ] )