(command.CommandList children: [ (command.ShFunction name: _java_path body: (command.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 op_id:Id.VOp1_DPound arg_word:{<'*:'>}) ) } spids: [14] ) ] ) (C {<_filedir>} {(SQ <'@(jar|zip)'>)}) ] ) ) (command.ShFunction name: _java_find_classpath body: (command.BraceGroup children: [ (C {<local>} {<i>}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.VarRef token:<Id.Lit_ArithVarLike cword>) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (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: (arith_expr.VarRef token: <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: (arith_expr.VarRef token: <Id.Lit_ArithVarLike i> ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) } spids: [105] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [77 102] ) ] ) ] ) ) (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: [140] ) ] ) ] ) (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: [159] ) ] ) ] ) ] ) ) (command.ShFunction name: _java_find_sourcepath body: (command.BraceGroup children: [ (C {<local>} {<i>}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.VarRef token:<Id.Lit_ArithVarLike cword>) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (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: (arith_expr.VarRef token: <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: (arith_expr.VarRef token: <Id.Lit_ArithVarLike i> ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) } spids: [234] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [211 231] ) ] ) ] ) ) (command.If arms: [ (if_arm cond: [ (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: [281] ) ] ) ] spids: [259 270] ) ] ) ] ) ) (command.ShFunction name: _java_classes body: (command.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: [320] ) ] ) (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: [ (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: [ (command.Sentence child: (command.Simple words: [{<type>} {<zipinfo>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) 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 '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.Simple words: [ {<zipinfo>} {<-1>} {(DQ ($ Id.VSub_DollarName '$i'))} { (DQ ($ Id.VSub_DollarName '$cur') <'*'> ) } ] redirects: [ (redir.Redir op: <Id.Redir_Great '2>'> fd: 2 arg_word: {</dev/null>} ) ] ) (C {<command>} {<grep>} {(SQ <'^[^$]*\\.class$'>)} ) ] negated: F ) ] ) ) } ] ) } spids: [397] ) ] ) ] spids: [384 394] ) ] 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 '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<jar>} {<tf>} {(DQ ($ Id.VSub_DollarName '$i'))} {(DQ ($ Id.VSub_DollarName '$cur'))} ) (C {<command>} {<grep>} {(SQ <'^[^$]*\\.class$'>)} ) ] negated: F ) ] ) ) } ] ) } spids: [438] ) ] ) ] ) ] spids: [354 381] ) (if_arm cond: [ (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 '$('> command_list: (command.CommandList children: [ (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_Other '\\'> <'(.*'> <Id.Lit_Other '\\'> <')|'> <Id.Lit_Other '\\'> <'1.|'> ) } ) ] negated: F ) ] ) ) } { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (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: [490] ) ] ) (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: [476 487] ) ] ) ] ) ) (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 op_id:Id.VOp1_Percent arg_word:{<.class>}) ) } ] ) } spids: [619] ) ] ) (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: [638] ) ] ) ] ) ) (command.ShFunction name: _java_packages body: (command.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: [688] ) ] ) (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: [ (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 '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.Simple words: [ {<command>} {<ls>} {<-F>} {<-d>} {($ Id.VSub_DollarName '$i') </> ($ Id.VSub_DollarName '$cur') <Id.Lit_Star '*'> } ] redirects: [ (redir.Redir op: <Id.Redir_Great '2>'> fd: 2 arg_word: {</dev/null>} ) ] ) (C {<sed>} {<-e>} {(SQ <'s|^'>) ($ Id.VSub_DollarName '$i') (SQ <'/||'>) } ) ] negated: F ) ] ) ) } ] ) } spids: [736] ) ] ) ] spids: [722 733] ) ] ) ] ) ) (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 '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.Simple words: [{<tr>} {(DQ <' '>)} {(DQ <Id.Lit_Other '\\'> <n>)}] redirects: [ (redir.Redir op: <Id.Redir_TLess '<<<'> fd: -1 arg_word: { (DQ (braced_var_sub token: <Id.VSub_Name COMPREPLY> bracket_op: (bracket_op.WholeArray op_id: Id.Lit_At ) ) ) } ) ] ) (C {<command>} {<grep>} {(DQ </> <Id.Lit_Other '$'>)}) ] negated: F ) ] ) ) } ] ) } spids: [788] ) ] ) (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 op_id: Id.VOp1_Percent arg_word: {<Id.Lit_Slash />} ) ) } ] ) } spids: [834] ) ] ) (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: [853] ) ] ) ] ) ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShFunction name: _java body: (command.BraceGroup children: [ (C {<local>} {<cur>} {<prev>} {<words>} {<cword>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<_init_completion>} {<-n>} {<Id.Lit_Other ':'>}) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] ) (C {<local>} {<i>}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$cword')}) ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: (sh_lhs_expr.Name name:i) ) body: (command.DoGroup children: [ (command.Case to_match: { (braced_var_sub token: <Id.VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) } arms: [ (case_arm pat_list: [{<-cp>} {<-classpath>}] action: [ (command.DParen child: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: (sh_lhs_expr.Name name:i) ) ) ] spids: [947 950 963 -1] ) (case_arm pat_list: [{<-> <Id.Lit_Star '*'>}] spids: [966 968 975 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<_filedir>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [978 979 994 -1] ) ] ) ] ) ) (command.Case to_match: {($ Id.VSub_DollarName '$cur')} arms: [ (case_arm pat_list: [{<-verbose> <Id.Lit_Other ':'> <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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'class gc jni'>)} {<-->} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary op_id: Id.VOp1_Pound arg_word: {<'*:'>} ) ) ) } ) ] ) ) } ] ) } spids: [1021] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1015 1018 1054 -1] ) (case_arm pat_list: [{<-javaagent> <Id.Lit_Other ':'> <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 op_id:Id.VOp1_Pound arg_word:{<'*:'>}) ) } spids: [1063] ) ] ) (C {<_filedir>} {(SQ <'@(jar|zip)'>)}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1057 1060 1083 -1] ) (case_arm pat_list: [{<-agentpath> <Id.Lit_Other ':'> <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 op_id:Id.VOp1_Pound arg_word:{<'*:'>}) ) } spids: [1092] ) ] ) (C {<_filedir>} {<so>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1086 1089 1110 -1] ) (case_arm pat_list: [{<-splash> <Id.Lit_Other ':'> <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 op_id:Id.VOp1_Pound arg_word:{<'*:'>}) ) } spids: [1123] ) ] ) (C {<_filedir>} {(SQ <'@(gif|jp?(e)g|png)'>)}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1117 1120 1143 -1] ) (case_arm pat_list: [ {<-Xbootclasspath> <Id.Lit_Star '*'> <Id.Lit_Other ':'> <Id.Lit_Star '*'>} ] action: [ (C {<_java_path>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1146 1150 1161 -1] ) (case_arm pat_list: [{<-Xcheck> <Id.Lit_Other ':'> <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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <jni>)} {<-->} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary op_id: Id.VOp1_Pound arg_word: {<'*:'>} ) ) ) } ) ] ) ) } ] ) } spids: [1170] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1164 1167 1203 -1] ) (case_arm pat_list: [{<-Xgc> <Id.Lit_Other ':'> <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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'singlecon gencon singlepar genpar'>)} {<-->} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary op_id: Id.VOp1_Pound arg_word: {<'*:'>} ) ) ) } ) ] ) ) } ] ) } spids: [1212] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1206 1209 1247 -1] ) (case_arm pat_list: [{<-Xgcprio> <Id.Lit_Other ':'> <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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'throughput pausetime deterministic'>)} {<-->} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary op_id: Id.VOp1_Pound arg_word: {<'*:'>} ) ) ) } ) ] ) ) } ] ) } spids: [1256] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1250 1253 1291 -1] ) (case_arm pat_list: [ {<-Xloggc> <Id.Lit_Other ':'> <Id.Lit_Star '*'>} {<-Xverboselog> <Id.Lit_Other ':'> <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 op_id:Id.VOp1_Pound arg_word:{<'*:'>}) ) } spids: [1304] ) ] ) (C {<_filedir>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1294 1301 1320 -1] ) (case_arm pat_list: [{<-Xshare> <Id.Lit_Other ':'> <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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'auto off on'>)} {<-->} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary op_id: Id.VOp1_Pound arg_word: {<'*:'>} ) ) ) } ) ] ) ) } ] ) } spids: [1329] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1323 1326 1362 -1] ) (case_arm pat_list: [{<-Xverbose> <Id.Lit_Other ':'> <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 '$('> command_list: (command.CommandList children: [ (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 op_id: Id.VOp1_Pound arg_word: {<'*:'>} ) ) ) } ) ] ) ) } ] ) } spids: [1371] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1365 1368 1405 -1] ) (case_arm pat_list: [{<-Xverify> <Id.Lit_Other ':'> <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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'all none remote'>)} {<-->} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary op_id: Id.VOp1_Pound arg_word: {<'*:'>} ) ) ) } ) ] ) ) } ] ) } spids: [1414] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1408 1411 1447 -1] ) (case_arm pat_list: [ {<-D> <Id.Lit_Star '*'>} {<-> <Id.Lit_Star '*'> <Id.Lit_Other ':'> <Id.Lit_Star '*'>} ] action: [ (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1454 1461 1469 -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: [1483 1486 1497 -1] ) ] ) (command.If arms: [ (if_arm cond: [ (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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'$( _parse_help "$1" -help )'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1523] ) ] ) (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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'$( _parse_help "$1" -X )'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1562] ) ] ) ] ) ] spids: [1504 1520] ) ] else_action: [ (command.If arms: [ (if_arm cond: [ (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: [1589 1604] ) ] 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_Other ':'> <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: (command.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: [1710 1713 1728 -1] ) (case_arm pat_list: [{<-stylesheetfile>}] action: [ (C {<_filedir>} {<css>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1731 1732 1745 -1] ) (case_arm pat_list: [{<-d>} {<-link>} {<-linkoffline>}] action: [ (C {<_filedir>} {<-d>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1748 1753 1766 -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: [1769 1778 1789 -1] ) ] ) (command.If arms: [ (if_arm cond: [ (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: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$cword')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) ) } right: {<-linkoffline>} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<_filedir>} {<-d>}) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] spids: [1800 1828] ) ] ) (command.If arms: [ (if_arm cond: [ (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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'$( _parse_help "$1" -help )'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1862] ) ] ) ] spids: [1843 1859] ) ] 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: (command.BraceGroup children: [ (C {<local>} {<cur>} {<prev>} {<words>} {<cword>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<_init_completion>} {<-n>} {<Id.Lit_Other ':'>}) (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: [1957 1958 1971 -1] ) (case_arm pat_list: [{<-classpath>} {<-bootclasspath>} {<-sourcepath>} {<-extdirs>}] action: [ (C {<_java_path>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1974 1981 1992 -1] ) ] ) (command.If arms: [ (if_arm cond: [ (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_Other ':'> <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: [2043] ) ] ) ] ) (C {<local>} {<Id.Lit_VarLike 'opts='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.Simple words: [ {(DQ ($ Id.VSub_Number '$1'))} {($ Id.VSub_DollarName '$helpopt')} ] redirects: [ (redir.Redir op: <Id.Redir_GreatAnd '2>&'> fd: 2 arg_word: {<1>} ) ] ) (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 op_id: Id.VOp1_DPercent arg_word: {<':*'>} ) ) <':{'> <Id.Lit_Other '\\'> <'([^}]'> <Id.Lit_Other '\\'> <'{1,'> <Id.Lit_Other '\\'> <'}'> <Id.Lit_Other '\\'> <')}.*/'> <Id.Lit_Other '\\'> <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 '$('> command_list: (command.CommandList children: [ (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 op_id: Id.VOp1_Pound arg_word: {<'*:'>} ) ) ) } ) ] ) ) } ] ) } spids: [2110] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] spids: [1999 2017] ) ] ) (command.If arms: [ (if_arm cond: [ (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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'$( _parse_help "$1" -help )'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [2171] ) ] ) (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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'$( _parse_help "$1" -X )'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [2210] ) ] ) ] ) ] spids: [2152 2168] ) ] 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_Other ':'> <Id.BoolBinary_GlobEqual '='> <Id.Lit_Other ']'> } ) ) (C {<compopt>} {<-o>} {<nospace>}) ] ) (C {<__ltrim_colon_completions>} {(DQ ($ Id.VSub_DollarName '$cur'))}) ] ) ) (C {<complete>} {<-F>} {<_javac>} {<javac>}) ] ) ] )