mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-12-09 01:17:22 +01:00
Added TRttiIndexedProperty, the whole property handling infrastructure has been significantly redesigned
This commit is contained in:
parent
2596af84fa
commit
f7bcabd956
File diff suppressed because it is too large
Load Diff
@ -2066,7 +2066,7 @@ begin
|
||||
begin
|
||||
// When passing nil, we just need the count
|
||||
if Assigned(PropList) then
|
||||
PropList^[Result]:=TD^.Prop[i];
|
||||
PropList^[Result]:=TP;
|
||||
Inc(Result);
|
||||
end;
|
||||
end;
|
||||
@ -2082,7 +2082,7 @@ Function GetRecordPropInfosEx(TypeInfo: PTypeInfo; PropList: PPropListEx; Visibi
|
||||
|
||||
Var
|
||||
TD : PPropDataEx;
|
||||
TP : PPropListEx;
|
||||
TP : PPropInfoEx;
|
||||
Offset,I,Count : Longint;
|
||||
|
||||
begin
|
||||
@ -2090,17 +2090,17 @@ begin
|
||||
// Clear list
|
||||
TD:=PRecordData(GetTypeData(TypeInfo))^.ExRTTITable;
|
||||
Count:=TD^.PropCount;
|
||||
// Now point TP to first propinfo record.
|
||||
Inc(Pointer(TP),SizeOF(Word));
|
||||
tp:=aligntoptr(tp);
|
||||
For I:=0 to Count-1 do
|
||||
if ([]=Visibilities) or (PropList^[Result]^.Visibility in Visibilities) then
|
||||
begin
|
||||
TP:=TD^.Prop[I];
|
||||
if ([]=Visibilities) or (TP^.Visibility in Visibilities) then
|
||||
begin
|
||||
// When passing nil, we just need the count
|
||||
if Assigned(PropList) then
|
||||
PropList^[Result]:=TD^.Prop[i];
|
||||
PropList^[Result]:=TP;
|
||||
Inc(Result);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
@ -5148,4 +5148,4 @@ begin
|
||||
end;
|
||||
{$ENDIF HAVE_INVOKEHELPER}
|
||||
|
||||
end.
|
||||
end.
|
||||
Loading…
Reference in New Issue
Block a user