|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: B T
Length: 980 (0x3d4)
Types: TextFile
Names: »B«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦this⟧
with Bird;
with Fish;
with Oo_Ada_Exception;
separate (Animal)
procedure Delete (This_Animal : in out Object; Marker : Boolean := False) is
This_State_Ptr : State_Ptr := Part_Of (This_Animal);
begin
case This_State_Ptr.Offspring_No is
when 0 =>
Free (This_State_Ptr);
Application.Delete (Application.Object (This_Animal));
when 1 =>
if not Marker then
Fish.Delete (Fish.Object (This_Animal));
else
Free (This_State_Ptr);
Application.Delete (Application.Object (This_Animal));
end if;
when 2 =>
if not Marker then
Bird.Delete (Bird.Object (This_Animal));
else
Free (This_State_Ptr);
Application.Delete (Application.Object (This_Animal));
end if;
when others =>
raise Oo_Ada_Exception.Offspring_Error;
end case;
end Delete;