Where is my ASIS mistake?
From: Xela (xela2_at_free.fr)
Date: 11/28/03
- Next message: Martin Dowie: "Re: IDE"
- Previous message: WLad: "Re: Happy Thanksgiving"
- Next in thread: Alex Xela: "Re: Where is my ASIS mistake?"
- Reply: Alex Xela: "Re: Where is my ASIS mistake?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: 28 Nov 2003 11:12:11 GMT
With a basic ASIS program I am attempting to list all units in my current
library.
In order, I wrote the following code:
------------
with Asis;
with Asis.Implementation;
with Asis.Ada_Environments;
with Asis.Compilation_Units;
with Asis.Ada_Environments.Containers;
with Ada.Text_Io;
with Ada.Wide_Text_Io;
procedure List_Units is
My_Context : Asis.Context;
Sep : constant String := "------------------------------------------";
begin
Asis.Implementation.Initialize;
Asis.Ada_Environments.Associate(My_Context, "My Context");
Asis.Ada_Environments.Open (My_Context);
declare
Libraries_List : Asis.Ada_Environments.Containers.Container_List
:= Asis.Ada_Environments.Containers.Defining_Containers(My_Context);
Units_List : Asis.Compilation_Unit_List
:= Asis.Ada_Environments.Containers.Compilation_Units(
Libraries_List(1));
begin
for U in Units_List'range loop
Ada.Text_Io.Put_Line(Sep);
Ada.Wide_Text_Io.Put_Line("Full Name = "&Asis.Compilation_Units.
Unit_Full_Name(Units_List(U)));
Ada.Wide_Text_Io.Put_Line("Texte Name= "&Asis.Compilation_Units.
Text_Name(Units_List(U)));
Ada.Text_Io.Put_Line("Unit Kind = "&Asis.Unit_Kinds'Image(Asis.
Compilation_Units.Unit_Kind(Units_List(U))));
end loop;
end;
Ada.Text_Io.Put_Line(Sep);
Asis.Ada_Environments.Close( My_Context );
Asis.Ada_Environments.Dissociate( My_Context );
Asis.Implementation.Finalize;
end List_Units;
--------
If now I compile with gnat3.15p the following code (gnatmake hello), and also
my List_units one :
with Ada.Text_Io;
procedure Hello is
begin
Ada.Text_Io.Put_Line("hello!");
end Hello;
Executing list_units.exe give me:
--------------------------------------
Full Name = Standard
Texte Name=
Unit Kind = A_PACKAGE
-------------------------------------- :-(
Now with the same code, If I recompile my list_units program and I execute it
under an ObjectAda library registered with the hello unit the result is the
expecting one:
------------------------------------------
Full Name = Hello
Texte Name= d:\Cholay\Tmp\Exercices\hello.adb
Unit Kind = A_PROCEDURE_BODY
------------------------------------------ :-)
I am convincing with the fact that I am making a huge error but which one?
Thanks for the help!
-- Ce message a ete poste via la plateforme Web club-Internet.fr This message has been posted by the Web platform club-Internet.fr http://forums.club-internet.fr/
- Next message: Martin Dowie: "Re: IDE"
- Previous message: WLad: "Re: Happy Thanksgiving"
- Next in thread: Alex Xela: "Re: Where is my ASIS mistake?"
- Reply: Alex Xela: "Re: Where is my ASIS mistake?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]