(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INFER) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [63] ) ] ) (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: [68] ) ] ) (C {(shift)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:APPLY_STEP) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [73] ) ] ) (C {(shift)}) (command.If arms: [ (if_arm cond: [ (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: (Token id:Id.Op_Semi val:';' span_id:95) ) ] 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: [ (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: (Token id:Id.Op_Semi val:';' span_id:137) ) ] 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: [ (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: (Token id:Id.Op_Semi val:';' span_id:186) ) ] action: [ (command.Simple words: [ {($ Id.VSub_DollarName '$INFER')} {(report)} {(--issues-csv)} {(./infer-out/report.csv)} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'1>' span_id:199) fd: 1 arg_word: {(/dev/null)} ) ] ) (command.Simple words: [ {($ Id.VSub_DollarName '$INFER')} {(report)} {(--issues-txt)} {(./infer-out/report.txt)} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'1>' span_id:212) fd: 1 arg_word: {(/dev/null)} ) ] ) (command.Simple words: [ {($ Id.VSub_DollarName '$INFER')} {(report)} {(--issues-json)} {(./infer-out/report.json)} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'1>' span_id:225) fd: 1 arg_word: {(/dev/null)} ) ] ) (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'))}) ] ) ] )