(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: (Token id:Id.VSub_Name val:cur span_id:16) suffix_op: (suffix_op.Unary op_id:Id.VOp1_DPound arg_word:{('*:')}) ) } spids: [14] ) ] ) (C {(_filedir)} {(SQ (Token id:Id.Lit_Chars val:'@(jar|zip)' span_id:25))}) ] ) ) (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:(Token id:Id.Lit_ArithVarLike val:i span_id:60)) right: (arith_expr.VarRef token:(Token id:Id.Lit_ArithVarLike val:cword span_id:64)) ) 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: (Token id:Id.VSub_Name val:words span_id:83) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.VarRef token: (Token id: Id.Lit_ArithVarLike val: i span_id: 85 ) ) ) ) ) } right: {(-) (word_part.ExtGlob op: (Token id:Id.ExtGlob_At val:'@(' span_id:93) arms: [{(cp)} {(classpath)}] ) } ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:100) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:classpath) op: assign_op.Equal rhs: { (braced_var_sub token: (Token id:Id.VSub_Name val:words span_id:107) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Plus left: (arith_expr.VarRef token: (Token id: Id.Lit_ArithVarLike val: i span_id: 109 ) ) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 1)}) ) ) ) } spids: [105] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Break val:break span_id:116) ) ] 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:(Token id:Id.Lit_ArithVarLike val:i span_id:194)) right: (arith_expr.VarRef token: (Token id:Id.Lit_ArithVarLike val:cword span_id:198) ) ) 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: (Token id:Id.VSub_Name val:words span_id:217) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.VarRef token: (Token id: Id.Lit_ArithVarLike val: i span_id: 219 ) ) ) ) ) } right: {(-sourcepath)} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:229) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sourcepath) op: assign_op.Equal rhs: { (braced_var_sub token: (Token id:Id.VSub_Name val:words span_id:236) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Plus left: (arith_expr.VarRef token: (Token id: Id.Lit_ArithVarLike val: i span_id: 238 ) ) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 1)}) ) ) ) } spids: [234] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Break val:break span_id:245) ) ] 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: (Token id:Id.Op_Semi val:';' span_id:268) ) ] 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: (Token id:Id.VSub_Name val:cur span_id:322) 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: (Token id:Id.VSub_Name val:classpath span_id:342) 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: (Token id:Id.ExtGlob_At val:'@(' span_id:366) arms: [{(jar)} {(zip)}] ) } ) right: (bool_expr.Unary op_id: Id.BoolUnary_r child: {($ Id.VSub_DollarName '$i')} ) ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:379) ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Simple words: [{(type)} {(zipinfo)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_AndGreat val:'&>' span_id:390) fd: -1 arg_word: {(/dev/null)} ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:392) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:398) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 400 ) 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: (Token id: Id.Redir_Great val: '2>' span_id: 415 ) fd: 2 arg_word: {(/dev/null)} ) ] ) (C {(command)} {(grep)} { (SQ (Token id: Id.Lit_Chars val: '^[^$]*\\.class$' span_id: 427 ) ) } ) ] 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: (Token id:Id.Op_LParen val:'(' span_id:439) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 441 ) 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 (Token id: Id.Lit_Chars val: '^[^$]*\\.class$' span_id: 464 ) ) } ) ] 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: (Token id:Id.Op_Semi val:';' span_id:485) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:491) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 494 ) 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: (Token id: Id.Left_DollarParen val: '$(' span_id: 529 ) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(compgen)} {(-f)} {(-X)} { (SQ (Token id: Id.Lit_Chars val: '!*.class' span_id: 538 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$i') (/) ($ Id.VSub_DollarName '$cur'))} ) (C {(sed)} {(-e)} { (SQ (Token id: Id.Lit_Chars val: '/\\$/d' span_id: 558 ) ) } {(-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: (Token id:Id.Op_LParen val:'(' span_id:620) words: [ { (braced_var_sub token: (Token id:Id.VSub_Name val:COMPREPLY span_id:623) 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: (Token id:Id.Op_LParen val:'(' span_id:639) words: [ { (braced_var_sub token: (Token id:Id.VSub_Name val:COMPREPLY span_id:642) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) suffix_op: (suffix_op.PatSub pat: { (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\/' span_id:648) ) } 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: (Token id:Id.VSub_Name val:cur span_id:690) 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: (Token id:Id.VSub_Name val:sourcepath span_id:710) 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: (Token id:Id.Op_Semi val:';' span_id:731) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:737) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 739 ) 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: (Token id: Id.Redir_Great val: '2>' span_id: 754 ) fd: 2 arg_word: {(/dev/null)} ) ] ) (C {(sed)} {(-e)} { (SQ (Token id: Id.Lit_Chars val: 's|^' span_id: 766 ) ) ($ Id.VSub_DollarName '$i') (SQ (Token id:Id.Lit_Chars val:'/||' span_id:770)) } ) ] 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: (Token id:Id.Op_LParen val:'(' span_id:789) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:791) command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.Simple words: [{(tr)} {(DQ (' '))} {(DQ (Id.Lit_Other '\\') (n))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_TLess val:'<<<' span_id:804) fd: -1 arg_word: { (DQ (braced_var_sub token: (Token id: Id.VSub_Name val: COMPREPLY span_id: 807 ) 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: (Token id:Id.Op_LParen val:'(' span_id:835) words: [ { (braced_var_sub token: (Token id:Id.VSub_Name val:COMPREPLY span_id:838) 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: (Token id:Id.VSub_Name val:COMPREPLY span_id:855) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) suffix_op: (suffix_op.PatSub pat: { (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\/' span_id:861) ) } 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: (Token id:Id.ControlFlow_Return val:return span_id:901) ) ] ) (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:(Token id:Id.Lit_ArithVarLike val:i span_id:919)) 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: (Token id:Id.VSub_Name val:words span_id:938) 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: (Token id:Id.ControlFlow_Return val:return span_id:989) 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: (Token id:Id.Op_LParen val:'(' span_id:1022) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1024 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'class gc jni' span_id: 1031 ) ) } {(--)} { (DQ (braced_var_sub token: (Token id: Id.VSub_Name val: cur span_id: 1038 ) suffix_op: (suffix_op.Unary op_id: Id.VOp1_Pound arg_word: {('*:')} ) ) ) } ) ] ) ) } ] ) } spids: [1021] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1049) 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: (Token id:Id.VSub_Name val:cur span_id:1065) suffix_op: (suffix_op.Unary op_id:Id.VOp1_Pound arg_word:{('*:')}) ) } spids: [1063] ) ] ) (C {(_filedir)} {(SQ (Token id:Id.Lit_Chars val:'@(jar|zip)' span_id:1074))}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1078) 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: (Token id:Id.VSub_Name val:cur span_id:1094) suffix_op: (suffix_op.Unary op_id:Id.VOp1_Pound arg_word:{('*:')}) ) } spids: [1092] ) ] ) (C {(_filedir)} {(so)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1105) 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: (Token id:Id.VSub_Name val:cur span_id:1125) suffix_op: (suffix_op.Unary op_id:Id.VOp1_Pound arg_word:{('*:')}) ) } spids: [1123] ) ] ) (C {(_filedir)} {(SQ (Token id:Id.Lit_Chars val:'@(gif|jp?(e)g|png)' span_id:1134))} ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1138) 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: (Token id:Id.ControlFlow_Return val:return span_id:1156) 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: (Token id:Id.Op_LParen val:'(' span_id:1171) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1173 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ (Token id:Id.Lit_Chars val:jni span_id:1180))} {(--)} { (DQ (braced_var_sub token: (Token id: Id.VSub_Name val: cur span_id: 1187 ) suffix_op: (suffix_op.Unary op_id: Id.VOp1_Pound arg_word: {('*:')} ) ) ) } ) ] ) ) } ] ) } spids: [1170] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1198) 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: (Token id:Id.Op_LParen val:'(' span_id:1213) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1215 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'singlecon gencon singlepar genpar' span_id: 1222 ) ) } {(--)} { (DQ (braced_var_sub token: (Token id: Id.VSub_Name val: cur span_id: 1231 ) suffix_op: (suffix_op.Unary op_id: Id.VOp1_Pound arg_word: {('*:')} ) ) ) } ) ] ) ) } ] ) } spids: [1212] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1242) 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: (Token id:Id.Op_LParen val:'(' span_id:1257) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1259 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'throughput pausetime deterministic' span_id: 1266 ) ) } {(--)} { (DQ (braced_var_sub token: (Token id: Id.VSub_Name val: cur span_id: 1275 ) suffix_op: (suffix_op.Unary op_id: Id.VOp1_Pound arg_word: {('*:')} ) ) ) } ) ] ) ) } ] ) } spids: [1256] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1286) 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: (Token id:Id.VSub_Name val:cur span_id:1306) suffix_op: (suffix_op.Unary op_id:Id.VOp1_Pound arg_word:{('*:')}) ) } spids: [1304] ) ] ) (C {(_filedir)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1315) 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: (Token id:Id.Op_LParen val:'(' span_id:1330) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1332 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'auto off on' span_id: 1339 ) ) } {(--)} { (DQ (braced_var_sub token: (Token id: Id.VSub_Name val: cur span_id: 1346 ) suffix_op: (suffix_op.Unary op_id: Id.VOp1_Pound arg_word: {('*:')} ) ) ) } ) ] ) ) } ] ) } spids: [1329] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1357) 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: (Token id:Id.Op_LParen val:'(' span_id:1372) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1374 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'memory load jni cpuinfo codegen opt\n' span_id: 1381 ) (Token id:Id.Lit_Chars val:' gcpause gcreport' span_id:1382) ) } {(--)} { (DQ (braced_var_sub token: (Token id: Id.VSub_Name val: cur span_id: 1389 ) suffix_op: (suffix_op.Unary op_id: Id.VOp1_Pound arg_word: {('*:')} ) ) ) } ) ] ) ) } ] ) } spids: [1371] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1400) 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: (Token id:Id.Op_LParen val:'(' span_id:1415) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1417 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'all none remote' span_id: 1424 ) ) } {(--)} { (DQ (braced_var_sub token: (Token id: Id.VSub_Name val: cur span_id: 1431 ) suffix_op: (suffix_op.Unary op_id: Id.VOp1_Pound arg_word: {('*:')} ) ) ) } ) ] ) ) } ] ) } spids: [1414] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1442) 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: (Token id:Id.ControlFlow_Return val:return span_id:1464) 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: (Token id:Id.ControlFlow_Return val:return span_id:1492) 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: (Token id:Id.Op_Semi val:';' span_id:1518) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:1524) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1526 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '$( _parse_help "$1" -help )' span_id: 1533 ) ) } {(--)} {(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: (Token id:Id.Op_LParen val:'(' span_id:1563) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1565 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '$( _parse_help "$1" -X )' span_id: 1572 ) ) } {(--)} {(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: (Token id:Id.Op_Semi val:';' span_id:1602) ) ] 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: (Token id:Id.ControlFlow_Return val:return span_id:1699) ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{(-overview)} {(-helpfile)}] action: [ (C {(_filedir)} {(SQ (Token id:Id.Lit_Chars val:'?(x)htm?(l)' span_id:1719))}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1723) arg_word: {(0)} ) ] spids: [1710 1713 1728 -1] ) (case_arm pat_list: [{(-stylesheetfile)}] action: [ (C {(_filedir)} {(css)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1740) arg_word: {(0)} ) ] spids: [1731 1732 1745 -1] ) (case_arm pat_list: [{(-d)} {(-link)} {(-linkoffline)}] action: [ (C {(_filedir)} {(-d)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1761) arg_word: {(0)} ) ] spids: [1748 1753 1766 -1] ) (case_arm pat_list: [ {(-classpath)} {(-bootclasspath)} {(-docletpath)} {(-sourcepath)} {(-extdirs)} ] action: [ (C {(_java_path)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1784) 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: (Token id:Id.VSub_Name val:words span_id:1813) 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: (Token id:Id.Op_Semi val:';' span_id:1826) ) ] action: [ (C {(_filedir)} {(-d)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1836) ) ] 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: (Token id:Id.Op_Semi val:';' span_id:1857) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:1863) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1865 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '$( _parse_help "$1" -help )' span_id: 1872 ) ) } {(--)} {(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: (Token id:Id.ControlFlow_Return val:return span_id:1946) ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{(-d)}] action: [ (C {(_filedir)} {(-d)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1966) arg_word: {(0)} ) ] spids: [1957 1958 1971 -1] ) (case_arm pat_list: [{(-classpath)} {(-bootclasspath)} {(-sourcepath)} {(-extdirs)}] action: [ (C {(_java_path)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1987) 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: (Token id:Id.ExtGlob_Plus val:'+(' span_id:2008) arms: [{('[a-zA-z0-9-_]')}] ) (Id.Lit_Other ':') (Id.Lit_Other '*') } ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:2015) ) ] 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: (Token id:Id.Left_DollarParen val:'$(' span_id:2062) command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.Simple words: [ {(DQ ($ Id.VSub_Number '$1'))} {($ Id.VSub_DollarName '$helpopt')} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:2070) fd: 2 arg_word: {(1)} ) ] ) (C {(sed)} {(-e)} { (SQ (Token id: Id.Lit_Chars val: 's/-g:none/-g:{none}/' span_id: 2080 ) ) } {(-ne)} { (DQ ('s/^[[:space:]]*') (braced_var_sub token: (Token id:Id.VSub_Name val:cur span_id:2090) 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: (Token id:Id.Op_LParen val:'(' span_id:2111) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 2113 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (DQ (braced_var_sub token: (Token id: Id.VSub_Name val: opts span_id: 2121 ) suffix_op: (suffix_op.PatSub pat: {(',')} replace: {(' ')} replace_mode: Id.Lit_Slash ) ) ) } {(--)} { (DQ (braced_var_sub token: (Token id: Id.VSub_Name val: cur span_id: 2134 ) suffix_op: (suffix_op.Unary op_id: Id.VOp1_Pound arg_word: {('*:')} ) ) ) } ) ] ) ) } ] ) } spids: [2110] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:2145) ) ] 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: (Token id:Id.Op_Semi val:';' span_id:2166) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:2172) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 2174 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '$( _parse_help "$1" -help )' span_id: 2181 ) ) } {(--)} {(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: (Token id:Id.Op_LParen val:'(' span_id:2211) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 2213 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '$( _parse_help "$1" -X )' span_id: 2220 ) ) } {(--)} {(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)}) ] ) ] )