summaryrefslogtreecommitdiff
path: root/src/kompsos.adb
diff options
context:
space:
mode:
authorJedidiah Barber <contact@jedbarber.id.au>2025-12-16 18:48:36 +1300
committerJedidiah Barber <contact@jedbarber.id.au>2025-12-16 18:48:36 +1300
commit49ce64ee1e086df3b84ebd60507f3b3547a5bf0e (patch)
tree801c72cd428b4265b60708aed9659e587b0c3358 /src/kompsos.adb
parent826b9d2dad1031a3eca29dd2fb8b6643e53e5fc1 (diff)
Can now output the basic structural DAG of a World in DOT format
Diffstat (limited to 'src/kompsos.adb')
-rw-r--r--src/kompsos.adb18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/kompsos.adb b/src/kompsos.adb
index e525f23..1fedb86 100644
--- a/src/kompsos.adb
+++ b/src/kompsos.adb
@@ -9,7 +9,9 @@
with
Ada.Unchecked_Deallocation,
- Kompsos.Collector;
+ Kompsos.Collector,
+ System.Address_To_Access_Conversions,
+ System.Storage_Elements;
package body Kompsos is
@@ -191,6 +193,20 @@ package body Kompsos is
-- Worlds --
+ package World_Convert is new System.Address_To_Access_Conversions (World_Component);
+
+ function "<"
+ (Left, Right : in World_Component_Access)
+ return Boolean
+ is
+ use System.Storage_Elements;
+ begin
+ return
+ To_Integer (World_Convert.To_Address (World_Convert.Object_Pointer (Left))) <
+ To_Integer (World_Convert.To_Address (World_Convert.Object_Pointer (Right)));
+ end "<";
+
+
function Static
(Item : in State)
return World'Class