mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-15 15:49:23 +02:00
no message
This commit is contained in:
parent
5fb0678de2
commit
e9676f56b8
@ -32,13 +32,21 @@ type
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
PFieldClassTable = ^TFieldClassTable;
|
PFieldClassTable = ^TFieldClassTable;
|
||||||
TFieldClassTable = packed record
|
TFieldClassTable =
|
||||||
|
{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
|
||||||
|
packed
|
||||||
|
{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
|
||||||
|
record
|
||||||
Count: Word;
|
Count: Word;
|
||||||
Entries: array[Word] of TPersistentClass;
|
Entries: array[Word] of TPersistentClass;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
PFieldTable = ^TFieldTable;
|
PFieldTable = ^TFieldTable;
|
||||||
TFieldTable = packed record
|
TFieldTable =
|
||||||
|
{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
|
||||||
|
packed
|
||||||
|
{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
|
||||||
|
record
|
||||||
FieldCount: Word;
|
FieldCount: Word;
|
||||||
ClassTable: PFieldClassTable;
|
ClassTable: PFieldClassTable;
|
||||||
{ Fields: array[Word] of TFieldInfo; Elements have variant size! }
|
{ Fields: array[Word] of TFieldInfo; Elements have variant size! }
|
||||||
@ -148,6 +156,10 @@ begin
|
|||||||
fi := @Cft^.ClassTable + SizeOf(Cft^.ClassTable);
|
fi := @Cft^.ClassTable + SizeOf(Cft^.ClassTable);
|
||||||
for n := 0 to Cft^.FieldCount - 1 do
|
for n := 0 to Cft^.FieldCount - 1 do
|
||||||
begin
|
begin
|
||||||
|
{$ifdef FPC_REQUIRES_PROPER_ALIGNMENT}
|
||||||
|
pointer(fi):=align(fi,sizeof(pointer));
|
||||||
|
{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
|
||||||
|
|
||||||
Move(fi^.FieldOffset, FieldOffset, SizeOf(FieldOffset));
|
Move(fi^.FieldOffset, FieldOffset, SizeOf(FieldOffset));
|
||||||
WriteLn(Indent, ' ', n, ': ', fi^.Name, ' @', FieldOffset);
|
WriteLn(Indent, ' ', n, ': ', fi^.Name, ' @', FieldOffset);
|
||||||
fi := @fi^.name + 1 + Ord(fi^.name[0]);
|
fi := @fi^.name + 1 + Ord(fi^.name[0]);
|
||||||
|
Loading…
Reference in New Issue
Block a user