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