浏览代码

Fix loading of ObjC protocol type after c8fee69345

That type lives in the objcbase unit, not in the system unit

Resolves #39914
Jonas Maebe 2 年之前
父节点
当前提交
efbf5eaa01
共有 1 个文件被更改,包括 4 次插入4 次删除
  1. 4 4
      compiler/symdef.pas

+ 4 - 4
compiler/symdef.pas

@@ -7806,10 +7806,6 @@ implementation
                 else
                 if (objname^='IDISPATCH') then
                   interface_idispatch:=self;
-             if (childof=nil) and
-                (objecttype=odt_objcclass) and
-                (objname^='PROTOCOL') then
-               objc_protocoltype:=self;
              if (objecttype=odt_javaclass) and
                 not(oo_is_formal in objectoptions) then
                begin
@@ -7835,6 +7831,10 @@ implementation
                    java_procvarbase:=self;
                end;
            end;
+         if (childof=nil) and
+            (objecttype=odt_objcclass) and
+            (objname^='PROTOCOL') then
+           objc_protocoltype:=self;
 
          writing_class_record_dbginfo:=false;
        end;