(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:base) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<basename>} {(DQ ($ Id.VSub_Number '$0'))}) ) } spids: [4] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TOOL_OPTIONS) op: assign_op.Equal rhs: {(SQ <'--leak-check=no'>)} spids: [14] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$GIT_VALGRIND_ENABLED'))}) (C {<exec>} {(DQ ($ Id.VSub_DollarName '$GIT_VALGRIND')) <'/../../'> (DQ ($ Id.VSub_DollarName '$base'))} {(DQ ($ Id.VSub_At '$@'))} ) ] ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$GIT_VALGRIND_MODE'))} arms: [ (case_arm pat_list:[{<memcheck-fast>}] spids:[53 54 57 -1]) (case_arm pat_list: [{<memcheck>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:VALGRIND_VERSION) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<valgrind>} {<--version>}) ) } spids: [63] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:VALGRIND_MAJOR) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<expr>} {(DQ ($ Id.VSub_DollarName '$VALGRIND_VERSION'))} {<Id.Lit_Colon ':'>} {(SQ <'[^0-9]*\\([0-9]*\\)'>)} ) ) } spids: [71] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:VALGRIND_MINOR) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<expr>} {(DQ ($ Id.VSub_DollarName '$VALGRIND_VERSION'))} {<Id.Lit_Colon ':'>} {(SQ <'[^0-9]*[0-9]*\\.\\([0-9]*\\)'>)} ) ) } spids: [87] ) ] ) (command.AndOr ops: [Id.Op_DPipe Id.Op_DPipe] children: [ (C {<test>} {<3>} {<-gt>} {(DQ ($ Id.VSub_DollarName '$VALGRIND_MAJOR'))}) (C {<test>} {<3>} {<-eq>} {(DQ ($ Id.VSub_DollarName '$VALGRIND_MAJOR'))} {<-a>} {<4>} {<-gt>} {(DQ ($ Id.VSub_DollarName '$VALGRIND_MINOR'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TOOL_OPTIONS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$TOOL_OPTIONS') <' --track-origins=yes'>)} spids: [139] ) ] ) ] ) ] spids: [59 60 146 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TOOL_OPTIONS) op: assign_op.Equal rhs: {(DQ <'--tool='> ($ Id.VSub_DollarName '$GIT_VALGRIND_MODE'))} spids: [152] ) ] ) ] spids: [148 149 -1 158] ) ] ) (C {<exec>} {<valgrind>} {<-q>} {<--error-exitcode> <Id.Lit_Equals '='> <126>} {<--gen-suppressions> <Id.Lit_Equals '='> <all>} {<--suppressions> <Id.Lit_Equals '='> (DQ ($ Id.VSub_DollarName '$GIT_VALGRIND') <'/default.supp'>)} {($ Id.VSub_DollarName '$TOOL_OPTIONS')} {<--log-fd> <Id.Lit_Equals '='> <4>} {<--input-fd> <Id.Lit_Equals '='> <4>} {($ Id.VSub_DollarName '$GIT_VALGRIND_OPTIONS')} {(DQ ($ Id.VSub_DollarName '$GIT_VALGRIND')) <'/../../'> (DQ ($ Id.VSub_DollarName '$base'))} {(DQ ($ Id.VSub_At '$@'))} ) ] )