(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:-1 arg_word:{(2)} spids:[48]) (HereDoc op_id: Redir_DLess fd: -1 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: True spids: [51] ) ] ) (C {(exit)} {(1)}) ] spids: [-1 43] ) ] spids: [-1 62] ) (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:-1 arg_word:{(2)} spids:[81]) (HereDoc op_id: Redir_DLess fd: -1 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: True spids: [84] ) ] ) (C {(exit)} {(1)}) ] spids: [-1 76] ) ] spids: [-1 95] ) (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: [107] ) ] spids: [103] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:CORE_PROTO_IS_CORRECT) op:Equal rhs:{(0)} spids:[155])] spids: [155] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:PROCESS_ROUND) op:Equal rhs:{(1)} spids:[158])] spids: [158] ) (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: [162 166] ) } spids: [161] ) ] spids: [161] ) (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: [197] ) ] spids: [197] ) (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."))}) (C {(exit)} {(1)})] spids: [-1 220] ) ] spids: [-1 235] ) (AndOr 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: [248 253] ) } ) (C {(./protoc)} {(--cpp_out) (Lit_Other "=") (Lit_VarLike "dllexport_decl=") (LIBPROTOC_EXPORT) (Lit_Other ":") ($ VSub_Name "$TMP") } {(google/protobuf/compiler/plugin.proto)} ) ] op_id: Op_DAmp ) (ForEach iter_name: PROTO_FILE iter_words: [ { (BracedVarSub token: <VSub_Name RUNTIME_PROTO_FILES> bracket_op: (WholeArray op_id:Lit_At) spids: [278 283] ) } ] do_arg_iter: False 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: [290 294] ) } spids: [289] ) ] spids: [289] ) (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:-1 arg_word:{(/dev/null)} spids:[311])] ) (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: [330] ) ] spids: [330] ) ] spids: [-1 327] ) ] spids: [-1 334] ) (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:-1 arg_word:{(/dev/null)} spids:[351])] ) (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: [370] ) ] spids: [370] ) ] spids: [-1 367] ) ] spids: [-1 374] ) ] spids: [286 377] ) spids: [277 284] ) (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:-1 arg_word:{(/dev/null)} spids:[388])] ) (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: [407] ) ] spids: [407] ) ] spids: [-1 404] ) ] spids: [-1 411] ) (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:-1 arg_word:{(/dev/null)} spids:[421])] ) (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: [440] ) ] spids: [440] ) ] spids: [-1 437] ) ] spids: [-1 444] ) (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: [478 483] ) } ] do_arg_iter: False 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: [490 494] ) } spids: [489] ) ] spids: [489] ) (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: [486 527] ) spids: [477 484] ) (C {(mv)} {($ VSub_Name "$TMP") (/google/protobuf/compiler/plugin.pb.) (Lit_Other "*")} {(google/protobuf/compiler/)} ) ] spids: [-1 469] ) ] spids: [-1 539] ) (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: [544 551] ) } spids: [543] ) ] spids: [543] ) ] spids: [186 553] ) ) (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: [-1 569] ) ] spids: [-1 583] ) (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: [-1 595] ) ] spids: [-1 609] ) ] )