
-- 1: with Ada.Text_IO; use Ada.Text_IO;

-- 2: with Ada.Strings.Fixed; use Ada.Strings.Fixed;
with ada;
with ada.ada__strings;
with ada;
with ada.ada__text_io;
use ada.ada__text_io;
with ada.ada__strings.ada__strings__fixed;
use ada.ada__strings.ada__strings__fixed;
with system.system__concat_2;
with system.system__secondary_stack;
with interfaces;

-- 3:

-- 4: package body Report is
package body report is
   report__turned_on : boolean := true;

-- 5:

-- 6:    Turned_On : Boolean := True;

-- 7:

-- 8:    procedure Test (Test_Id, Test_Description : String) is
   procedure report__test (test_id : string; test_description : string) is
      M11b : system__secondary_stack__mark_id :=
        $system__secondary_stack__ss_mark;
      procedure report__test___clean is

-- 9:    begin
      begin
         $system__secondary_stack__ss_release (M11b);
         return;
      end report__test___clean;
   begin
      subtype report__test__S2b is string (test_description'first(1) ..
        test_description'last(1));
      subtype report__test__S1b is string (test_id'first(1) .. test_id'
        last(1));

-- 10:       if not Turned_On then
      if not report__turned_on then

-- 11:          return;
         return;

-- 12:       end if;
      end if;

-- 13:       Put_Line ("Test ID: " & Test_Id);
      B4b : declare
      begin
         L6b : constant integer := test_id'length;
         L7b : constant integer := 9 + L6b;
         subtype report__test__B4b__TS8bS is string (1 .. 1 + (L7b -
           1));
         S8b : string (1 .. 1 + (L7b - 1));
         $system__concat_2__str_concat_2 (S8b, "Test ID: ", test_id);
         ada__text_io__put_line__2 (S8b);
      end B4b;

-- 14:       Put_Line ("Description:");
      ada__text_io__put_line__2 ("Description:");

-- 15:       Put_Line (Test_Description);
      ada__text_io__put_line__2 (test_description);

-- 16:       Put_Line (40 * '-');
      B10b : declare
      begin
         ada__text_io__put_line__2 (ada__strings__fixed__Omultiply (
           40, '-'));

-- 17:    end Test;
      end B10b;
      return;
   at end
      report__test___clean;
   end report__test;

-- 18:

-- 19:

-- 20:    procedure Failed (Problem_Desc : String) is
   procedure report__failed (problem_desc : string) is
      M16b : system__secondary_stack__mark_id :=
        $system__secondary_stack__ss_mark;
      procedure report__failed___clean is

-- 21:    begin
      begin
         $system__secondary_stack__ss_release (M16b);
         return;
      end report__failed___clean;
   begin
      subtype report__failed__S12b is string (problem_desc'first(1) ..
        problem_desc'last(1));

-- 22:       if not Turned_On then
      if not report__turned_on then

-- 23:          return;
         return;

-- 24:       end if;
      end if;

-- 25:       Put_Line ("Problem detected:");
      ada__text_io__put_line__2 ("Problem detected:");

-- 26:       Put_Line (Problem_Desc);
      ada__text_io__put_line__2 (problem_desc);

-- 27:       Put_Line (40 * '-');
      B15b : declare
      begin
         ada__text_io__put_line__2 (ada__strings__fixed__Omultiply (
           40, '-'));

-- 28:    end Failed;
      end B15b;
      return;
   at end
      report__failed___clean;
   end report__failed;

-- 29:

-- 30:    procedure Result is
   procedure report__result is
      M20b : system__secondary_stack__mark_id :=
        $system__secondary_stack__ss_mark;
      procedure report__result___clean is

-- 31:    begin
      begin
         $system__secondary_stack__ss_release (M20b);
         return;
      end report__result___clean;
   begin

-- 32:       if not Turned_On then
      if not report__turned_on then

-- 33:          return;
         return;

-- 34:       end if;
      end if;

-- 35:       Put_Line ("Test finished");
      ada__text_io__put_line__2 ("Test finished");

-- 36:       Put_Line (40 * '-');
      B19b : declare
      begin
         ada__text_io__put_line__2 (ada__strings__fixed__Omultiply (
           40, '-'));

-- 37:    end Result;
      end B19b;
      return;
   at end
      report__result___clean;
   end report__result;

-- 38:

-- 39:    procedure Toggle (State : Boolean) is
   procedure report__toggle (state : boolean) is

-- 40:    begin
   begin

-- 41:       Turned_On := State;
      [constraint_error when
        not (interfaces__unsigned_32!(state) >= interfaces__unsigned_32!
          (false) and then interfaces__unsigned_32!(state) <=
          interfaces__unsigned_32!(true))
        "invalid data"]
      report__turned_on := state;

-- 42:    end Toggle;
      return;

-- 43:

-- 44: end Report;
   end report__toggle;
begin
   null;
end report;
