在最近的AdaCore Gem中,有这样一句话:AdaCore Gem:
我可以更改源代码,使类型可见并受控制。
Finalize的实现略微复杂:Ada参考手册指出Finalize过程应始终是幂等的。当异常发生时,Ada编译器可以自由地在同一对象上多次调用Finalize。我需要测试一个私有控制类型。
type T is private;
private
type T is new Ada.Finalization.Controlled with ...
我可以更改源代码,使类型可见并受控制。
type T is new Ada.Finalization.Controlled with private;
然后只需调用Finalize(My_T);
(甚至是My_T.Finalize
?); 但是有没有办法在不更改被测试软件的情况下执行多个终结操作?