|
@@ -2936,6 +2936,7 @@ implementation
|
|
|
TRTTI_ATTRIBUTE_LIST
|
|
|
****************************************************************************}
|
|
|
|
|
|
+
|
|
|
constructor trtti_attribute.ppuload(ppufile: tcompilerppufile);
|
|
|
begin
|
|
|
ppufile.getderef(typesymderef);
|
|
@@ -2943,6 +2944,7 @@ implementation
|
|
|
setlength(paras,ppufile.getlongint);
|
|
|
end;
|
|
|
|
|
|
+
|
|
|
procedure trtti_attribute.ppuwrite(ppufile: tcompilerppufile);
|
|
|
begin
|
|
|
ppufile.putderef(typesymderef);
|
|
@@ -2950,6 +2952,7 @@ implementation
|
|
|
ppufile.putlongint(length(paras));
|
|
|
end;
|
|
|
|
|
|
+
|
|
|
procedure trtti_attribute.ppuload_subentries(ppufile: tcompilerppufile);
|
|
|
var
|
|
|
i : sizeint;
|
|
@@ -2958,6 +2961,7 @@ implementation
|
|
|
paras[i]:=ppuloadnodetree(ppufile);
|
|
|
end;
|
|
|
|
|
|
+
|
|
|
procedure trtti_attribute.ppuwrite_subentries(ppufile: tcompilerppufile);
|
|
|
var
|
|
|
i : sizeint;
|
|
@@ -2966,6 +2970,7 @@ implementation
|
|
|
ppuwritenodetree(ppufile,paras[i]);
|
|
|
end;
|
|
|
|
|
|
+
|
|
|
destructor trtti_attribute.destroy;
|
|
|
var
|
|
|
n : tnode;
|
|
@@ -2976,6 +2981,7 @@ implementation
|
|
|
inherited destroy;
|
|
|
end;
|
|
|
|
|
|
+
|
|
|
procedure trtti_attribute.buildderef;
|
|
|
var
|
|
|
i : sizeint;
|
|
@@ -2986,6 +2992,7 @@ implementation
|
|
|
paras[i].buildderefimpl;
|
|
|
end;
|
|
|
|
|
|
+
|
|
|
procedure trtti_attribute.deref;
|
|
|
var
|
|
|
i : sizeint;
|
|
@@ -2996,6 +3003,7 @@ implementation
|
|
|
paras[i].derefimpl;
|
|
|
end;
|
|
|
|
|
|
+
|
|
|
class procedure trtti_attribute_list.bind(var dangling,owned:trtti_attribute_list);
|
|
|
begin
|
|
|
if assigned(owned) then
|
|
@@ -3010,6 +3018,7 @@ implementation
|
|
|
dangling:=nil;
|
|
|
end;
|
|
|
|
|
|
+
|
|
|
procedure trtti_attribute_list.addattribute(atypesym:tsym;typeconstr:tdef;constructorcall:tnode;constref paras:array of tnode);
|
|
|
var
|
|
|
newattribute : trtti_attribute;
|
|
@@ -3027,6 +3036,7 @@ implementation
|
|
|
rtti_attributes.Add(newattribute);
|
|
|
end;
|
|
|
|
|
|
+
|
|
|
procedure trtti_attribute_list.addattribute(attr:trtti_attribute);
|
|
|
begin
|
|
|
if not assigned(rtti_attributes) then
|
|
@@ -3034,6 +3044,7 @@ implementation
|
|
|
rtti_attributes.add(attr);
|
|
|
end;
|
|
|
|
|
|
+
|
|
|
destructor trtti_attribute_list.destroy;
|
|
|
var
|
|
|
i : longint;
|
|
@@ -3047,6 +3058,7 @@ implementation
|
|
|
inherited destroy;
|
|
|
end;
|
|
|
|
|
|
+
|
|
|
function trtti_attribute_list.get_attribute_count:longint;
|
|
|
begin
|
|
|
if assigned(rtti_attributes) then
|
|
@@ -3055,6 +3067,7 @@ implementation
|
|
|
result:=0;
|
|
|
end;
|
|
|
|
|
|
+
|
|
|
procedure trtti_attribute_list.buildderef;
|
|
|
var
|
|
|
i : sizeint;
|
|
@@ -3065,6 +3078,7 @@ implementation
|
|
|
trtti_attribute(rtti_attributes[i]).buildderef;
|
|
|
end;
|
|
|
|
|
|
+
|
|
|
procedure trtti_attribute_list.deref;
|
|
|
var
|
|
|
i : sizeint;
|
|
@@ -3075,6 +3089,7 @@ implementation
|
|
|
trtti_attribute(rtti_attributes[i]).deref;
|
|
|
end;
|
|
|
|
|
|
+
|
|
|
class procedure trtti_attribute_list.ppuload_subentries(attrlist:trtti_attribute_list;ppufile:tcompilerppufile);
|
|
|
var
|
|
|
i : sizeint;
|
|
@@ -3088,6 +3103,7 @@ implementation
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
+
|
|
|
class procedure trtti_attribute_list.ppuwrite_subentries(attrlist:trtti_attribute_list;ppufile:tcompilerppufile);
|
|
|
var
|
|
|
i : sizeint;
|
|
@@ -3099,6 +3115,7 @@ implementation
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
+
|
|
|
class function trtti_attribute_list.ppuload(ppufile:tcompilerppufile):trtti_attribute_list;
|
|
|
var
|
|
|
cnt,i : longint;
|
|
@@ -3114,6 +3131,7 @@ implementation
|
|
|
result:=nil;
|
|
|
end;
|
|
|
|
|
|
+
|
|
|
class procedure trtti_attribute_list.ppuwrite(attrlist:trtti_attribute_list;ppufile:tcompilerppufile);
|
|
|
var
|
|
|
i : longint;
|