(CommandList children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name '$OSTYPE')} right: {(Lit_Other '*') (linux) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(.)} {(DQ ($ VSub_Name '$BASH_SOURCE') (.linux))}) (ControlFlow token:<ControlFlow_Return return>) ] spids: [16777215 19] ) ] spids: [16777215 32] ) (AndOr children: [ (FuncDef name: _umount body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:cur) op:Equal spids:[53]) (assign_pair lhs:(LhsName name:prev) op:Equal spids:[55]) (assign_pair lhs:(LhsName name:words) op:Equal spids:[57]) (assign_pair lhs:(LhsName name:cword) op:Equal spids:[59]) ] spids: [51] ) (AndOr children: [(C {(_init_completion)}) (ControlFlow token:<ControlFlow_Return return>)] op_id: Op_DPipe ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(SQ <Lit_EscapedChar '\\n'>)} spids: [72] ) ] spids: [70] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'$( mount | cut -d" " -f 3 )'>)} {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [81 97] ) } ] ) } spids: [78] ) ] spids: [78] ) ] spids: [48] ) spids: [44 47] ) (C {(complete)} {(-F)} {(_umount)} {(-o)} {(dirnames)} {(umount)}) ] op_id: Op_DAmp ) ] )