Просмотр исходного кода

* 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 лет назад
Родитель
Сommit
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 }