Browse Source

* avoid testing object types that are simple aliases for unused privates

pierre 25 years ago
parent
commit
beebcdebfc
1 changed files with 11 additions and 3 deletions
  1. 11 3
      compiler/symtable.pas

+ 11 - 3
compiler/symtable.pas

@@ -1136,6 +1136,7 @@ implementation
           begin
           begin
            if (Errorcount<>0) then
            if (Errorcount<>0) then
              exit;
              exit;
+           { do not claim for inherited private fields !! }
            if (psym(p)^.refs=0) and (psym(p)^.owner^.symtabletype=objectsymtable) then
            if (psym(p)^.refs=0) and (psym(p)^.owner^.symtabletype=objectsymtable) then
              MessagePos2(psym(p)^.fileinfo,sym_n_private_method_not_used,psym(p)^.owner^.name^,p^.name)
              MessagePos2(psym(p)^.fileinfo,sym_n_private_method_not_used,psym(p)^.owner^.name^,p^.name)
            { units references are problematic }
            { units references are problematic }
@@ -1157,8 +1158,12 @@ implementation
 
 
     procedure objectprivatesymbolused(p : pnamedindexobject);
     procedure objectprivatesymbolused(p : pnamedindexobject);
       begin
       begin
+         {
+           Don't test simple object aliases PM
+         }
          if (psym(p)^.typ=typesym) and
          if (psym(p)^.typ=typesym) and
-            (ptypesym(p)^.restype.def^.deftype=objectdef) then
+            (ptypesym(p)^.restype.def^.deftype=objectdef) and
+            (ptypesym(p)^.restype.def^.typesym=ptypesym(p)) then
            pobjectdef(ptypesym(p)^.restype.def)^.symtable^.foreach(
            pobjectdef(ptypesym(p)^.restype.def)^.symtable^.foreach(
              {$ifndef TP}@{$endif}TestPrivate);
              {$ifndef TP}@{$endif}TestPrivate);
       end;
       end;
@@ -2766,7 +2771,10 @@ implementation
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.73  2000-01-07 01:14:41  peter
+  Revision 1.74  2000-01-09 00:37:56  pierre
+   * avoid testing object types that are simple aliases for unused privates
+
+  Revision 1.73  2000/01/07 01:14:41  peter
     * updated copyright to 2000
     * updated copyright to 2000
 
 
   Revision 1.72  2000/01/03 19:26:04  peter
   Revision 1.72  2000/01/03 19:26:04  peter
@@ -2908,4 +2916,4 @@ end.
     * oldtp mode directives better supported
     * oldtp mode directives better supported
     * added some messages to errore.msg
     * added some messages to errore.msg
 
 
-}
+}