Skip to content

Commit

Permalink
M agpl-protected_datastore.ads
Browse files Browse the repository at this point in the history
M    agpl-generic_handle.ads
M    agpl-trace-root.ads
M    agpl-graphs-bellman_ford.ads
M    agpl-trace-console.ads
M    agpl-htn-tasks-immediate.ads
M    agpl-trace.ads
  • Loading branch information
mosteo committed May 14, 2007
1 parent c6d1543 commit 4c3bbea
Show file tree
Hide file tree
Showing 7 changed files with 18 additions and 2 deletions.
2 changes: 2 additions & 0 deletions agpl-generic_handle.ads
Expand Up @@ -42,6 +42,8 @@ package Agpl.Generic_Handle is

type Object is tagged private;

pragma Preelaborable_Initialization (Object);

function Null_Object return Object;
pragma Inline (Null_Object);

Expand Down
2 changes: 2 additions & 0 deletions agpl-graphs-bellman_ford.ads
Expand Up @@ -45,6 +45,8 @@ package Agpl.Graphs.Bellman_Ford is
type Graph is tagged private;
-- Graphs must be continuous: that is, vertices must be consecutively named.

pragma Preelaborable_Initialization (Graph);

procedure Add_Edge (This : in out Graph;
E : in Edge);

Expand Down
2 changes: 1 addition & 1 deletion agpl-htn-tasks-immediate.ads
Expand Up @@ -32,7 +32,7 @@ package Agpl.Htn.Tasks.Immediate is

pragma Preelaborate;

type Object is abstract interface;
type Object is interface;
type Object_Access is access Object'Class;

-- There's nothing to implement. Inmediate tasks are those that must be
Expand Down
2 changes: 2 additions & 0 deletions agpl-protected_datastore.ads
Expand Up @@ -39,6 +39,8 @@ package Agpl.Protected_Datastore is
type Object is tagged limited private;
type Object_Access is access Object'Class;

pragma Preelaborable_Initialization (Object);

function Contains (This : in Object;
Key : in Object_Key)
return Boolean;
Expand Down
2 changes: 2 additions & 0 deletions agpl-trace-console.ads
Expand Up @@ -43,6 +43,8 @@ package Agpl.Trace.Console is
type Object is new Root.Object with private;
type Object_Access is access all Object'Class;

pragma Preelaborable_Initialization (Object);

overriding
procedure Log (This : in out Object;
Text : in String;
Expand Down
2 changes: 2 additions & 0 deletions agpl-trace-root.ads
Expand Up @@ -43,6 +43,8 @@ package Agpl.Trace.Root is
type Object is limited new Trace.Object with private;
type Object_Access is access all Object'Class;

pragma Preelaborable_Initialization (Object);

overriding
procedure Log (This : in out Object;
Text : in String;
Expand Down
8 changes: 7 additions & 1 deletion agpl-trace.ads
Expand Up @@ -48,10 +48,12 @@ package Agpl.Trace is

-- This object is not thread safe.
-- type Object is limited interface;
type Object is abstract tagged limited null record;
type Object is abstract tagged limited private; -- null record;
-- Should be an interface but the gnat bug with containers prevents it
type Object_Access is access all Object'Class;

pragma Preelaborable_Initialization (Object);

type Levels is (
Never,
Debug,
Expand Down Expand Up @@ -141,4 +143,8 @@ package Agpl.Trace is
function Report (E : Ada.Exceptions.Exception_Occurrence) return String
renames Agpl.Debug.Report;

private

type Object is abstract tagged limited null record;

end Agpl.Trace;

0 comments on commit 4c3bbea

Please sign in to comment.