2
0
Эх сурвалжийг харах

* do not allow implementing interface methods using methods that are not
visible in the current class

git-svn-id: trunk@40645 -

Jonas Maebe 6 жил өмнө
parent
commit
9c6838ecca

+ 3 - 1
compiler/nobj.pas

@@ -519,7 +519,9 @@ implementation
           begin
           begin
             srsym:=tsym(hclass.symtable.FindWithHash(hashedid));
             srsym:=tsym(hclass.symtable.FindWithHash(hashedid));
             if assigned(srsym) and
             if assigned(srsym) and
-               (srsym.typ=procsym) then
+               (srsym.typ=procsym) and
+               ((hclass=_class) or
+                is_visible_for_object(srsym,_class)) then
               begin
               begin
                 for i:=0 to Tprocsym(srsym).ProcdefList.Count-1 do
                 for i:=0 to Tprocsym(srsym).ProcdefList.Count-1 do
                   begin
                   begin