Browse Source

+ added method TOmfSubRecord_THREAD.ApplyTo, which applies the data in the
current thread subrecord to a TOmfThreads object

git-svn-id: trunk@39148 -

nickysn 7 năm trước cách đây
mục cha
commit
189cba817e
1 tập tin đã thay đổi với 22 bổ sung0 xóa
  1. 22 0
      compiler/omfbase.pas

+ 22 - 0
compiler/omfbase.pas

@@ -616,6 +616,8 @@ interface
       function ReadAt(RawRecord: TOmfRawRecord; Offset: Integer): Integer;
       function WriteAt(RawRecord: TOmfRawRecord; Offset: Integer): Integer;
 
+      procedure ApplyTo(AThreads: TOmfThreads);
+
       property ThreadNumber: TOmfFixupThread read FThreadNumber write FThreadNumber;
       property ThreadType: TOmfThreadType read FThreadType write FThreadType;
       property TargetMethod: TOmfFixupTargetMethod read FTargetMethod write FTargetMethod;
@@ -2376,6 +2378,26 @@ implementation
       Result:=Offset;
     end;
 
+  procedure TOmfSubRecord_THREAD.ApplyTo(AThreads: TOmfThreads);
+    begin
+      case ThreadType of
+        ttFrame:
+          begin
+            AThreads.FrameThread[ThreadNumber].Datum:=Datum;
+            AThreads.FrameThread[ThreadNumber].FrameMethod:=FrameMethod;
+            AThreads.FrameThread[ThreadNumber].Initialized:=True;
+          end;
+        ttTarget:
+          begin
+            AThreads.TargetThread[ThreadNumber].Datum:=Datum;
+            AThreads.TargetThread[ThreadNumber].TargetMethod:=TargetMethod;
+            AThreads.TargetThread[ThreadNumber].Initialized:=True;
+          end;
+        else
+          internalerror(2018053001);
+      end;
+    end;
+
   { TOmfSubRecord_FIXUP }
 
   function TOmfSubRecord_FIXUP.GetDataRecordOffset: Integer;