Browse Source

* handle (build)derefimpl also for objectdef so it also works for methods

git-svn-id: trunk@11406 -
peter 17 years ago
parent
commit
c2e5f885c6
1 changed files with 20 additions and 0 deletions
  1. 20 0
      compiler/symdef.pas

+ 20 - 0
compiler/symdef.pas

@@ -250,6 +250,8 @@ interface
           function GetTypeName:string;override;
           function GetTypeName:string;override;
           procedure buildderef;override;
           procedure buildderef;override;
           procedure deref;override;
           procedure deref;override;
+          procedure buildderefimpl;override;
+          procedure derefimpl;override;
           function  getparentdef:tdef;override;
           function  getparentdef:tdef;override;
           function  size : aint;override;
           function  size : aint;override;
           function  alignment:shortint;override;
           function  alignment:shortint;override;
@@ -3905,6 +3907,24 @@ implementation
       end;
       end;
 
 
 
 
+    procedure tobjectdef.buildderefimpl;
+      var
+         i : longint;
+      begin
+         inherited buildderefimpl;
+         if not (df_copied_def in defoptions) then
+           tstoredsymtable(symtable).buildderefimpl;
+      end;
+
+
+    procedure tobjectdef.derefimpl;
+      begin
+         inherited derefimpl;
+         if not (df_copied_def in defoptions) then
+           tstoredsymtable(symtable).derefimpl;
+      end;
+
+
     function tobjectdef.getparentdef:tdef;
     function tobjectdef.getparentdef:tdef;
       begin
       begin
 {$warning TODO Remove getparentdef hack}
 {$warning TODO Remove getparentdef hack}