(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:CLANG_TIDY) op:Equal rhs:{($ VSub_Number '$1')})]
    )
    (C {(shift)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:COMPILE_COMMANDS)
          op: Equal
          rhs: {($ VSub_Number '$1')}
        )
      ]
    )
    (C {(shift)})
    (command.ShAssignment
      pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:APPLY_FIXES) op:Equal rhs:{($ VSub_Number '$1')})]
    )
    (C {(shift)})
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Lit_LBracket '[')} {(DQ ($ VSub_DollarName '$APPLY_FIXES'))} 
                  {(Lit_Equals '=') (Lit_Equals '=')} {(DQ (1))} {(Lit_RBracket ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {($ VSub_DollarName '$CLANG_TIDY')} {(-p)} {($ VSub_DollarName '$COMPILE_COMMANDS')} 
              {(-fix)} {($ VSub_At '$@')}
            )
          ]
        )
      ]
      else_action: [
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:NUM_CORRECTIONS)
              op: Equal
              rhs: 
                {
                  (command_sub
                    left_token: <Left_Backtick '`'>
                    command_list: 
                      (command.CommandList
                        children: [
                          (command.Pipeline
                            children: [
                              (command.Simple
                                words: [
                                  {($ VSub_DollarName '$CLANG_TIDY')}
                                  {(-p)}
                                  {($ VSub_DollarName '$COMPILE_COMMANDS')}
                                  {($ VSub_At '$@')}
                                ]
                                redirects: [(redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})]
                              )
                              (C {(grep)} {(-v)} {(Skipping)})
                              (C {(grep)} {(DQ ('warnings* generated'))})
                              (C {(wc)} {(-l)})
                            ]
                            negated: F
                          )
                        ]
                      )
                  )
                }
            )
          ]
        )
        (command.If
          arms: [
            (if_arm
              cond: [
                (command.Sentence
                  child: 
                    (C {(Lit_LBracket '[')} {(DQ ($ VSub_DollarName '$NUM_CORRECTIONS'))} {(-gt)} 
                      {(DQ (0))} {(Lit_RBracket ']')}
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(echo)} {(DQ ('clang-tidy had suggested fixes.  Please fix these!!!'))})
                (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
              ]
            )
          ]
        )
      ]
    )
  ]
)