(command.CommandList children: [ (command.ShFunction name: get_variable_value body: (BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'FILENAME='> ($ Id.VSub_Number '$1')}) (C {<local>} {<Id.Lit_VarLike 'VARNAME='> ($ Id.VSub_Number '$2')}) (command.Pipeline children: [ (C {<awk>} { (DQ <'\n'> <' BEGIN { start = 0; }\n'> <' /^'> ($ Id.VSub_DollarName '$VARNAME') <' =/ { start = 1; }\n'> <' { if (start) { print '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'0; } }\n'> <' /'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'/ { next; }\n'> <' { start = 0; }\n'> <' '> ) } {($ Id.VSub_DollarName '$FILENAME')} ) (C {<sed>} {(DQ <'s/^'> ($ Id.VSub_DollarName '$VARNAME') <' =//'>)}) (C {<sed>} { (DQ <'s/[ '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <']//g'>) } ) (C {<grep>} {<-v>} { (DQ <'^'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <Id.Lit_Dollar '$'> ) } ) (C {<grep>} {<-v>} {(DQ <'^'> <Id.Lit_Dollar '$'>)}) (command.Simple words: [{<sort>}] more_env: [(env_pair name:LC_ALL val:{<C>} spids:[104])] do_fork: T ) (C {<uniq>}) ] negated: F ) ] ) ) (command.ShFunction name: get_header_files body: (BraceGroup children: [ (command.Pipeline children: [(C {<get_variable_value>} {($ Id.VSub_At '$@')}) (C {<grep>} {(SQ <'\\.h$'>)})] negated: F ) ] ) ) (command.ShFunction name: get_source_files body: (BraceGroup children: [ (command.Pipeline children: [ (C {<get_variable_value>} {($ Id.VSub_At '$@')}) (C {<grep>} {(DQ <cc> <Id.Lit_Dollar '$'>)}) ] negated: F ) ] ) ) (command.ShFunction name: get_proto_files_blacklisted body: (BraceGroup children: [ (command.Pipeline children: [ (C {<get_proto_files>} {($ Id.VSub_At '$@')}) (C {<sed>} {(SQ <'/^google\\/protobuf\\/unittest_enormous_descriptor.proto$/d'>)}) ] negated: F ) ] ) ) (command.ShFunction name: get_proto_files body: (BraceGroup children: [ (command.Pipeline children: [ (C {<get_variable_value>} {($ Id.VSub_At '$@')}) (C {<grep>} {(DQ <pb.cc> <Id.Lit_Dollar '$'>)}) (C {<sed>} {(DQ <'s/pb.cc/proto/'>)}) ] negated: F ) ] ) ) (command.ShFunction name: sort_files body: (BraceGroup children: [ (command.Pipeline children: [ (command.ForEach iter_name: FILE iter_words: [{($ Id.VSub_At '$@')}] do_arg_iter: F body: (command.DoGroup children:[(C {<echo>} {($ Id.VSub_DollarName '$FILE')})]) ) (command.Simple words: [{<sort>}] more_env: [(env_pair name:LC_ALL val:{<C>} spids:[242])] do_fork: T ) (C {<uniq>}) ] negated: F ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MAKEFILE) op: assign_op.Equal rhs: {<'src/Makefile.am'>} spids: [254] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName '$MAKEFILE'))} {<Id.Lit_RBracket ']'>} ) (BraceGroup children: [ (C {<echo>} {(DQ <'Cannot find: '> ($ Id.VSub_DollarName '$MAKEFILE'))}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:GZHEADERS) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<get_variable_value>} {($ Id.VSub_DollarName '$MAKEFILE')} {<GZHEADERS>}) ) } spids: [291] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HEADERS) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<get_variable_value>} {($ Id.VSub_DollarName '$MAKEFILE')} {<nobase_include_HEADERS>} ) ) } spids: [300] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PUBLIC_HEADERS) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<sort_files>} {($ Id.VSub_DollarName '$GZHEADERS')} {($ Id.VSub_DollarName '$HEADERS')} ) ) } spids: [309] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LIBPROTOBUF_LITE_SOURCES) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<get_source_files>} {($ Id.VSub_DollarName '$MAKEFILE')} {<libprotobuf_lite_la_SOURCES>} ) ) } spids: [318] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LIBPROTOBUF_SOURCES) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<get_source_files>} {($ Id.VSub_DollarName '$MAKEFILE')} {<libprotobuf_la_SOURCES>} ) ) } spids: [327] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LIBPROTOC_SOURCES) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<get_source_files>} {($ Id.VSub_DollarName '$MAKEFILE')} {<libprotoc_la_SOURCES>}) ) } spids: [336] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LITE_PROTOS) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<get_proto_files>} {($ Id.VSub_DollarName '$MAKEFILE')} {<protoc_lite_outputs>}) ) } spids: [345] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PROTOS) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<get_proto_files>} {($ Id.VSub_DollarName '$MAKEFILE')} {<protoc_outputs>}) ) } spids: [354] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PROTOS_BLACKLISTED) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<get_proto_files_blacklisted>} {($ Id.VSub_DollarName '$MAKEFILE')} {<protoc_outputs>} ) ) } spids: [363] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WKT_PROTOS) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<get_variable_value>} {($ Id.VSub_DollarName '$MAKEFILE')} {<nobase_dist_proto_DATA>} ) ) } spids: [372] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMMON_TEST_SOURCES) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<get_source_files>} {($ Id.VSub_DollarName '$MAKEFILE')} {<COMMON_TEST_SOURCES>}) ) } spids: [381] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMMON_LITE_TEST_SOURCES) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<get_source_files>} {($ Id.VSub_DollarName '$MAKEFILE')} {<COMMON_LITE_TEST_SOURCES>} ) ) } spids: [390] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TEST_SOURCES) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<get_source_files>} {($ Id.VSub_DollarName '$MAKEFILE')} {<protobuf_test_SOURCES>}) ) } spids: [399] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LITE_TEST_SOURCES) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<get_source_files>} {($ Id.VSub_DollarName '$MAKEFILE')} {<protobuf_lite_test_SOURCES>} ) ) } spids: [408] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LITE_ARENA_TEST_SOURCES) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<get_source_files>} {($ Id.VSub_DollarName '$MAKEFILE')} {<protobuf_lite_arena_test_SOURCES>} ) ) } spids: [417] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TEST_PLUGIN_SOURCES) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<get_source_files>} {($ Id.VSub_DollarName '$MAKEFILE')} {<test_plugin_SOURCES>}) ) } spids: [426] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CMAKE_DIR) op: assign_op.Equal rhs: {<cmake>} spids: [446] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:EXTRACT_INCLUDES_BAT) op: assign_op.Equal rhs: {<'cmake/extract_includes.bat.in'>} spids: [449] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-d>} {(DQ ($ Id.VSub_DollarName '$CMAKE_DIR'))} {<Id.Lit_RBracket ']'>} ) (BraceGroup children: [ (C {<echo>} {(DQ <'Cannot find: '> ($ Id.VSub_DollarName '$CMAKE_DIR'))}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName '$EXTRACT_INCLUDES_BAT'))} {<Id.Lit_RBracket ']'>} ) (BraceGroup children: [ (C {<echo>} {(DQ <'Cannot find: '> ($ Id.VSub_DollarName '$EXTRACT_INCLUDES_BAT'))}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) ] ) (command.ShFunction name: set_cmake_value body: (BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'FILENAME='> ($ Id.VSub_Number '$1')}) (C {<local>} {<Id.Lit_VarLike 'VARNAME='> ($ Id.VSub_Number '$2')}) (C {<local>} {<Id.Lit_VarLike 'PREFIX='> ($ Id.VSub_Number '$3')}) (C {<shift>}) (C {<shift>}) (C {<shift>}) (command.Simple words: [ {<awk>} {<-v>} {<Id.Lit_VarLike 'values='> (DQ ($ Id.VSub_Star '$*'))} {<-v>} {<Id.Lit_VarLike 'prefix='> (DQ ($ Id.VSub_DollarName '$PREFIX'))} { (DQ <'\n'> <' BEGIN { start = 0; }\n'> <' /^set'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <'('> ($ Id.VSub_DollarName '$VARNAME') <'/ {\n'> <' start = 1;\n'> <' print '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'0;\n'> <' len = split(values, vlist, '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <' '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <');\n'> <' for (i = 1; i <= len; ++i) {\n'> <' printf('> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <' %s%s'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <n> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <', prefix, vlist[i]);\n'> <' }\n'> <' next;\n'> <' }\n'> <' start && /^'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <')/ {\n'> <' start = 0;\n'> <' }\n'> <' !start {\n'> <' print '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'0;\n'> <' }\n'> <' '> ) } {($ Id.VSub_DollarName '$FILENAME')} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/tmp/'> ($ Id.VSub_Dollar '$$')} ) ] do_fork: T ) (C {<cp>} {<'/tmp/'> ($ Id.VSub_Dollar '$$')} {($ Id.VSub_DollarName '$FILENAME')}) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CMAKE_PREFIX) op: assign_op.Equal rhs: { (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'{protobuf_source_dir}/src/'> ) } spids: [625] ) ] ) (C {<set_cmake_value>} {($ Id.VSub_DollarName '$CMAKE_DIR') <'/libprotobuf-lite.cmake'>} {<libprotobuf_lite_files>} {($ Id.VSub_DollarName '$CMAKE_PREFIX')} {($ Id.VSub_DollarName '$LIBPROTOBUF_LITE_SOURCES')} ) (C {<set_cmake_value>} {($ Id.VSub_DollarName '$CMAKE_DIR') <'/libprotobuf.cmake'>} {<libprotobuf_files>} {($ Id.VSub_DollarName '$CMAKE_PREFIX')} {($ Id.VSub_DollarName '$LIBPROTOBUF_SOURCES')} ) (C {<set_cmake_value>} {($ Id.VSub_DollarName '$CMAKE_DIR') <'/libprotoc.cmake'>} {<libprotoc_files>} {($ Id.VSub_DollarName '$CMAKE_PREFIX')} {($ Id.VSub_DollarName '$LIBPROTOC_SOURCES')} ) (C {<set_cmake_value>} {($ Id.VSub_DollarName '$CMAKE_DIR') <'/tests.cmake'>} {<lite_test_protos>} {(DQ )} {($ Id.VSub_DollarName '$LITE_PROTOS')} ) (C {<set_cmake_value>} {($ Id.VSub_DollarName '$CMAKE_DIR') <'/tests.cmake'>} {<tests_protos>} {(DQ )} {($ Id.VSub_DollarName '$PROTOS_BLACKLISTED')} ) (C {<set_cmake_value>} {($ Id.VSub_DollarName '$CMAKE_DIR') <'/tests.cmake'>} {<common_test_files>} {($ Id.VSub_DollarName '$CMAKE_PREFIX')} {($ Id.VSub_DollarName '$COMMON_TEST_SOURCES')} ) (C {<set_cmake_value>} {($ Id.VSub_DollarName '$CMAKE_DIR') <'/tests.cmake'>} {<common_lite_test_files>} {($ Id.VSub_DollarName '$CMAKE_PREFIX')} {($ Id.VSub_DollarName '$COMMON_LITE_TEST_SOURCES')} ) (C {<set_cmake_value>} {($ Id.VSub_DollarName '$CMAKE_DIR') <'/tests.cmake'>} {<tests_files>} {($ Id.VSub_DollarName '$CMAKE_PREFIX')} {($ Id.VSub_DollarName '$TEST_SOURCES')} ) (C {<set_cmake_value>} {($ Id.VSub_DollarName '$CMAKE_DIR') <'/tests.cmake'>} {<lite_test_files>} {($ Id.VSub_DollarName '$CMAKE_PREFIX')} {($ Id.VSub_DollarName '$LITE_TEST_SOURCES')} ) (C {<set_cmake_value>} {($ Id.VSub_DollarName '$CMAKE_DIR') <'/tests.cmake'>} {<lite_arena_test_files>} {($ Id.VSub_DollarName '$CMAKE_PREFIX')} {($ Id.VSub_DollarName '$LITE_ARENA_TEST_SOURCES')} ) (command.Simple words: [{<echo>} {(DQ <'mkdir include'>)}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$EXTRACT_INCLUDES_BAT')} ) ] do_fork: T ) (command.Pipeline children: [ (command.ForEach iter_name: HEADER iter_words: [{($ Id.VSub_DollarName '$PUBLIC_HEADERS')}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HEADER_DIR) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<dirname>} {($ Id.VSub_DollarName '$HEADER')}) ) } spids: [769] ) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_DollarName '$HEADER_DIR'))} {<Id.Lit_Equals '='>} {(DQ <.>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup children: [ (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$HEADER_DIR')}) (C {<sed>} { (DQ <'s/'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <'//'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) <'/g'> ) } ) ] negated: F ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HEADER_DIR) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<dirname>} {($ Id.VSub_DollarName '$HEADER_DIR')}) ) } spids: [817] ) ] ) ] ) ) ] ) ) (C {<sort>}) (C {<uniq>}) (command.Simple words: [ {<sed>} { (DQ <'s/^/mkdir include'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <'/'> ) } ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$EXTRACT_INCLUDES_BAT')} ) ] do_fork: T ) ] negated: F ) (command.ForEach iter_name: HEADER iter_words: [{($ Id.VSub_DollarName '$PUBLIC_HEADERS')}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WINPATH) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$HEADER')}) (C {<sed>} {(SQ <'s;/;\\\\;g'>)}) ] negated: F ) ) } spids: [864] ) ] ) (command.Simple words: [ {<echo>} { (DQ <'copy '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'{PROTOBUF_SOURCE_WIN32_PATH}'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <..> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <src> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) ($ Id.VSub_DollarName '$WINPATH') <' include'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) ($ Id.VSub_DollarName '$WINPATH') ) } ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$EXTRACT_INCLUDES_BAT')} ) ] do_fork: T ) ] ) ) (command.ShFunction name: set_bazel_value body: (BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'FILENAME='> ($ Id.VSub_Number '$1')}) (C {<local>} {<Id.Lit_VarLike 'VARNAME='> ($ Id.VSub_Number '$2')}) (C {<local>} {<Id.Lit_VarLike 'PREFIX='> ($ Id.VSub_Number '$3')}) (C {<shift>}) (C {<shift>}) (C {<shift>}) (command.Simple words: [ {<awk>} {<-v>} {<Id.Lit_VarLike 'values='> (DQ ($ Id.VSub_Star '$*'))} {<-v>} {<Id.Lit_VarLike 'prefix='> (DQ ($ Id.VSub_DollarName '$PREFIX'))} { (DQ <'\n'> <' BEGIN { start = 0; }\n'> <' /# AUTOGEN'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <'('> ($ Id.VSub_DollarName '$VARNAME') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <')/ {\n'> <' start = 1;\n'> <' print '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'0;\n'> <' # replace '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'0 with indent.\n'> <' sub(/#.*/, '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <', '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'0)\n'> <' len = split(values, vlist, '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <' '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <');\n'> <' for (i = 1; i <= len; ++i) {\n'> <' printf('> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <'%s'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <'%s%s'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <','> <Id.Lit_BadBackslash '\\'> <n> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <', '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'0, prefix, vlist[i]);\n'> <' }\n'> <' next;\n'> <' }\n'> <' start && /'> <Id.Lit_BadBackslash '\\'> <']/ {\n'> <' start = 0\n'> <' }\n'> <' !start {\n'> <' print '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'0;\n'> <' }\n'> <' '> ) } {($ Id.VSub_DollarName '$FILENAME')} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/tmp/'> ($ Id.VSub_Dollar '$$')} ) ] do_fork: T ) (C {<cp>} {<'/tmp/'> ($ Id.VSub_Dollar '$$')} {($ Id.VSub_DollarName '$FILENAME')}) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:BAZEL_BUILD) op: assign_op.Equal rhs: {<'./BUILD'>} spids: [1042] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:BAZEL_PREFIX) op: assign_op.Equal rhs: {(DQ <'src/'>)} spids: [1045] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName '$BAZEL_BUILD'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<set_bazel_value>} {($ Id.VSub_DollarName '$BAZEL_BUILD')} {<protobuf_lite_srcs>} {($ Id.VSub_DollarName '$BAZEL_PREFIX')} {($ Id.VSub_DollarName '$LIBPROTOBUF_LITE_SOURCES')} ) (C {<set_bazel_value>} {($ Id.VSub_DollarName '$BAZEL_BUILD')} {<protobuf_srcs>} {($ Id.VSub_DollarName '$BAZEL_PREFIX')} {($ Id.VSub_DollarName '$LIBPROTOBUF_SOURCES')} ) (C {<set_bazel_value>} {($ Id.VSub_DollarName '$BAZEL_BUILD')} {<protoc_lib_srcs>} {($ Id.VSub_DollarName '$BAZEL_PREFIX')} {($ Id.VSub_DollarName '$LIBPROTOC_SOURCES')} ) (C {<set_bazel_value>} {($ Id.VSub_DollarName '$BAZEL_BUILD')} {<lite_test_protos>} {(DQ )} {($ Id.VSub_DollarName '$LITE_PROTOS')} ) (C {<set_bazel_value>} {($ Id.VSub_DollarName '$BAZEL_BUILD')} {<well_known_protos>} {(DQ )} {($ Id.VSub_DollarName '$WKT_PROTOS')} ) (C {<set_bazel_value>} {($ Id.VSub_DollarName '$BAZEL_BUILD')} {<test_protos>} {(DQ )} {($ Id.VSub_DollarName '$PROTOS')} ) (C {<set_bazel_value>} {($ Id.VSub_DollarName '$BAZEL_BUILD')} {<common_test_srcs>} {($ Id.VSub_DollarName '$BAZEL_PREFIX')} {($ Id.VSub_DollarName '$COMMON_TEST_SOURCES')} ) (C {<set_bazel_value>} {($ Id.VSub_DollarName '$BAZEL_BUILD')} {<test_srcs>} {($ Id.VSub_DollarName '$BAZEL_PREFIX')} {($ Id.VSub_DollarName '$TEST_SOURCES')} ) (C {<set_bazel_value>} {($ Id.VSub_DollarName '$BAZEL_BUILD')} {<test_plugin_srcs>} {($ Id.VSub_DollarName '$BAZEL_PREFIX')} {($ Id.VSub_DollarName '$TEST_PLUGIN_SOURCES')} ) ] spids: [1050 1063] ) ] else_action: [(C {<echo>} {(DQ <'Skipped BUILD file update.'>)})] ) ] )