(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:INFER) op:Equal rhs:{($ VSub_Number '$1')} spids:[63])]
      spids: [63]
    )
    (C {(shift)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:COMPILE_COMMANDS)
          op: Equal
          rhs: {($ VSub_Number '$1')}
          spids: [68]
        )
      ]
      spids: [68]
    )
    (C {(shift)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:APPLY_STEP)
          op: Equal
          rhs: {($ VSub_Number '$1')}
          spids: [73]
        )
      ]
      spids: [73]
    )
    (C {(shift)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$APPLY_STEP'))} 
                  {(Lit_Other '=') (Lit_Other '=')} {(DQ (1))} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {($ VSub_Name '$INFER')} {(capture)} {(--compilation-database)} 
              {($ VSub_Name '$COMPILE_COMMANDS')}
            )
            (C {(echo)} {(DQ )})
            (C {(echo)} {(DQ ("Run 'make infer-analyze' next."))})
          ]
          spids: [16777215 97]
        )
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$APPLY_STEP'))} 
                  {(Lit_Other '=') (Lit_Other '=')} {(DQ (2))} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {($ VSub_Name '$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: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$APPLY_STEP'))} 
                  {(Lit_Other '=') (Lit_Other '=')} {(DQ (3))} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (SimpleCommand
              words: [{($ VSub_Name '$INFER')} {(report)} {(--issues-csv)} {(./infer-out/report.csv)}]
              redirects: [(Redir op_id:Redir_Great fd:1 arg_word:{(/dev/null)} spids:[199])]
            )
            (SimpleCommand
              words: [{($ VSub_Name '$INFER')} {(report)} {(--issues-txt)} {(./infer-out/report.txt)}]
              redirects: [(Redir op_id:Redir_Great fd:1 arg_word:{(/dev/null)} spids:[212])]
            )
            (SimpleCommand
              words: [{($ VSub_Name '$INFER')} {(report)} {(--issues-json)} {(./infer-out/report.json)}]
              redirects: [(Redir op_id:Redir_Great fd:1 arg_word:{(/dev/null)} spids:[225])]
            )
            (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'))})
      ]
      spids: [242 257]
    )
  ]
)