(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'INFER='> name:INFER)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number 1)}
          spids: [63]
        )
      ]
      redirects: []
    )
    (C {<shift>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'COMPILE_COMMANDS='> name:COMPILE_COMMANDS)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number 1)}
          spids: [68]
        )
      ]
      redirects: []
    )
    (C {<shift>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'APPLY_STEP='> name:APPLY_STEP)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number 1)}
          spids: [73]
        )
      ]
      redirects: []
    )
    (C {<shift>})
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName APPLY_STEP))} 
                      {<Id.Lit_Equals '='> <Id.Lit_Equals '='>} {(DQ <1>)} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {($ Id.VSub_DollarName INFER)} {<capture>} {<--compilation-database>} 
              {($ Id.VSub_DollarName COMPILE_COMMANDS)}
            )
            (C {<echo>} {(DQ )})
            (C {<echo>} {(DQ <'Run \'make infer-analyze\' next.'>)})
          ]
          spids: [79 97]
        )
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName APPLY_STEP))} 
                      {<Id.Lit_Equals '='> <Id.Lit_Equals '='>} {(DQ <2>)} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {($ Id.VSub_DollarName INFER)} {<analyze>})
            (C {<echo>} {(DQ )})
            (C {<echo>} {(DQ <'Run \'make infer-report\' next.'>)})
            (C {<echo>} {(DQ <'See: http://fbinfer.com/docs/steps-for-ci.html'>)})
          ]
          spids: [121 139]
        )
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName APPLY_STEP))} 
                      {<Id.Lit_Equals '='> <Id.Lit_Equals '='>} {(DQ <3>)} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.Simple
              words: [
                {($ Id.VSub_DollarName INFER)}
                {<report>}
                {<--issues-csv>}
                {<'./infer-out/report.csv'>}
              ]
              redirects: [(redir op:<Id.Redir_Great '1>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [
                {($ Id.VSub_DollarName INFER)}
                {<report>}
                {<--issues-txt>}
                {<'./infer-out/report.txt'>}
              ]
              redirects: [(redir op:<Id.Redir_Great '1>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [
                {($ Id.VSub_DollarName INFER)}
                {<report>}
                {<--issues-json>}
                {<'./infer-out/report.json'>}
              ]
              redirects: [(redir op:<Id.Redir_Great '1>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})]
              more_env: []
              do_fork: T
            )
            (C {<echo>} {(DQ )})
            (C {<echo>} 
              {
                (DQ 
                  <
'Reports (report.txt, report.csv, report.json) can be found in the infer-out subdirectory.'
                  >
                )
              }
            )
          ]
          spids: [170 188]
        )
      ]
      else_action: [
        (C {<echo>} {(DQ )})
        (C {<echo>} {(DQ <'See: http://fbinfer.com/docs/steps-for-ci.html'>)})
      ]
      redirects: []
    )
  ]
)