瀏覽代碼

+ add new type TVmtFieldClassTab for the class table of the field table (Delphi compatible)

git-svn-id: trunk@37483 -
svenbarth 7 年之前
父節點
當前提交
0ba1073615
共有 1 個文件被更改,包括 11 次插入1 次删除
  1. 11 1
      rtl/objpas/typinfo.pp

+ 11 - 1
rtl/objpas/typinfo.pp

@@ -182,6 +182,16 @@ unit typinfo;
         property Tail: Pointer read GetTail;
         property Tail: Pointer read GetTail;
       end;
       end;
 
 
+      PVmtFieldClassTab = ^TVmtFieldClassTab;
+      TVmtFieldClassTab =
+{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
+      packed
+{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
+      record
+        Count: Word;
+        ClassRef: array[0..0] of PClass;
+      end;
+
       PVmtFieldEntry = ^TVmtFieldEntry;
       PVmtFieldEntry = ^TVmtFieldEntry;
       TVmtFieldEntry =
       TVmtFieldEntry =
 {$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
 {$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
@@ -200,7 +210,7 @@ unit typinfo;
 {$endif FPC_REQUIRES_PROPER_ALIGNMENT}
 {$endif FPC_REQUIRES_PROPER_ALIGNMENT}
       record
       record
         Count: Word;
         Count: Word;
-        ClassTab: Pointer;
+        ClassTab: PVmtFieldClassTab;
         { should be array[Word] of TFieldInfo;  but
         { should be array[Word] of TFieldInfo;  but
           Elements have variant size! force at least proper alignment }
           Elements have variant size! force at least proper alignment }
         Fields: array[0..0] of TVmtFieldEntry
         Fields: array[0..0] of TVmtFieldEntry