let get_stmt_annots config v s =
  let do_annot a ((b_acc, (a_acc, e_acc)) as acc) =
    let ca = Annotations.get_code_annotation a in
    match ca.annot_content with
      | AInvariant (b_list, loop_inv, inv) ->
          if loop_inv then (* see get_loop_annots *) acc
          else if Wp_parameters.Invariants.get() then
            add_stmt_invariant_annot config v s ca b_list inv acc
          else begin
              Wp_parameters.warning
                "ignored 'invariant' (use -wp-invariants option) : %a"
                 !Ast_printer.d_code_annotation ca;
              acc
          end
      | AAssert (b_list,p) ->
          let kf = config.kf in
          let acc = match is_annot_for_config config v s b_list with
            | TBRno -> acc
            | TBRhyp ->
                let b_acc = 
                  WpStrategy.add_prop_assert b_acc WpStrategy.Ahyp kf s ca p
                in (b_acc, (a_acc, e_acc))
            | TBRok | TBRpart -> 
                let id = WpPropId.mk_assert_id config.kf s ca in
                let kind = WpStrategy.Aboth (goal_to_select config id) in
                let b_acc = WpStrategy.add_prop_assert b_acc kind kf s ca p in
                  (b_acc, (a_acc, e_acc))
          in acc
      | AAssigns (_b_list, _assigns) -> 
        (* loop assigns: see get_loop_annots *) acc
      | AVariant (_v, _rel) -> (* see get_loop_annots *) acc
      | APragma _ ->
          Wp_parameters.warning "Ignored annotation:@ %a"
            !Ast_printer.d_code_annotation ca;
          acc
      | AStmtSpec (b_list, spec) ->
          if b_list <> [] then (* TODO ! *)
            Wp_parameters.warning 
              "Ignored 'for %a' (generalize to all behavior)"
              (Pretty_utils.pp_list ~sep:", " Format.pp_print_string)
              b_list;
          add_stmt_spec_annots config v s spec acc
  in
  let before_acc = WpStrategy.empty_acc in
  let  after_acc = WpStrategy.empty_acc in
  let  exits_acc = WpStrategy.empty_acc in
  let acc = before_acc, (after_acc, exits_acc) in
    Annotations.single_fold_stmt do_annot s acc