(AndOr OP_AND_IF (FunctionDef _portupgrade [] (List (= scope= flags=0 words=[{[LIT_CHARS cur]}, {[LIT_CHARS prev]}, {[LIT_CHARS words]}, {[LIT_CHARS cword]}] bindings=[]) (AndOr OP_OR_IF (Com {[LIT_CHARS _init_completion]} ) (Com {[LIT_CHARS return]} ) ) (AndOr OP_AND_IF (DBracket {B? LOGICAL_BINARY_OR {B2 BINARY_STRING_EQUAL {[DQ [VarSub prev]]} {[LIT_CHARS -l]}} {B? LOGICAL_BINARY_OR {B2 BINARY_STRING_EQUAL {[DQ [VarSub prev]]} {[LIT_CHARS -L]}} {B2 BINARY_STRING_EQUAL {[DQ [VarSub prev]]} {[LIT_CHARS -o]}}}}) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) (= scope= flags=0 words=[] bindings=[('pkgdir', {[VarSub PKG_DBDIR test_op=VS_TEST_COLON_HYPHEN {[LIT_SLASH /] [LIT_CHARS var] [LIT_SLASH /] [LIT_CHARS db] [LIT_SLASH /] [LIT_CHARS pkg]}] [LIT_CHARS /]})]) (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS compgen]} {[LIT_CHARS -d]} {[LIT_CHARS --]} {[DQ [VarSub pkgdir][VarSub cur]]})]}]})]) (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[VarSub COMPREPLY bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}}) transform_ops=[VS_UNARY_POUND {[VarSub pkgdir]}]]}]})]) (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[VarSub COMPREPLY bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}}) transform_ops=[VS_UNARY_PERCENT {[LIT_CHARS "-*"]}]]}]})]) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) ) (Com {[LIT_CHARS complete]} {[LIT_CHARS -F]} {[LIT_CHARS _portupgrade]} {[LIT_CHARS -o]} {[LIT_CHARS dirnames]} {[LIT_CHARS portupgrade]} ) )