Jelajahi Sumber

* removed ref_count from pinputfile it's not used

peter 25 tahun lalu
induk
melakukan
08571bb9a9
3 mengubah file dengan 23 tambahan dan 33 penghapusan
  1. 6 7
      compiler/finput.pas
  2. 12 19
      compiler/fmodule.pas
  3. 5 7
      compiler/symtype.pas

+ 6 - 7
compiler/finput.pas

@@ -58,8 +58,7 @@ interface
          linebuf    : plongintarr;  { line buffer to retrieve lines }
          maxlinebuf : longint;
 
-         ref_count  : longint;      { to handle the browser refs }
-         ref_index  : longint;
+         ref_index  : longint;      { to handle the browser refs }
          ref_next   : pinputfile;
 
          constructor init(const fn:string);
@@ -116,7 +115,7 @@ interface
        pmodulebase = ^tmodulebase;
        tmodulebase = object(tlinkedlist_item)
           { index }
-          unit_index    : word;     { global counter for browser }
+          unit_index    : longint;  { global counter for browser }
           { sources }
           sourcefiles   : pinputfilemanager;
           { paths and filenames }
@@ -137,8 +136,6 @@ interface
        end;
 
 
-
-
 implementation
 
 uses
@@ -178,7 +175,6 @@ uses
         savelastlinepos:=0;
       { indexing refs }
         ref_next:=nil;
-        ref_count:=0;
         ref_index:=0;
       { line buffer }
         linebuf:=nil;
@@ -688,7 +684,10 @@ uses
 end.
 {
   $Log$
-  Revision 1.4  2000-10-31 22:02:46  peter
+  Revision 1.5  2000-11-07 20:48:33  peter
+    * removed ref_count from pinputfile it's not used
+
+  Revision 1.4  2000/10/31 22:02:46  peter
     * symtable splitted, no real code changes
 
   Revision 1.3  2000/10/14 21:52:54  peter

+ 12 - 19
compiler/fmodule.pas

@@ -101,7 +101,7 @@ interface
 
           islibrary     : boolean;  { if it is a library (win32 dll) }
           map           : punitmap; { mapping of all used units }
-          unitcount     : word;     { local unit counter }
+          unitcount     : longint;  { local unit counter }
           globalsymtable,           { pointer to the local/static symtable of this unit }
           localsymtable : pointer;  { pointer to the psymtable of this unit }
           scanner       : pointer;  { scanner object used }
@@ -144,7 +144,7 @@ interface
 
        pused_unit = ^tused_unit;
        tused_unit = object(tlinkedlist_item)
-          unitid          : word;
+          unitid          : longint;
           name            : pstring;
           checksum,
           interface_checksum : longint;
@@ -173,7 +173,7 @@ interface
        SmartLinkOFiles   : TStringContainer; { List of .o files which are generated,
                                                used to delete them after linking }
 
-function get_source_file(moduleindex,fileindex : word) : pinputfile;
+function get_source_file(moduleindex,fileindex : longint) : pinputfile;
 
 
 implementation
@@ -193,27 +193,17 @@ uses
                              Global Functions
 *****************************************************************************}
 
-    function get_source_file(moduleindex,fileindex : word) : pinputfile;
+    function get_source_file(moduleindex,fileindex : longint) : pinputfile;
       var
          hp : pmodule;
-         f : pinputfile;
       begin
          hp:=pmodule(loaded_units.first);
          while assigned(hp) and (hp^.unit_index<>moduleindex) do
            hp:=pmodule(hp^.next);
-         get_source_file:=nil;
-         if not assigned(hp) then
-           exit;
-         f:=pinputfile(hp^.sourcefiles^.files);
-         while assigned(f) do
-           begin
-              if f^.ref_index=fileindex then
-                begin
-                   get_source_file:=f;
-                   exit;
-                end;
-              f:=pinputfile(f^.ref_next);
-           end;
+         if assigned(hp) then
+          get_source_file:=hp^.sourcefiles^.get_file(fileindex)
+         else
+          get_source_file:=nil;
       end;
 
 
@@ -898,7 +888,10 @@ end;
 end.
 {
   $Log$
-  Revision 1.4  2000-10-31 22:02:46  peter
+  Revision 1.5  2000-11-07 20:48:33  peter
+    * removed ref_count from pinputfile it's not used
+
+  Revision 1.4  2000/10/31 22:02:46  peter
     * symtable splitted, no real code changes
 
   Revision 1.3  2000/10/15 07:47:51  peter

+ 5 - 7
compiler/symtype.pas

@@ -50,7 +50,7 @@ interface
       tref = object
         nextref     : pref;
         posinfo     : tfileposinfo;
-        moduleindex : word;
+        moduleindex : longint;
         is_written  : boolean;
         constructor init(ref:pref;pos:pfileposinfo);
         procedure   freechain;
@@ -271,12 +271,7 @@ implementation
       end;
 
     destructor tref.done;
-      var
-         inputfile : pinputfile;
       begin
-         inputfile:=get_source_file(moduleindex,posinfo.fileindex);
-         if inputfile<>nil then
-           dec(inputfile^.ref_count);
          nextref:=nil;
       end;
 
@@ -572,7 +567,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.1  2000-10-31 22:02:53  peter
+  Revision 1.2  2000-11-07 20:48:33  peter
+    * removed ref_count from pinputfile it's not used
+
+  Revision 1.1  2000/10/31 22:02:53  peter
     * symtable splitted, no real code changes
 
 }