|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 10240 (0x2800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Method, seg_0554ec
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Bounded_String; with Byte_Defs, Utils; use Bounded_String; package body Method is function Null_Method return Object is begin return (Parametre.Null_Variable_String, Liste_Parametre.Nil, Liste_Parametre.Nil, Sub_List.Nil, Filt_List.Nil); end Null_Method; function Image (O : Object) return String is Subscripted : Parametre.Variable_String; Filtration : Parametre.Variable_String; In_Param : Parametre.Variable_String; Out_Param : Parametre.Variable_String; Result : Parametre.Variable_String; begin Subscripted := Get_Subscripted_Object (O); Filtration := Get_Filtration_Object (O); In_Param := Get_In_Parameter (O => O); Out_Param := Get_Out_Parameter (O => O); Append (Result, O.Name); Append (Result, Parametre_Defs.Message_Separator); Append (Result, Natural'Image (Get_In_Parameter_Number (O))); Append (Result, Parametre_Defs.Message_Separator); Append (Result, In_Param); Append (Result, Natural'Image (Get_Out_Parameter_Number (O))); Append (Result, Parametre_Defs.Message_Separator); Append (Result, Out_Param); Append (Result, Subscripted); Append (Result, Filtration); return Image (Result); end Image; function Get_Method_Name (O : Object) return Parametre.Variable_String is begin return O.Name; end Get_Method_Name; function Get_In_Parameter_Number (O : Object) return Natural is begin return Liste_Parametre.Length (O.In_Parameters); end Get_In_Parameter_Number; function Get_In_Parameter (O : Object) return Parametre.Variable_String is Parameter : Parametre.Variable_String; Iter : Liste_Parametre.Iterator; begin Liste_Parametre.Init (Iter => Iter, L => O.In_Parameters); while not Liste_Parametre.Done (Iter) loop Append (Parameter, Image (Liste_Parametre.Value (Iter))); Append (Parameter, Parametre_Defs.Message_Separator); Liste_Parametre.Next (Iter); end loop; return Parameter; end Get_In_Parameter; function Get_Out_Parameter_Number (O : Object) return Natural is begin return Liste_Parametre.Length (O.Out_Parameters); end Get_Out_Parameter_Number; function Get_Out_Parameter (O : Object) return Parametre.Variable_String is Parameter : Parametre.Variable_String; Iter : Liste_Parametre.Iterator; begin Liste_Parametre.Init (Iter => Iter, L => O.Out_Parameters); while not Liste_Parametre.Done (Iter) loop Append (Parameter, Image (Liste_Parametre.Value (Iter))); Append (Parameter, Parametre_Defs.Message_Separator); Liste_Parametre.Next (Iter); end loop; return Parameter; end Get_Out_Parameter; function Get_Subscripted_Object (O : Object) return Parametre.Variable_String is Parameter : Parametre.Variable_String; Iter : Sub_List.S_Iterator; begin Sub_List.Init (Iter => Iter, L => O.Subscripted_Object); while not Sub_List.Done (Iter) loop Append (Parameter, Utils.Byte_String_To_String (Byte_Defs.Byte_String (Sub_List.Value (Iter)))); Append (Parameter, Parametre_Defs.Message_Separator); Sub_List.Next (Iter); end loop; return Parameter; end Get_Subscripted_Object; function Get_Sub_List (O : Object) return Sub_List.S_List is begin return O.Subscripted_Object; end Get_Sub_List; function Get_Filtration_Object (O : Object) return Parametre.Variable_String is Parameter : Parametre.Variable_String; Iter : Filt_List.S_Iterator; begin Filt_List.Init (Iter => Iter, L => O.Filtration_Object); while not Filt_List.Done (Iter) loop Append (Parameter, Utils.Byte_String_To_String (Byte_Defs.Byte_String ((Filt_List.Value (Iter))))); Append (Parameter, Parametre_Defs.Message_Separator); Filt_List.Next (Iter); end loop; return Parameter; end Get_Filtration_Object; procedure Init (O : out Object; Name : Parametre.Variable_String; In_Parameters : Liste_Parametre.List; Out_Parameters : Liste_Parametre.List) is begin O.Name := Name; O.In_Parameters := In_Parameters; O.Out_Parameters := Out_Parameters; end Init; procedure Add_Subscripted_Object (O : in out Object; The_Object : Parametre_Defs.Identificator) is begin if not Sub_List.Is_In (The_Object, O.Subscripted_Object) then O.Subscripted_Object := Sub_List.Make (The_Object, O.Subscripted_Object); end if; end Add_Subscripted_Object; procedure Remove_Subscripted_Object (O : in out Object; The_Object : Parametre_Defs.Identificator) is begin if Sub_List.Is_In (The_Object, O.Subscripted_Object) then Sub_List.Remove (The_Object, O.Subscripted_Object); end if; end Remove_Subscripted_Object; procedure Add_Filtration_Object (O : in out Object; The_Object : Parametre_Defs.Identificator) is begin O.Filtration_Object := Filt_List.Make (The_Object, O.Filtration_Object); end Add_Filtration_Object; procedure Remove_Filtration_Object (O : in out Object; The_Object : Parametre_Defs.Identificator) is begin if Filt_List.Is_In (The_Object, O.Filtration_Object) then Filt_List.Remove (The_Object, O.Filtration_Object); end if; end Remove_Filtration_Object; procedure Free (O : in out Object) is begin Sub_List.Free (O.Subscripted_Object); Filt_List.Free (O.Filtration_Object); Liste_Parametre.Free (O.In_Parameters); Liste_Parametre.Free (O.Out_Parameters); end Free; function Is_Subscripted (O : in Object; Method : Parametre_Defs.Identificator) return Boolean is begin return Sub_List.Is_In (Method, O.Subscripted_Object); end Is_Subscripted; function Is_Filtration (O : in Object; Method : Parametre_Defs.Identificator) return Boolean is begin return Filt_List.Is_In (Method, O.Filtration_Object); end Is_Filtration; function Equal (Left : Parametre.Variable_String; Right : Object) return Boolean is begin return Right.Name = Left; end Equal; end Method;
nblk1=9 nid=0 hdr6=12 [0x00] rec0=19 rec1=00 rec2=01 rec3=01a [0x01] rec0=04 rec1=00 rec2=09 rec3=004 [0x02] rec0=1c rec1=00 rec2=02 rec3=022 [0x03] rec0=1f rec1=00 rec2=03 rec3=018 [0x04] rec0=22 rec1=00 rec2=08 rec3=02e [0x05] rec0=03 rec1=00 rec2=04 rec3=01a [0x06] rec0=1c rec1=00 rec2=05 rec3=020 [0x07] rec0=21 rec1=00 rec2=06 rec3=004 [0x08] rec0=20 rec1=00 rec2=07 rec3=000 tail 0x2175f5ffa87bca01cf59b 0x42a00088462060003