(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LLVM_REPO) op: Equal rhs: {(SQ <third_party/llvm/llvm>)} spids: [52] ) ] spids: [52] ) (C {(.)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(dirname)} {(DQ ($ VSub_Number "$0"))})]) left_token: <Left_CommandSub "$("> spids: [60 66] ) (/versions.sh) ) } ) (C {(cd)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(dirname)} {(DQ ($ VSub_Number "$0"))})]) left_token: <Left_CommandSub "$("> spids: [74 80] ) (/../..) ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ROOT) op: Equal rhs: {(DQ ($ VSub_Name "$PWD"))} spids: [84] ) ] spids: [84] ) (FuncDef name: check_repo body: (BraceGroup children: [ (AndOr children: [ (Subshell child: (AndOr children: [ (C {(cd)} { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VTest_ColonQMark arg_word: {("no repo path")} ) spids: [105 109] ) ) } ) (AndOr children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_d child:{(DQ (.git))}) ) (AndOr children: [ (SimpleCommand words: [ {(git)} {(merge-base)} {(--is-ancestor)} { (DQ (BracedVarSub token: <VSub_Number 3> suffix_op: (StringUnary op_id: VTest_ColonQMark arg_word: {("no SHA")} ) spids: [135 139] ) ) } {(HEAD)} ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [144] ) ] ) (C {(cd)} {(DQ ($ VSub_Name "$ROOT"))}) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) spids: [100 157] ) (AndOr children: [ (Subshell child: (AndOr children: [ (C {(cd)} {(DQ ($ VSub_Number "$1"))}) (AndOr children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_d child:{(DQ (.svn))}) ) (AndOr children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_ge left: { (CommandSubPart command_list: (CommandList children: [(C {(svnversion)})] ) left_token: <Left_CommandSub "$("> spids: [189 191] ) } right: { (DQ (BracedVarSub token: <VSub_Number 4> suffix_op: (StringUnary op_id: VTest_ColonQMark arg_word: {("no revison")} ) spids: [196 200] ) ) } ) ) (C {(cd)} {(DQ ($ VSub_Name "$ROOT"))}) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) spids: [163 215] ) (Subshell child: (AndOr children: [ (C {(echo)} { (DQ ("Missing ") (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {("repo checkout")} ) spids: [229 233] ) (" with ancestor ") ($ VSub_Number "$3") (" (rev ") ($ VSub_Number "$4") (") in ") ($ VSub_Number "$1") ("\n") ("Please run ./tools/modules/update.sh.") ) } ) (C {(exit)} {(1)}) ] op_id: Op_DAmp ) spids: [221 252] ) ] op_id: Op_DPipe ) ] op_id: Op_DPipe ) ] spids: [97] ) spids: [93 96] ) (C {(check_repo)} {(DQ (${ VSub_Name LLVM_REPO))} {(DQ (LLVM))} {(DQ (${ VSub_Name MIN_LLVM_SHA))} {(DQ (${ VSub_Name MIN_LLVM_REV))} ) (C {(check_repo)} {(DQ (${ VSub_Name LLVM_REPO) (/tools/clang))} {(DQ (clang))} {(DQ (${ VSub_Name MIN_CLANG_SHA))} {(DQ (${ VSub_Name MIN_CLANG_REV))} ) ] )