(CommandList children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(KW_Bang '!')} {(-e)} {(src/google/protobuf/stubs/common.h)}) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[48]) (HereDoc op_id: Redir_DLess fd: 16777215 body: { (DQ ( 'Could not find source code. Make sure you are running this script from the\n' ) ('root of the distribution tree.\n') ) } do_expansion: True here_end: __EOF__ was_filled: T spids: [51] ) ] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 43] ) ] spids: [16777215 63] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(KW_Bang '!')} {(-e)} {(src/Makefile)}) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[82]) (HereDoc op_id: Redir_DLess fd: 16777215 body: { (DQ ('Could not find src/Makefile. You must run ./configure (and perhaps\n') ('./autogen.sh) first.\n') ) } do_expansion: True here_end: __EOF__ was_filled: T spids: [85] ) ] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 77] ) ] spids: [16777215 97] ) (C {(cd)} {(src)}) (Assignment keyword: Assign_Declare flags: [-a] pairs: [ (assign_pair lhs: (LhsName name:RUNTIME_PROTO_FILES) op: Equal rhs: { (ArrayLiteralPart words: [ {(google/protobuf/any.proto)} {(google/protobuf/api.proto)} {(google/protobuf/descriptor.proto)} {(google/protobuf/duration.proto)} {(google/protobuf/empty.proto)} {(google/protobuf/field_mask.proto)} {(google/protobuf/source_context.proto)} {(google/protobuf/struct.proto)} {(google/protobuf/timestamp.proto)} {(google/protobuf/type.proto)} {(google/protobuf/wrappers.proto)} ] ) } spids: [109] ) ] spids: [105] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:CORE_PROTO_IS_CORRECT) op:Equal rhs:{(0)} spids:[157])] spids: [157] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:PROCESS_ROUND) op:Equal rhs:{(1)} spids:[160])] spids: [160] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TMP) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(mktemp)} {(-d)})]) left_token: <Left_CommandSub '$('> spids: [164 168] ) } spids: [163] ) ] spids: [163] ) (C {(echo)} {(DQ ('Updating descriptor protos...'))}) (While cond: [ (C {(Lit_Other '[')} {($ VSub_Name '$CORE_PROTO_IS_CORRECT')} {(-ne)} {(1)} {(Lit_Other ']')}) ] body: (DoGroup children: [ (C {(echo)} {(DQ ('Round ') ($ VSub_Name '$PROCESS_ROUND'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CORE_PROTO_IS_CORRECT) op: Equal rhs: {(1)} spids: [199] ) ] spids: [199] ) (C {(make)} {($ VSub_At '$@')} {(protoc)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {($ VSub_QMark '$?')} {(-ne)} {(0)}) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ('Failed to build protoc.'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 222] ) ] spids: [16777215 237] ) (AndOr ops: [Op_DAmp] children: [ (C {(./protoc)} {(--cpp_out) (Lit_Other '=') (Lit_VarLike 'dllexport_decl=') (LIBPROTOBUF_EXPORT) (Lit_Other ':') ($ VSub_Name '$TMP') } { (BracedVarSub token: <VSub_Name RUNTIME_PROTO_FILES> bracket_op: (WholeArray op_id:Lit_At) spids: [250 255] ) } ) (C {(./protoc)} {(--cpp_out) (Lit_Other '=') (Lit_VarLike 'dllexport_decl=') (LIBPROTOC_EXPORT) (Lit_Other ':') ($ VSub_Name '$TMP') } {(google/protobuf/compiler/plugin.proto)} ) ] ) (ForEach iter_name: PROTO_FILE iter_words: [ { (BracedVarSub token: <VSub_Name RUNTIME_PROTO_FILES> bracket_op: (WholeArray op_id:Lit_At) spids: [280 285] ) } ] do_arg_iter: F body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BASE_NAME) op: Equal rhs: { (BracedVarSub token: <VSub_Name PROTO_FILE> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{('.*')}) spids: [292 296] ) } spids: [291] ) ] spids: [291] ) (SimpleCommand words: [ {(diff)} {(${ VSub_Name BASE_NAME) (.pb.h)} {($ VSub_Name '$TMP') (/) (${ VSub_Name BASE_NAME) (.pb.h)} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [313] ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {($ VSub_QMark '$?')} {(-ne)} {(0)}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CORE_PROTO_IS_CORRECT) op: Equal rhs: {(0)} spids: [332] ) ] spids: [332] ) ] spids: [16777215 329] ) ] spids: [16777215 336] ) (SimpleCommand words: [ {(diff)} {(${ VSub_Name BASE_NAME) (.pb.cc)} {($ VSub_Name '$TMP') (/) (${ VSub_Name BASE_NAME) (.pb.cc)} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [353] ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {($ VSub_QMark '$?')} {(-ne)} {(0)}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CORE_PROTO_IS_CORRECT) op: Equal rhs: {(0)} spids: [372] ) ] spids: [372] ) ] spids: [16777215 369] ) ] spids: [16777215 376] ) ] spids: [288 379] ) spids: [279 286] ) (SimpleCommand words: [ {(diff)} {(google/protobuf/compiler/plugin.pb.h)} {($ VSub_Name '$TMP') (/google/protobuf/compiler/plugin.pb.h)} ] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[390])] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {($ VSub_QMark '$?')} {(-ne)} {(0)}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CORE_PROTO_IS_CORRECT) op: Equal rhs: {(0)} spids: [409] ) ] spids: [409] ) ] spids: [16777215 406] ) ] spids: [16777215 413] ) (SimpleCommand words: [ {(diff)} {(google/protobuf/compiler/plugin.pb.cc)} {($ VSub_Name '$TMP') (/google/protobuf/compiler/plugin.pb.cc)} ] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[423])] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {($ VSub_QMark '$?')} {(-ne)} {(0)}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CORE_PROTO_IS_CORRECT) op: Equal rhs: {(0)} spids: [442] ) ] spids: [442] ) ] spids: [16777215 439] ) ] spids: [16777215 446] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$CORE_PROTO_IS_CORRECT')} {(-ne)} {(1)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (ForEach iter_name: PROTO_FILE iter_words: [ { (BracedVarSub token: <VSub_Name RUNTIME_PROTO_FILES> bracket_op: (WholeArray op_id:Lit_At) spids: [480 485] ) } ] do_arg_iter: F body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BASE_NAME) op: Equal rhs: { (BracedVarSub token: <VSub_Name PROTO_FILE> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{('.*')}) spids: [492 496] ) } spids: [491] ) ] spids: [491] ) (C {(mv)} {($ VSub_Name '$TMP') (/) (${ VSub_Name BASE_NAME) (.pb.h)} {(${ VSub_Name BASE_NAME) (.pb.h)} ) (C {(mv)} {($ VSub_Name '$TMP') (/) (${ VSub_Name BASE_NAME) (.pb.cc)} {(${ VSub_Name BASE_NAME) (.pb.cc)} ) ] spids: [488 529] ) spids: [479 486] ) (C {(mv)} {($ VSub_Name '$TMP') (/google/protobuf/compiler/plugin.pb.) (Lit_Other '*')} {(google/protobuf/compiler/)} ) ] spids: [16777215 471] ) ] spids: [16777215 541] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PROCESS_ROUND) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:PROCESS_ROUND) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [546 553] ) } spids: [545] ) ] spids: [545] ) ] spids: [188 555] ) ) (C {(cd)} {(..)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(-x)} {(objectivec/generate_well_known_types.sh)}) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ('Generating messages for objc.'))}) (C {(objectivec/generate_well_known_types.sh)} {($ VSub_At '$@')}) ] spids: [16777215 571] ) ] spids: [16777215 585] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(-x)} {(csharp/generate_protos.sh)}) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ('Generating messages for C#.'))}) (C {(csharp/generate_protos.sh)} {($ VSub_At '$@')}) ] spids: [16777215 597] ) ] spids: [16777215 611] ) ] )