Browse Source

* provide access to the method table for raw interfaces (it is written even though $M is not respected by such interfaces currently)

git-svn-id: trunk@35411 -
svenbarth 8 years ago
parent
commit
870bffc70d
1 changed files with 6 additions and 0 deletions
  1. 6 0
      rtl/objpas/typinfo.pp

+ 6 - 0
rtl/objpas/typinfo.pp

@@ -377,6 +377,7 @@ unit typinfo;
         function GetUnitName: ShortString; inline;
         function GetIIDStr: ShortString; inline;
         function GetPropertyTable: PPropData; inline;
+        function GetMethodTable: PIntfMethodTable; inline;
       public
         Parent: PPTypeInfo;
         Flags : TIntfFlagsBase;
@@ -384,6 +385,7 @@ unit typinfo;
         property UnitName: ShortString read GetUnitName;
         property IIDStr: ShortString read GetIIDStr;
         property PropertyTable: PPropData read GetPropertyTable;
+        property MethodTable: PIntfMethodTable read GetMethodTable;
       private
         UnitNameField: ShortString;
         { IIDStr: ShortString; }
@@ -2703,6 +2705,10 @@ begin
   Result := aligntoptr(p);
 end;
 
+function TInterfaceRawData.GetMethodTable: PIntfMethodTable;
+begin
+  Result := aligntoptr(PropertyTable^.Tail);
+end;
 
 { TTypeData }