4

出于好奇,这里有一个问题,是否可以找到您所在方法的名称?像这样的东西应该在不诉诸字符串文字的情况下Magic输出。"foo.bar.foobar"

with ada.text_io;
package body foo.bar is 

   function foobar return boolean is 
   begin
     ada.text_io.put_line ("I am in :" & Magic);
     return true;
   end foobar;

end foo.bar;

我会假设这是信息位于某处,因为堆栈跟踪、异常和分析工具等的输出类似,但我无法在任何地方找到它的记录!

4

1 回答 1

5

我相信您已经知道,Ada(不幸的是)不支持反射。

但是...如果您使用 GNAT 并且可以使用特定于编译器的实用程序,则可以从包GNAT.Source_Info中获取此类信息。

于 2012-04-23T12:14:56.433 回答