(command.CommandList children: [ (C {(Id.KW_Set set)} {(-e)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(Id.KW_Bang '!')} {(-z)} {(DQ ($ Id.VSub_At '$@'))} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:32) ) ] action: [ (command.ForEach iter_name: argument iter_words: [{(DQ ($ Id.VSub_At '$@'))}] do_arg_iter: F body: (command.DoGroup children: [ (command.Case to_match: {($ Id.VSub_DollarName '$argument')} arms: [ (case_arm pat_list: [{(DQ (-s))}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:curlopts) op: assign_op.Equal rhs: {(DQ (-s))} spids: [68] ) ] ) ] spids: [62 65 74 -1] ) ] ) ] ) ) ] spids: [19 34] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(Id.KW_Bang '!')} {(-f)} {(src/google/protobuf/stubs/common.h)}) terminator: (Token id:Id.Op_Semi val:';' span_id:98) ) ] action: [ (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:105) fd: -1 arg_word: {(2)} ) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:108) fd: -1 here_begin: {(__EOF__)} here_end_span_id: 115 stdin_parts: [ ( 'Could not find source code. Make sure you are running this script from the\n' ) ('root of the distribution tree.\n') ] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:117) arg_word: {(1)} ) ] spids: [89 100] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(Id.KW_Bang '!')} {(-e)} {(gmock)}) terminator: (Token id:Id.Op_Semi val:';' span_id:139) ) ] action: [ (C {(echo)} {(DQ ('Google Mock not present. Fetching gmock-1.7.0 from the web...'))}) (C {(curl)} {($ Id.VSub_DollarName '$curlopts')} {(-L)} {(-O)} {(https) (Id.Lit_Other ':') (//github.com/google/googlemock/archive/release-1.7.0.zip)} ) (C {(unzip)} {(-q)} {(release-1.7.0.zip)}) (C {(rm)} {(release-1.7.0.zip)}) (C {(mv)} {(googlemock-release-1.7.0)} {(gmock)}) (C {(curl)} {($ Id.VSub_DollarName '$curlopts')} {(-L)} {(-O)} {(https) (Id.Lit_Other ':') (//github.com/google/googletest/archive/release-1.7.0.zip)} ) (C {(unzip)} {(-q)} {(release-1.7.0.zip)}) (C {(rm)} {(release-1.7.0.zip)}) (C {(mv)} {(googletest-release-1.7.0)} {(gmock/gtest)}) ] spids: [130 141] ) ] ) (C {(Id.KW_Set set)} {(-ex)}) (C {(autoreconf)} {(-f)} {(-i)} {(-Wall) (Id.Lit_Comma ',') (no-obsolete)}) (C {(rm)} {(-rf)} {(autom4te.cache)} {(config.h.in) (Id.Lit_TildeLike '~')}) (command.ControlFlow token:(Token id:Id.ControlFlow_Exit val:exit span_id:246) arg_word:{(0)}) ] )