浏览代码

* set "forcall" to true for the objc loadvmtaddrnodes generated as
self parameter for invoking inherited method calls (if you are in a
category method or a method of a child class, the extended or parent
class must have already been loaded by the run time, so we can
directly load the ISA pointer rather than detouring via the "class"
method)

git-svn-id: trunk@20624 -

Jonas Maebe 13 年之前
父节点
当前提交
c4c9661f84
共有 1 个文件被更改,包括 1 次插入0 次删除
  1. 1 0
      compiler/objcutil.pas

+ 1 - 0
compiler/objcutil.pas

@@ -146,6 +146,7 @@ end;
                 else
 {$endif onlymacosx10_6 or arm}
                   result:=cloadvmtaddrnode.create(ctypenode.create(tobjectdef(tclassrefdef(def).pointeddef).childof.childof));
+                tloadvmtaddrnode(result).forcall:=true;
                 result:=objcloadbasefield(result,'ISA');
                 typecheckpass(result);
                 { we're done }