Browse Source

compiler: forgotten unit in r16660

git-svn-id: trunk@16661 -
paul 14 năm trước cách đây
mục cha
commit
b437f85984
1 tập tin đã thay đổi với 5 bổ sung5 xóa
  1. 5 5
      compiler/pexpr.pas

+ 5 - 5
compiler/pexpr.pas

@@ -1541,7 +1541,7 @@ implementation
                              begin
                                p1:=ctypenode.create(hdef);
                                { search also in inherited methods }
-                               searchsym_in_class(tobjectdef(hdef),current_objectdef,pattern,srsym,srsymtable);
+                               searchsym_in_class(tobjectdef(hdef),tobjectdef(current_structdef),pattern,srsym,srsymtable);
                                if assigned(srsym) then
                                  check_hints(srsym,srsym.symoptions,srsym.deprecatedmsg);
                                consume(_ID);
@@ -2369,12 +2369,12 @@ implementation
                     assigned(current_structdef) and
                     (current_structdef.typ=objectdef) then
                   begin
-                    hclassdef:=current_objectdef.childof;
+                    hclassdef:=tobjectdef(current_structdef).childof;
                     { Objective-C categories *replace* methods in the class
                       they extend, or add methods to it. So calling an
                       inherited method always calls the method inherited from
                       the parent of the extended class }
-                    if is_objccategory(current_objectdef) then
+                    if is_objccategory(current_structdef) then
                       hclassdef:=hclassdef.childof;
                     { if inherited; only then we need the method with
                       the same name }
@@ -2393,7 +2393,7 @@ implementation
                         if (po_msgstr in pd.procoptions) then
                           searchsym_in_class_by_msgstr(hclassdef,pd.messageinf.str^,srsym,srsymtable)
                        else
-                         searchsym_in_class(hclassdef,current_objectdef,hs,srsym,srsymtable);
+                         searchsym_in_class(hclassdef,tobjectdef(current_structdef),hs,srsym,srsymtable);
                      end
                     else
                      begin
@@ -2401,7 +2401,7 @@ implementation
                        hsorg:=orgpattern;
                        consume(_ID);
                        anon_inherited:=false;
-                       searchsym_in_class(hclassdef,current_objectdef,hs,srsym,srsymtable);
+                       searchsym_in_class(hclassdef,tobjectdef(current_structdef),hs,srsym,srsymtable);
                      end;
                     if assigned(srsym) then
                      begin