Ada_Ru форум

Обсуждение языка Ада

method addres.

Оставить новое сообщение

Сообщения

Dmitriy Anisimkov
method addres.
2005-05-12 09:01:33

Есть ли в Ада способ получить access или адрес метода заданного объекта (tagged естественно),

тип которого не известен на этапе выполнения.

В RM нашел только возможность сравнить тип 2-х объектов через аттрибут Tag, а как полчить адреса их методов, че то не нашел.

Dmitriy Anisimkov wrote:

 

Есть ли в Ада способ получить access или адрес метода заданного объекта (tagged естественно),

тип которого не известен на этапе выполнения.

В RM нашел только возможность сравнить тип 2-х объектов через аттрибут Tag, а как полчить адреса их методов, че то не нашел.

 

А если нагло:

 

Object_Name.Method_Name'Access ?

Sergey I. Rybin wrote:

 

Dmitriy Anisimkov wrote:

 

Есть ли в Ада способ получить access или адрес метода заданного объекта (tagged естественно),

тип которого не известен на этапе выполнения.

В RM нашел только возможность сравнить тип 2-х объектов через аттрибут Tag, а как полчить адреса их методов, че то не нашел.

 

А если нагло:

 

Object_Name.Method_Name'Access ?

bla-bla.adb:621:43: no selector "Method_Name" for type "Object_Type'CLASS" defined at bla-bla.ads:15

 

Object_Name.Method_Name - это в Ада200X только обещают, А вот в GNAT 5.03 не проканало.

Dmitriy Anisimkov wrote:

 

Есть ли в Ада способ получить access или адрес метода заданного объекта (tagged естественно),

тип которого не известен на этапе выполнения.

В RM нашел только возможность сравнить тип 2-х объектов через аттрибут Tag, а как полчить адреса их методов, че то не нашел.

 

Вообще-то в Ada любой адрес - достаточно абстрактная вещь. Адрес динамически диспетчеризируемой подпрограммы - очень глубоко зарытая штука и честными путями е ён енайт. :)

 

иОднак, Ada.Tags - Get_Prim_Op_Address - от, очт оиспользуе ткомпилято рпр игенераци икод.

Новое сообщение:
Страницы: 1

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти