(command.CommandList children: [ (command.FuncDef name: _java_path body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cur spids:[14]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name cur> suffix_op: (suffix_op.StringUnary op_id:VOp1_DPound arg_word:{('*:')}) spids: [15 19] ) } spids: [14] ) ] spids: [14] ) (C {(_filedir)} {(SQ <'@(jar|zip)'>)}) ] spids: [11] ) spids: [7 10] ) (command.FuncDef name: _java_find_classpath body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(lhs_expr.LhsName name:i spids:[43]) op:Equal spids:[43])] spids: [41] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Arith_Equal left: (lhs_expr.LhsName name:i spids:[55]) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) cond: (arith_expr.ArithBinary op_id: Arith_Less left: (arith_expr.ArithVarRef token:<Lit_ArithVarLike i>) right: (arith_expr.ArithVarRef token:<Lit_ArithVarLike cword>) ) update: (arith_expr.UnaryAssign op_id: Node_PostDPlus child: (lhs_expr.LhsName name:i spids:[67]) ) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: { (DQ (word_part.BracedVarSub token: <VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithVarRef token: <Lit_ArithVarLike i> ) ) spids: [82 87] ) ) } right: {(-) (word_part.ExtGlobPart op: <ExtGlob_At '@('> arms: [{(cp)} {(classpath)}] spids: [93 97] ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:classpath spids:[105]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithBinary op_id: Arith_Plus left: (arith_expr.ArithVarRef token: <Lit_ArithVarLike i> ) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) ) spids: [106 113] ) } spids: [105] ) ] spids: [105] ) (command.ControlFlow token: <ControlFlow_Break break> ) ] spids: [16777215 102] ) ] spids: [16777215 119] ) ] spids: [74 122] ) ) (command.AndOr ops: [Op_DAmp] children: [ (command.DBracket expr: (bool_expr.BoolUnary op_id: BoolUnary_z child: {($ VSub_DollarName '$classpath')} ) ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:classpath spids:[140]) op: Equal rhs: {($ VSub_DollarName '$CLASSPATH')} spids: [140] ) ] spids: [140] ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (command.DBracket expr: (bool_expr.BoolUnary op_id: BoolUnary_z child: {($ VSub_DollarName '$classpath')} ) ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:classpath spids:[159]) op: Equal rhs: {(.)} spids: [159] ) ] spids: [159] ) ] ) ] spids: [38] ) spids: [34 37] ) (command.FuncDef name: _java_find_sourcepath body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(lhs_expr.LhsName name:i spids:[177]) op:Equal spids:[177])] spids: [175] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Arith_Equal left: (lhs_expr.LhsName name:i spids:[189]) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) cond: (arith_expr.ArithBinary op_id: Arith_Less left: (arith_expr.ArithVarRef token:<Lit_ArithVarLike i>) right: (arith_expr.ArithVarRef token:<Lit_ArithVarLike cword>) ) update: (arith_expr.UnaryAssign op_id: Node_PostDPlus child: (lhs_expr.LhsName name:i spids:[201]) ) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: { (DQ (word_part.BracedVarSub token: <VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithVarRef token: <Lit_ArithVarLike i> ) ) spids: [216 221] ) ) } right: {(-sourcepath)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:sourcepath spids:[234]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithBinary op_id: Arith_Plus left: (arith_expr.ArithVarRef token: <Lit_ArithVarLike i> ) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) ) spids: [235 242] ) } spids: [234] ) ] spids: [234] ) (command.ControlFlow token: <ControlFlow_Break break> ) ] spids: [16777215 231] ) ] spids: [16777215 248] ) ] spids: [208 251] ) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolUnary op_id: BoolUnary_z child: {($ VSub_DollarName '$sourcepath')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:classpath spids:[275]) op: Equal spids: [275] ) ] spids: [273] ) (C {(_java_find_classpath)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:sourcepath spids:[281]) op: Equal rhs: {($ VSub_DollarName '$classpath')} spids: [281] ) ] spids: [281] ) ] spids: [16777215 270] ) ] spids: [16777215 285] ) ] spids: [172] ) spids: [168 171] ) (command.FuncDef name: _java_classes body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:classpath spids:[302]) op: Equal spids: [302] ) (assign_pair lhs: (lhs_expr.LhsName name:i spids:[304]) op: Equal spids: [304] ) ] spids: [300] ) (C {(_java_find_classpath)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cur spids:[320]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name cur> suffix_op: (suffix_op.PatSub pat: {(.)} replace: {(Lit_Slash /)} replace_mode: Lit_Slash spids: [323] ) spids: [321 328] ) } spids: [320] ) ] spids: [320] ) (command.ForEach iter_name: i iter_words: [ { (word_part.BracedVarSub token: <VSub_Name classpath> suffix_op: (suffix_op.PatSub pat: {(':')} replace: {(' ')} replace_mode: Lit_Slash spids: [343] ) spids: [341 348] ) } ] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.LogicalAnd left: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_DollarName '$i'))} right: {(Lit_Other '*') (.) (word_part.ExtGlobPart op: <ExtGlob_At '@('> arms: [{(jar)} {(zip)}] spids: [366 370] ) } ) right: (bool_expr.BoolUnary op_id: BoolUnary_r child: {($ VSub_DollarName '$i')} ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.SimpleCommand words: [{(type)} {(zipinfo)}] redirects: [ (redir.Redir op: <Redir_AndGreat '&>'> fd: 16777215 arg_word: {(/dev/null)} ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[397]) op: PlusEqual rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.SimpleCommand words: [ {(zipinfo)} {(-1)} {(DQ ($ VSub_DollarName '$i'))} { (DQ ($ VSub_DollarName '$cur') ('*') ) } ] redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) (C {(command)} {(grep)} {(SQ <'^[^$]*\\.class$'>)} ) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [400 430] ) } ] ) } spids: [397] ) ] spids: [397] ) ] spids: [16777215 394] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[438]) op: PlusEqual rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(jar)} {(tf)} {(DQ ($ VSub_DollarName '$i'))} {(DQ ($ VSub_DollarName '$cur'))} ) (C {(command)} {(grep)} {(SQ <'^[^$]*\\.class$'>)} ) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [441 467] ) } ] ) } spids: [438] ) ] spids: [438] ) ] spids: [435 472] ) ] spids: [16777215 381] ) (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolUnary op_id: BoolUnary_d child: {($ VSub_DollarName '$i')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[490]) op: PlusEqual rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(compgen)} {(-d)} {(--)} { (DQ ($ VSub_DollarName '$i') (/) ($ VSub_DollarName '$cur') ) } ) (C {(sed)} {(-e)} { (DQ ('s|^') ($ VSub_DollarName '$i') (/) (Lit_Other '\\') ('(.*') (Lit_Other '\\') (')|') (Lit_Other '\\') ('1.|') ) } ) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [494 526] ) } { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(compgen)} {(-f)} {(-X)} {(SQ <'!*.class'>)} {(--)} {(DQ ($ VSub_DollarName '$i') (/) ($ VSub_DollarName '$cur'))} ) (C {(sed)} {(-e)} {(SQ <'/\\$/d'>)} {(-e)} { (DQ ('s|^') ($ VSub_DollarName '$i') ('/||') ) } ) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [529 569] ) } ] ) } spids: [490] ) ] spids: [490] ) (command.AndOr ops: [Op_DPipe] children: [ (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_DollarName '$COMPREPLY')} right: {(Lit_Other '*') (.class)} ) ) (C {(compopt)} {(-o)} {(nospace)}) ] ) ] spids: [476 487] ) ] spids: [16777215 608] ) ] spids: [351 611] ) spids: [340 349] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[619]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.BracedVarSub token: <VSub_Name COMPREPLY> bracket_op: (bracket_op.WholeArray op_id:Lit_At) suffix_op: (suffix_op.StringUnary op_id:VOp1_Percent arg_word:{(.class)}) spids: [622 629] ) } ] ) } spids: [619] ) ] spids: [619] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[638]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.BracedVarSub token: <VSub_Name COMPREPLY> bracket_op: (bracket_op.WholeArray op_id:Lit_At) suffix_op: (suffix_op.PatSub pat: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\/'>)} replace: {(.)} replace_mode: Lit_Slash spids: [646] ) spids: [641 651] ) } ] ) } spids: [638] ) ] spids: [638] ) ] spids: [297] ) spids: [293 296] ) (command.FuncDef name: _java_packages body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:sourcepath spids:[670]) op: Equal spids: [670] ) (assign_pair lhs: (lhs_expr.LhsName name:i spids:[672]) op: Equal spids: [672] ) ] spids: [668] ) (C {(_java_find_sourcepath)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cur spids:[688]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name cur> suffix_op: (suffix_op.PatSub pat: {(.)} replace: {(Lit_Slash /)} replace_mode: Lit_Slash spids: [691] ) spids: [689 696] ) } spids: [688] ) ] spids: [688] ) (command.ForEach iter_name: i iter_words: [ { (word_part.BracedVarSub token: <VSub_Name sourcepath> suffix_op: (suffix_op.PatSub pat: {(':')} replace: {(' ')} replace_mode: Lit_Slash spids: [711] ) spids: [709 716] ) } ] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolUnary op_id: BoolUnary_d child: {($ VSub_DollarName '$i')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[736]) op: PlusEqual rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.SimpleCommand words: [ {(command)} {(ls)} {(-F)} {(-d)} {($ VSub_DollarName '$i') (/) ($ VSub_DollarName '$cur') (Lit_Other '*') } ] redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) (C {(sed)} {(-e)} {(SQ <'s|^'>) ($ VSub_DollarName '$i') (SQ <'/||'>) } ) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [739 773] ) } ] ) } spids: [736] ) ] spids: [736] ) ] spids: [16777215 733] ) ] spids: [16777215 778] ) ] spids: [719 781] ) spids: [708 717] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[788]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.SimpleCommand words: [{(tr)} {(DQ (' '))} {(DQ (Lit_Other '\\') (n))}] redirects: [ (redir.Redir op: <Redir_TLess '<<<'> fd: 16777215 arg_word: { (DQ (word_part.BracedVarSub token: <VSub_Name COMPREPLY> bracket_op: (bracket_op.WholeArray op_id: Lit_At ) spids: [806 811] ) ) } ) ] ) (C {(command)} {(grep)} {(DQ (/) (Lit_Other '$'))}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [791 825] ) } ] ) } spids: [788] ) ] spids: [788] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[834]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.BracedVarSub token: <VSub_Name COMPREPLY> bracket_op: (bracket_op.WholeArray op_id:Lit_At) suffix_op: (suffix_op.StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /)} ) spids: [837 844] ) } ] ) } spids: [834] ) ] spids: [834] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cur spids:[853]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name COMPREPLY> bracket_op: (bracket_op.WholeArray op_id:Lit_At) suffix_op: (suffix_op.PatSub pat: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\/'>)} replace: {(.)} replace_mode: Lit_Slash spids: [859] ) spids: [854 864] ) } spids: [853] ) ] spids: [853] ) ] spids: [665] ) spids: [661 664] ) (command.AndOr ops: [Op_DAmp] children: [ (command.FuncDef name: _java body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cur spids:[884]) op: Equal spids: [884] ) (assign_pair lhs: (lhs_expr.LhsName name:prev spids:[886]) op: Equal spids: [886] ) (assign_pair lhs: (lhs_expr.LhsName name:words spids:[888]) op: Equal spids: [888] ) (assign_pair lhs: (lhs_expr.LhsName name:cword spids:[890]) op: Equal spids: [890] ) ] spids: [882] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(_init_completion)} {(-n)} {(Lit_Other ':')}) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:i spids:[907]) op: Equal spids: [907] ) ] spids: [905] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Arith_Equal left: (lhs_expr.LhsName name:i spids:[914]) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) cond: (arith_expr.ArithBinary op_id: Arith_Less left: (arith_expr.ArithVarRef token:<Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ VSub_DollarName '$cword')}) ) update: (arith_expr.UnaryAssign op_id: Node_PostDPlus child: (lhs_expr.LhsName name:i spids:[926]) ) body: (command.DoGroup children: [ (command.Case to_match: { (word_part.BracedVarSub token: <VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{($ VSub_DollarName '$i')}) ) spids: [937 942] ) } arms: [ (case_arm pat_list: [{(-cp)} {(-classpath)}] action: [ (command.DParen child: (arith_expr.UnaryAssign op_id: Node_PostDPlus child: (lhs_expr.LhsName name:i spids:[954]) ) spids: [953 957] ) ] spids: [947 950 963 16777215] ) (case_arm pat_list: [{(-) (Lit_Other '*')}] spids: [966 968 975 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(_filedir)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [978 979 994 16777215] ) ] spids: [935 944 997] ) ] spids: [932 1000] ) ) (command.Case to_match: {($ VSub_DollarName '$cur')} arms: [ (case_arm pat_list: [{(-verbose) (Lit_Other ':') (Lit_Other '*')}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[1021]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'class gc jni'>)} {(--)} { (DQ (word_part.BracedVarSub token: <VSub_Name cur> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('*:')} ) spids: [1037 1041] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [1024 1044] ) } ] ) } spids: [1021] ) ] spids: [1021] ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [1015 1018 1054 16777215] ) (case_arm pat_list: [{(-javaagent) (Lit_Other ':') (Lit_Other '*')}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cur spids:[1063]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name cur> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('*:')} ) spids: [1064 1068] ) } spids: [1063] ) ] spids: [1063] ) (C {(_filedir)} {(SQ <'@(jar|zip)'>)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [1057 1060 1083 16777215] ) (case_arm pat_list: [{(-agentpath) (Lit_Other ':') (Lit_Other '*')}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cur spids:[1092]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name cur> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('*:')} ) spids: [1093 1097] ) } spids: [1092] ) ] spids: [1092] ) (C {(_filedir)} {(so)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [1086 1089 1110 16777215] ) (case_arm pat_list: [{(-splash) (Lit_Other ':') (Lit_Other '*')}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cur spids:[1123]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name cur> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('*:')} ) spids: [1124 1128] ) } spids: [1123] ) ] spids: [1123] ) (C {(_filedir)} {(SQ <'@(gif|jp?(e)g|png)'>)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [1117 1120 1143 16777215] ) (case_arm pat_list: [{(-Xbootclasspath) (Lit_Other '*') (Lit_Other ':') (Lit_Other '*')}] action: [ (C {(_java_path)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [1146 1150 1161 16777215] ) (case_arm pat_list: [{(-Xcheck) (Lit_Other ':') (Lit_Other '*')}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[1170]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <jni>)} {(--)} { (DQ (word_part.BracedVarSub token: <VSub_Name cur> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('*:')} ) spids: [1186 1190] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [1173 1193] ) } ] ) } spids: [1170] ) ] spids: [1170] ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [1164 1167 1203 16777215] ) (case_arm pat_list: [{(-Xgc) (Lit_Other ':') (Lit_Other '*')}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[1212]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'singlecon gencon singlepar genpar'>)} {(--)} { (DQ (word_part.BracedVarSub token: <VSub_Name cur> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('*:')} ) spids: [1230 1234] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [1215 1237] ) } ] ) } spids: [1212] ) ] spids: [1212] ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [1206 1209 1247 16777215] ) (case_arm pat_list: [{(-Xgcprio) (Lit_Other ':') (Lit_Other '*')}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[1256]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'throughput pausetime deterministic'>)} {(--)} { (DQ (word_part.BracedVarSub token: <VSub_Name cur> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('*:')} ) spids: [1274 1278] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [1259 1281] ) } ] ) } spids: [1256] ) ] spids: [1256] ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [1250 1253 1291 16777215] ) (case_arm pat_list: [ {(-Xloggc) (Lit_Other ':') (Lit_Other '*')} {(-Xverboselog) (Lit_Other ':') (Lit_Other '*')} ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cur spids:[1304]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name cur> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('*:')} ) spids: [1305 1309] ) } spids: [1304] ) ] spids: [1304] ) (C {(_filedir)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [1294 1301 1320 16777215] ) (case_arm pat_list: [{(-Xshare) (Lit_Other ':') (Lit_Other '*')}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[1329]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'auto off on'>)} {(--)} { (DQ (word_part.BracedVarSub token: <VSub_Name cur> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('*:')} ) spids: [1345 1349] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [1332 1352] ) } ] ) } spids: [1329] ) ] spids: [1329] ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [1323 1326 1362 16777215] ) (case_arm pat_list: [{(-Xverbose) (Lit_Other ':') (Lit_Other '*')}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[1371]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ <'memory load jni cpuinfo codegen opt\n'> <' gcpause gcreport'> ) } {(--)} { (DQ (word_part.BracedVarSub token: <VSub_Name cur> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('*:')} ) spids: [1388 1392] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [1374 1395] ) } ] ) } spids: [1371] ) ] spids: [1371] ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [1365 1368 1405 16777215] ) (case_arm pat_list: [{(-Xverify) (Lit_Other ':') (Lit_Other '*')}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[1414]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'all none remote'>)} {(--)} { (DQ (word_part.BracedVarSub token: <VSub_Name cur> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('*:')} ) spids: [1430 1434] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [1417 1437] ) } ] ) } spids: [1414] ) ] spids: [1414] ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [1408 1411 1447 16777215] ) (case_arm pat_list: [ {(-D) (Lit_Other '*')} {(-) (Lit_Other '*') (Lit_Other ':') (Lit_Other '*')} ] action: [(command.ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})] spids: [1454 1461 1469 16777215] ) ] spids: [1004 1008 1472] ) (command.Case to_match: {($ VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{(-cp)} {(-classpath)}] action: [ (C {(_java_path)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [1483 1486 1497 16777215] ) ] spids: [1476 1480 1500] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_DollarName '$cur'))} right: {(-) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[1523]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'$( _parse_help "$1" -help )'>)} {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [1526 1542] ) } ] ) } spids: [1523] ) ] spids: [1523] ) (command.AndOr ops: [Op_DAmp] children: [ (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_DollarName '$cur')} right: {(-X) (Lit_Other '*')} ) ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[1562]) op: PlusEqual rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'$( _parse_help "$1" -X )'>)} {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [1565 1581] ) } ] ) } spids: [1562] ) ] spids: [1562] ) ] ) ] spids: [16777215 1520] ) ] else_action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_DollarName '$prev'))} right: {(-jar)} ) ) terminator: <Op_Semi ';'> ) ] action: [(C {(_filedir)} {(jar)})] spids: [16777215 1604] ) ] else_action: [(C {(_java_classes)})] spids: [1616 1626] ) ] spids: [1586 1629] ) (command.AndOr ops: [Op_DAmp] children: [ (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_DollarName '$COMPREPLY')} right: {(-) (Lit_Other '*') (Lit_Other '[') (Lit_Other ':') (BoolBinary_GlobEqual '=') (Lit_Other ']') } ) ) (C {(compopt)} {(-o)} {(nospace)}) ] ) (C {(__ltrim_colon_completions)} {(DQ ($ VSub_DollarName '$cur'))}) ] spids: [879] ) spids: [875 878] ) (C {(complete)} {(-F)} {(_java)} {(java)}) ] ) (command.AndOr ops: [Op_DAmp] children: [ (command.FuncDef name: _javadoc body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cur spids:[1686]) op: Equal spids: [1686] ) (assign_pair lhs: (lhs_expr.LhsName name:prev spids:[1688]) op: Equal spids: [1688] ) (assign_pair lhs: (lhs_expr.LhsName name:words spids:[1690]) op: Equal spids: [1690] ) (assign_pair lhs: (lhs_expr.LhsName name:cword spids:[1692]) op: Equal spids: [1692] ) ] spids: [1684] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(_init_completion)}) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (command.Case to_match: {($ VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{(-overview)} {(-helpfile)}] action: [ (C {(_filedir)} {(SQ <'?(x)htm?(l)'>)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [1710 1713 1728 16777215] ) (case_arm pat_list: [{(-stylesheetfile)}] action: [ (C {(_filedir)} {(css)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [1731 1732 1745 16777215] ) (case_arm pat_list: [{(-d)} {(-link)} {(-linkoffline)}] action: [ (C {(_filedir)} {(-d)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [1748 1753 1766 16777215] ) (case_arm pat_list: [ {(-classpath)} {(-bootclasspath)} {(-docletpath)} {(-sourcepath)} {(-extdirs)} ] action: [ (C {(_java_path)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [1769 1778 1789 16777215] ) ] spids: [1703 1707 1792] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.LogicalAnd left: (bool_expr.BoolBinary op_id: BoolBinary_gt left: {($ VSub_DollarName '$cword')} right: {(2)} ) right: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: { (word_part.BracedVarSub token: <VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithBinary op_id: Arith_Minus left: (arith_expr.ArithWord w: {($ VSub_DollarName '$cword')} ) right: (arith_expr.ArithWord w:{(Lit_Digits 2)}) ) ) spids: [1812 1819] ) } right: {(-linkoffline)} ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_filedir)} {(-d)}) (command.ControlFlow token: <ControlFlow_Return return> ) ] spids: [16777215 1828] ) ] spids: [16777215 1839] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_DollarName '$cur'))} right: {(-) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[1862]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'$( _parse_help "$1" -help )'>)} {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [1865 1881] ) } ] ) } spids: [1862] ) ] spids: [1862] ) ] spids: [16777215 1859] ) ] else_action: [(C {(_filedir)} {(java)}) (C {(_java_packages)})] spids: [1886 1905] ) ] spids: [1681] ) spids: [1677 1680] ) (C {(complete)} {(-F)} {(_javadoc)} {(javadoc)}) ] ) (command.AndOr ops: [Op_DAmp] children: [ (command.FuncDef name: _javac body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cur spids:[1929]) op: Equal spids: [1929] ) (assign_pair lhs: (lhs_expr.LhsName name:prev spids:[1931]) op: Equal spids: [1931] ) (assign_pair lhs: (lhs_expr.LhsName name:words spids:[1933]) op: Equal spids: [1933] ) (assign_pair lhs: (lhs_expr.LhsName name:cword spids:[1935]) op: Equal spids: [1935] ) ] spids: [1927] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(_init_completion)} {(-n)} {(Lit_Other ':')}) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (command.Case to_match: {($ VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{(-d)}] action: [ (C {(_filedir)} {(-d)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [1957 1958 1971 16777215] ) (case_arm pat_list: [{(-classpath)} {(-bootclasspath)} {(-sourcepath)} {(-extdirs)}] action: [ (C {(_java_path)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [1974 1981 1992 16777215] ) ] spids: [1950 1954 1995] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_DollarName '$cur')} right: {(-) (word_part.ExtGlobPart op: <ExtGlob_Plus '+('> arms: [{('[a-zA-z0-9-_]')}] spids: [2008 2010] ) (Lit_Other ':') (Lit_Other '*') } ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:helpopt spids:[2026]) op: Equal rhs: {(-help)} spids: [2026] ) ] spids: [2024] ) (command.AndOr ops: [Op_DAmp] children: [ (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_DollarName '$cur')} right: {(-X) (Lit_Other '*')} ) ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:helpopt spids:[2043]) op: Equal rhs: {(-X)} spids: [2043] ) ] spids: [2043] ) ] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:opts spids:[2061]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.SimpleCommand words: [ {(DQ ($ VSub_Number '$1'))} {($ VSub_DollarName '$helpopt')} ] redirects: [ (redir.Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(1)} ) ] ) (C {(sed)} {(-e)} {(SQ <'s/-g:none/-g:{none}/'>)} {(-ne)} { (DQ ('s/^[[:space:]]*') (word_part.BracedVarSub token: <VSub_Name cur> suffix_op: (suffix_op.StringUnary op_id: VOp1_DPercent arg_word: {(':*')} ) spids: [2089 2093] ) (':{') (Lit_Other '\\') ('([^}]') (Lit_Other '\\') ('{1,') (Lit_Other '\\') ('}') (Lit_Other '\\') (')}.*/') (Lit_Other '\\') (1/p) ) } ) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [2062 2107] ) } spids: [2061] ) ] spids: [2059] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[2110]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (DQ (word_part.BracedVarSub token: <VSub_Name opts> suffix_op: (suffix_op.PatSub pat: {(',')} replace: {(' ')} replace_mode: Lit_Slash spids: [2122] ) spids: [2120 2127] ) ) } {(--)} { (DQ (word_part.BracedVarSub token: <VSub_Name cur> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('*:')} ) spids: [2133 2137] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2113 2140] ) } ] ) } spids: [2110] ) ] spids: [2110] ) (command.ControlFlow token: <ControlFlow_Return return> ) ] spids: [16777215 2017] ) ] spids: [16777215 2148] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_DollarName '$cur'))} right: {(-) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[2171]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'$( _parse_help "$1" -help )'>)} {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [2174 2190] ) } ] ) } spids: [2171] ) ] spids: [2171] ) (command.AndOr ops: [Op_DAmp] children: [ (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_DollarName '$cur')} right: {(-X) (Lit_Other '*')} ) ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[2210]) op: PlusEqual rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'$( _parse_help "$1" -X )'>)} {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [2213 2229] ) } ] ) } spids: [2210] ) ] spids: [2210] ) ] ) ] spids: [16777215 2168] ) ] else_action: [(C {(_filedir)} {(java)})] spids: [2234 2246] ) (command.AndOr ops: [Op_DAmp] children: [ (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_DollarName '$COMPREPLY')} right: {(-) (Lit_Other '*') (Lit_Other '[') (Lit_Other ':') (BoolBinary_GlobEqual '=') (Lit_Other ']') } ) ) (C {(compopt)} {(-o)} {(nospace)}) ] ) (C {(__ltrim_colon_completions)} {(DQ ($ VSub_DollarName '$cur'))}) ] spids: [1924] ) spids: [1920 1923] ) (C {(complete)} {(-F)} {(_javac)} {(javac)}) ] ) ] )