(command.CommandList children: [ (command.ShFunction name: _java_path body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cur) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary tok: <Id.VOp1_DPound '##'> arg_word: {<Id.Lit_Other '*'> <':'>} ) ) } spids: [14] ) ] ) (C {<_filedir>} {(SQ <'@(jar|zip)'>)}) ] ) ) (command.ShFunction name: _java_find_classpath body: (BraceGroup children: [ (C {<local>} {<i>}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: <Id.Lit_ArithVarLike i> right: {<Id.Lit_Digits 1>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: <Id.Lit_ArithVarLike i> right: <Id.Lit_ArithVarLike cword> ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:<Id.Lit_ArithVarLike i>) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (braced_var_sub token: <Id.VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: <Id.Lit_ArithVarLike i> ) ) ) } right: {<-> (word_part.ExtGlob op: <Id.ExtGlob_At '@('> arms: [{<cp>} {<classpath>}] ) } ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:classpath) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Plus left: <Id.Lit_ArithVarLike i> right: {<Id.Lit_Digits 1>} ) ) ) } spids: [106] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [78 103] ) ] ) ] ) ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_z child: {($ Id.VSub_DollarName '$classpath')} ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:classpath) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$CLASSPATH')} spids: [141] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_z child: {($ Id.VSub_DollarName '$classpath')} ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:classpath) op: assign_op.Equal rhs: {<.>} spids: [160] ) ] ) ] ) ] ) ) (command.ShFunction name: _java_find_sourcepath body: (BraceGroup children: [ (C {<local>} {<i>}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: <Id.Lit_ArithVarLike i> right: {<Id.Lit_Digits 1>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: <Id.Lit_ArithVarLike i> right: <Id.Lit_ArithVarLike cword> ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:<Id.Lit_ArithVarLike i>) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (braced_var_sub token: <Id.VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: <Id.Lit_ArithVarLike i> ) ) ) } right: {<-sourcepath>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sourcepath) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Plus left: <Id.Lit_ArithVarLike i> right: {<Id.Lit_Digits 1>} ) ) ) } spids: [235] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [212 232] ) ] ) ] ) ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_z child: {($ Id.VSub_DollarName '$sourcepath')} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<local>} {<classpath>}) (C {<_java_find_classpath>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sourcepath) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$classpath')} spids: [282] ) ] ) ] spids: [260 271] ) ] ) ] ) ) (command.ShFunction name: _java_classes body: (BraceGroup children: [ (C {<local>} {<classpath>} {<i>}) (C {<_java_find_classpath>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cur) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.PatSub pat: {<.>} replace: {<Id.Lit_Slash '/'>} replace_mode: Id.Lit_Slash ) ) } spids: [321] ) ] ) (command.ForEach iter_name: i iter_words: [ { (braced_var_sub token: <Id.VSub_Name classpath> suffix_op: (suffix_op.PatSub pat: {<':'>} replace: {<' '>} replace_mode: Id.Lit_Slash ) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.LogicalAnd left: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$i'))} right: {<Id.Lit_Other '*'> <.> (word_part.ExtGlob op: <Id.ExtGlob_At '@('> arms: [{<jar>} {<zip>}] ) } ) right: (bool_expr.Unary op_id: Id.BoolUnary_r child: {($ Id.VSub_DollarName '$i')} ) ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple words: [{<type>} {<zipinfo>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple words: [ {<zipinfo>} {<-1>} {(DQ ($ Id.VSub_DollarName '$i'))} { (DQ ($ Id.VSub_DollarName '$cur') <'*'> ) } ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (C {<command>} {<grep>} {(SQ <'^[^$]*\\.class$'>)} ) ] negated: F ) ) } ] ) } spids: [398] ) ] ) ] spids: [385 395] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<jar>} {<tf>} {(DQ ($ Id.VSub_DollarName '$i'))} {(DQ ($ Id.VSub_DollarName '$cur'))} ) (C {<command>} {<grep>} {(SQ <'^[^$]*\\.class$'>)} ) ] negated: F ) ) } ] ) } spids: [439] ) ] ) ] ) ] spids: [355 382] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_d child: {($ Id.VSub_DollarName '$i')} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<compgen>} {<-d>} {<-->} { (DQ ($ Id.VSub_DollarName '$i') <'/'> ($ Id.VSub_DollarName '$cur') ) } ) (C {<sed>} {<-e>} { (DQ <'s|^'> ($ Id.VSub_DollarName '$i') <'/'> <Id.Lit_BadBackslash '\\'> <'(.*'> <Id.Lit_BadBackslash '\\'> <')|'> <Id.Lit_BadBackslash '\\'> <'1.|'> ) } ) ] negated: F ) ) } { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<compgen>} {<-f>} {<-X>} {(SQ <'!*.class'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$i') <'/'> ($ Id.VSub_DollarName '$cur'))} ) (C {<sed>} {<-e>} {(SQ <'/\\$/d'>)} {<-e>} { (DQ <'s|^'> ($ Id.VSub_DollarName '$i') <'/||'>) } ) ] negated: F ) ) } ] ) } spids: [491] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$COMPREPLY')} right: {<Id.Lit_Other '*'> <.class>} ) ) (C {<compopt>} {<-o>} {<nospace>}) ] ) ] spids: [477 488] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (braced_var_sub token: <Id.VSub_Name COMPREPLY> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) suffix_op: (suffix_op.Unary tok: <Id.VOp1_Percent '%'> arg_word: {<.class>} ) ) } ] ) } spids: [620] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (braced_var_sub token: <Id.VSub_Name COMPREPLY> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) suffix_op: (suffix_op.PatSub pat: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\/'>)} replace: {<.>} replace_mode: Id.Lit_Slash ) ) } ] ) } spids: [639] ) ] ) ] ) ) (command.ShFunction name: _java_packages body: (BraceGroup children: [ (C {<local>} {<sourcepath>} {<i>}) (C {<_java_find_sourcepath>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cur) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.PatSub pat: {<.>} replace: {<Id.Lit_Slash '/'>} replace_mode: Id.Lit_Slash ) ) } spids: [689] ) ] ) (command.ForEach iter_name: i iter_words: [ { (braced_var_sub token: <Id.VSub_Name sourcepath> suffix_op: (suffix_op.PatSub pat: {<':'>} replace: {<' '>} replace_mode: Id.Lit_Slash ) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_d child: {($ Id.VSub_DollarName '$i')} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple words: [ {<command>} {<ls>} {<-F>} {<-d>} {($ Id.VSub_DollarName '$i') <'/'> ($ Id.VSub_DollarName '$cur') <Id.Lit_Star '*'> } ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (C {<sed>} {<-e>} {(SQ <'s|^'>) ($ Id.VSub_DollarName '$i') (SQ <'/||'>) } ) ] negated: F ) ) } ] ) } spids: [737] ) ] ) ] spids: [723 734] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple words: [{<tr>} {(DQ <' '>)} {(DQ <Id.Lit_BadBackslash '\\'> <n>)}] redirects: [ (redir op: <Id.Redir_TLess '<<<'> loc: (redir_loc.Fd fd:0) arg: { (DQ (braced_var_sub token: <Id.VSub_Name COMPREPLY> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) ) } ) ] do_fork: T ) (C {<command>} {<grep>} {(DQ <'/'> <Id.Lit_Dollar '$'>)}) ] negated: F ) ) } ] ) } spids: [789] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (braced_var_sub token: <Id.VSub_Name COMPREPLY> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) suffix_op: (suffix_op.Unary tok: <Id.VOp1_Percent '%'> arg_word: {<Id.Lit_Slash '/'>} ) ) } ] ) } spids: [835] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cur) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name COMPREPLY> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) suffix_op: (suffix_op.PatSub pat: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\/'>)} replace: {<.>} replace_mode: Id.Lit_Slash ) ) } spids: [854] ) ] ) ] ) ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShFunction name: _java body: (BraceGroup children: [ (C {<local>} {<cur>} {<prev>} {<words>} {<cword>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<_init_completion>} {<-n>} {<Id.Lit_Colon ':'>}) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] ) (C {<local>} {<i>}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: <Id.Lit_ArithVarLike i> right: {<Id.Lit_Digits 1>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: <Id.Lit_ArithVarLike i> right: {($ Id.VSub_DollarName '$cword')} ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: <Id.Lit_ArithVarLike i> ) body: (command.DoGroup children: [ (command.Case to_match: { (braced_var_sub token: <Id.VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr:{($ Id.VSub_DollarName '$i')}) ) } arms: [ (case_arm pat_list: [{<-cp>} {<-classpath>}] action: [ (command.DParen child: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: <Id.Lit_ArithVarLike i> ) ) ] spids: [948 951 964 -1] ) (case_arm pat_list: [{<-> <Id.Lit_Star '*'>}] spids: [967 969 976 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<_filedir>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [979 980 995 -1] ) ] ) ] ) ) (command.Case to_match: {($ Id.VSub_DollarName '$cur')} arms: [ (case_arm pat_list: [{<-verbose> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} {(SQ <'class gc jni'>)} {<-->} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary tok: <Id.VOp1_Pound '#'> arg_word: {<Id.Lit_Other '*'> <':'>} ) ) ) } ) ) } ] ) } spids: [1022] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1016 1019 1056 -1] ) (case_arm pat_list: [{<-javaagent> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cur) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary tok: <Id.VOp1_Pound '#'> arg_word: {<Id.Lit_Other '*'> <':'>} ) ) } spids: [1065] ) ] ) (C {<_filedir>} {(SQ <'@(jar|zip)'>)}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1059 1062 1086 -1] ) (case_arm pat_list: [{<-agentpath> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cur) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary tok: <Id.VOp1_Pound '#'> arg_word: {<Id.Lit_Other '*'> <':'>} ) ) } spids: [1095] ) ] ) (C {<_filedir>} {<so>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1089 1092 1114 -1] ) (case_arm pat_list: [{<-splash> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cur) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary tok: <Id.VOp1_Pound '#'> arg_word: {<Id.Lit_Other '*'> <':'>} ) ) } spids: [1127] ) ] ) (C {<_filedir>} {(SQ <'@(gif|jp?(e)g|png)'>)}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1121 1124 1148 -1] ) (case_arm pat_list: [ {<-Xbootclasspath> <Id.Lit_Star '*'> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>} ] action: [ (C {<_java_path>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1151 1155 1166 -1] ) (case_arm pat_list: [{<-Xcheck> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} {(SQ <jni>)} {<-->} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary tok: <Id.VOp1_Pound '#'> arg_word: {<Id.Lit_Other '*'> <':'>} ) ) ) } ) ) } ] ) } spids: [1175] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1169 1172 1209 -1] ) (case_arm pat_list: [{<-Xgc> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} {(SQ <'singlecon gencon singlepar genpar'>)} {<-->} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary tok: <Id.VOp1_Pound '#'> arg_word: {<Id.Lit_Other '*'> <':'>} ) ) ) } ) ) } ] ) } spids: [1218] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1212 1215 1254 -1] ) (case_arm pat_list: [{<-Xgcprio> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} {(SQ <'throughput pausetime deterministic'>)} {<-->} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary tok: <Id.VOp1_Pound '#'> arg_word: {<Id.Lit_Other '*'> <':'>} ) ) ) } ) ) } ] ) } spids: [1263] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1257 1260 1299 -1] ) (case_arm pat_list: [ {<-Xloggc> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>} {<-Xverboselog> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>} ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cur) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary tok: <Id.VOp1_Pound '#'> arg_word: {<Id.Lit_Other '*'> <':'>} ) ) } spids: [1312] ) ] ) (C {<_filedir>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1302 1309 1329 -1] ) (case_arm pat_list: [{<-Xshare> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} {(SQ <'auto off on'>)} {<-->} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary tok: <Id.VOp1_Pound '#'> arg_word: {<Id.Lit_Other '*'> <':'>} ) ) ) } ) ) } ] ) } spids: [1338] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1332 1335 1372 -1] ) (case_arm pat_list: [{<-Xverbose> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} { (SQ <'memory load jni cpuinfo codegen opt\n'> <' gcpause gcreport'> ) } {<-->} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary tok: <Id.VOp1_Pound '#'> arg_word: {<Id.Lit_Other '*'> <':'>} ) ) ) } ) ) } ] ) } spids: [1381] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1375 1378 1416 -1] ) (case_arm pat_list: [{<-Xverify> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} {(SQ <'all none remote'>)} {<-->} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary tok: <Id.VOp1_Pound '#'> arg_word: {<Id.Lit_Other '*'> <':'>} ) ) ) } ) ) } ] ) } spids: [1425] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1419 1422 1459 -1] ) (case_arm pat_list: [ {<-D> <Id.Lit_Star '*'>} {<-> <Id.Lit_Star '*'> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>} ] action: [ (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1466 1473 1481 -1] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{<-cp>} {<-classpath>}] action: [ (C {<_java_path>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1495 1498 1509 -1] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$cur'))} right: {<-> <Id.Lit_Other '*'>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} {(SQ <'$( _parse_help "$1" -help )'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ) } ] ) } spids: [1535] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$cur')} right: {<-X> <Id.Lit_Other '*'>} ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} {(SQ <'$( _parse_help "$1" -X )'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ) } ] ) } spids: [1574] ) ] ) ] ) ] spids: [1516 1532] ) ] else_action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$prev'))} right: {<-jar>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<_filedir>} {<jar>})] spids: [1601 1616] ) ] else_action: [(C {<_java_classes>})] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$COMPREPLY')} right: {<-> <Id.Lit_Other '*'> <Id.Lit_Other '['> <Id.Lit_Colon ':'> <Id.BoolBinary_GlobEqual '='> <Id.Lit_Other ']'> } ) ) (C {<compopt>} {<-o>} {<nospace>}) ] ) (C {<__ltrim_colon_completions>} {(DQ ($ Id.VSub_DollarName '$cur'))}) ] ) ) (C {<complete>} {<-F>} {<_java>} {<java>}) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShFunction name: _javadoc body: (BraceGroup children: [ (C {<local>} {<cur>} {<prev>} {<words>} {<cword>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<_init_completion>}) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{<-overview>} {<-helpfile>}] action: [ (C {<_filedir>} {(SQ <'?(x)htm?(l)'>)}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1722 1725 1740 -1] ) (case_arm pat_list: [{<-stylesheetfile>}] action: [ (C {<_filedir>} {<css>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1743 1744 1757 -1] ) (case_arm pat_list: [{<-d>} {<-link>} {<-linkoffline>}] action: [ (C {<_filedir>} {<-d>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1760 1765 1778 -1] ) (case_arm pat_list: [ {<-classpath>} {<-bootclasspath>} {<-docletpath>} {<-sourcepath>} {<-extdirs>} ] action: [ (C {<_java_path>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1781 1790 1801 -1] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.LogicalAnd left: (bool_expr.Binary op_id: Id.BoolBinary_gt left: {($ Id.VSub_DollarName '$cword')} right: {<2>} ) right: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (braced_var_sub token: <Id.VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Minus left: {($ Id.VSub_DollarName '$cword')} right: {<Id.Lit_Digits 2>} ) ) ) } right: {<-linkoffline>} ) ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<_filedir>} {<-d>}) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] spids: [1812 1840] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$cur'))} right: {<-> <Id.Lit_Other '*'>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} {(SQ <'$( _parse_help "$1" -help )'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ) } ] ) } spids: [1874] ) ] ) ] spids: [1855 1871] ) ] else_action: [(C {<_filedir>} {<java>}) (C {<_java_packages>})] ) ] ) ) (C {<complete>} {<-F>} {<_javadoc>} {<javadoc>}) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShFunction name: _javac body: (BraceGroup children: [ (C {<local>} {<cur>} {<prev>} {<words>} {<cword>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<_init_completion>} {<-n>} {<Id.Lit_Colon ':'>}) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{<-d>}] action: [ (C {<_filedir>} {<-d>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1969 1970 1983 -1] ) (case_arm pat_list: [{<-classpath>} {<-bootclasspath>} {<-sourcepath>} {<-extdirs>}] action: [ (C {<_java_path>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1986 1993 2004 -1] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$cur')} right: {<-> (word_part.ExtGlob op: <Id.ExtGlob_Plus '+('> arms: [{<'[a-zA-z0-9-_]'>}] ) <Id.Lit_Colon ':'> <Id.Lit_Other '*'> } ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<local>} {<Id.Lit_VarLike 'helpopt='> <-help>}) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$cur')} right: {<-X> <Id.Lit_Other '*'>} ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:helpopt) op: assign_op.Equal rhs: {<-X>} spids: [2055] ) ] ) ] ) (C {<local>} {<Id.Lit_VarLike 'opts='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple words: [ {(DQ ($ Id.VSub_Number '$1'))} {($ Id.VSub_DollarName '$helpopt')} ] redirects: [ (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] do_fork: T ) (C {<sed>} {<-e>} {(SQ <'s/-g:none/-g:{none}/'>)} {<-ne>} { (DQ <'s/^[[:space:]]*'> (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary tok: <Id.VOp1_DPercent '%%'> arg_word: {<':'> <Id.Lit_Other '*'>} ) ) <':{'> <Id.Lit_BadBackslash '\\'> <'([^}]'> <Id.Lit_BadBackslash '\\'> <'{1,'> <Id.Lit_BadBackslash '\\'> <'}'> <Id.Lit_BadBackslash '\\'> <')}.*/'> <Id.Lit_BadBackslash '\\'> <'1/p'> ) } ) ] negated: F ) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} { (DQ (braced_var_sub token: <Id.VSub_Name opts> suffix_op: (suffix_op.PatSub pat: {<','>} replace: {<' '>} replace_mode: Id.Lit_Slash ) ) ) } {<-->} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary tok: <Id.VOp1_Pound '#'> arg_word: {<Id.Lit_Other '*'> <':'>} ) ) ) } ) ) } ] ) } spids: [2123] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] spids: [2011 2029] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$cur'))} right: {<-> <Id.Lit_Other '*'>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} {(SQ <'$( _parse_help "$1" -help )'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ) } ] ) } spids: [2185] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$cur')} right: {<-X> <Id.Lit_Other '*'>} ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} {(SQ <'$( _parse_help "$1" -X )'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ) } ] ) } spids: [2224] ) ] ) ] ) ] spids: [2166 2182] ) ] else_action: [(C {<_filedir>} {<java>})] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$COMPREPLY')} right: {<-> <Id.Lit_Other '*'> <Id.Lit_Other '['> <Id.Lit_Colon ':'> <Id.BoolBinary_GlobEqual '='> <Id.Lit_Other ']'> } ) ) (C {<compopt>} {<-o>} {<nospace>}) ] ) (C {<__ltrim_colon_completions>} {(DQ ($ Id.VSub_DollarName '$cur'))}) ] ) ) (C {<complete>} {<-F>} {<_javac>} {<javac>}) ] ) ] )