فهرست منبع

Remove no longer needed "indirect" parameter for TRTTIWriter methods.

ncgrtti.pas, TRTTIWriter:
  - ref_rtti & write_rtti_reference: remove "indirect" parameter
  * ref_rtti: call rtti_mangledname with "indirect" always set to "true"
  - remove "true" parameter on callsites of write_rtti_reference & ref_rtti

git-svn-id: branches/svenbarth/packages@28294 -
svenbarth 11 سال پیش
والد
کامیت
4a6a83ca07
1فایلهای تغییر یافته به همراه24 افزوده شده و 24 حذف شده
  1. 24 24
      compiler/ncgrtti.pas

+ 24 - 24
compiler/ncgrtti.pas

@@ -44,11 +44,11 @@ interface
         function  published_properties_count(st:tsymtable):longint;
         procedure published_properties_write_rtti_data(propnamelist:TFPHashObjectList;st:tsymtable);
         procedure collect_propnamelist(propnamelist:TFPHashObjectList;objdef:tobjectdef);
-        function  ref_rtti(def:tdef;rt:trttitype;indirect:boolean=false):tasmsymbol;
+        function  ref_rtti(def:tdef;rt:trttitype):tasmsymbol;
         procedure write_rtti_name(def:tdef);
         procedure write_rtti_data(def:tdef;rt:trttitype);
         procedure write_child_rtti_data(def:tdef;rt:trttitype);
-        procedure write_rtti_reference(def:tdef;rt:trttitype;indirect:boolean=false);
+        procedure write_rtti_reference(def:tdef;rt:trttitype);
         procedure write_header(def: tdef; typekind: byte);
         procedure write_string(const s: string);
         procedure maybe_write_align;
@@ -160,7 +160,7 @@ implementation
             Assigned(tobjectdef(def).childof) and
             ((rt=fullrtti) or (tobjectdef(def).childof.needs_inittable)) then
           begin
-            write_rtti_reference(tobjectdef(def).childof,rt,true);
+            write_rtti_reference(tobjectdef(def).childof,rt);
             current_asmdata.asmlists[al_rtti].concat(Tai_const.Create_pint(0));
             inc(fieldcnt);
           end;
@@ -176,7 +176,7 @@ implementation
                ) and
                not is_objc_class_or_protocol(tfieldvarsym(sym).vardef) then
               begin
-                write_rtti_reference(tfieldvarsym(sym).vardef,rt,true);
+                write_rtti_reference(tfieldvarsym(sym).vardef,rt);
                 current_asmdata.asmlists[al_rtti].concat(Tai_const.Create_pint(tfieldvarsym(sym).fieldoffset));
                 inc(fieldcnt);
               end;
@@ -389,7 +389,7 @@ implementation
                   proctypesinfo:=$40
                 else
                   proctypesinfo:=0;
-                write_rtti_reference(tpropertysym(sym).propdef,fullrtti,true);
+                write_rtti_reference(tpropertysym(sym).propdef,fullrtti);
                 writeaccessproc(palt_read,0,0);
                 writeaccessproc(palt_write,2,0);
                 { is it stored ? }
@@ -483,7 +483,7 @@ implementation
           current_asmdata.asmlists[al_rtti].concat(Tai_const.Create_32bit(def.max));
           maybe_write_align;  // is align necessary here?
           { write base type }
-          write_rtti_reference(def.basedef,rt,true);
+          write_rtti_reference(def.basedef,rt);
           for i := 0 to def.symtable.SymList.Count - 1 do
             begin
               hp:=tenumsym(def.symtable.SymList[i]);
@@ -587,7 +587,7 @@ implementation
                current_asmdata.asmlists[al_rtti].concat(Tai_const.Create_8bit(otUByte));
            end;
            maybe_write_align;
-           write_rtti_reference(def.elementdef,rt,true);
+           write_rtti_reference(def.elementdef,rt);
         end;
 
 
@@ -616,7 +616,7 @@ implementation
                while assigned(curdef) do
                  begin
                    { Dims[i] PTypeInfo }
-                   write_rtti_reference(curdef.rangedef,rt,true);
+                   write_rtti_reference(curdef.rangedef,rt);
                    inc(dimcount);
                    totalcount:=totalcount*curdef.elecount;
                    { get the next static array }
@@ -632,7 +632,7 @@ implementation
                { dimension count }
                current_asmdata.asmlists[al_rtti].InsertAfter(Tai_const.Create_8bit(dimcount),lastai);
                { last dimension element type }
-               current_asmdata.asmlists[al_rtti].InsertAfter(Tai_const.Create_sym(ref_rtti(curdef.elementdef,rt,true)),lastai);
+               current_asmdata.asmlists[al_rtti].InsertAfter(Tai_const.Create_sym(ref_rtti(curdef.elementdef,rt)),lastai);
                { total element count }
                current_asmdata.asmlists[al_rtti].InsertAfter(Tai_const.Create_pint(pint(totalcount)),lastai);
                { total size = elecount * elesize of the first arraydef }
@@ -649,12 +649,12 @@ implementation
                { size of elements }
                current_asmdata.asmlists[al_rtti].concat(Tai_const.Create_pint(def.elesize));
                { element type }
-               write_rtti_reference(def.elementdef,rt,true);
+               write_rtti_reference(def.elementdef,rt);
                { variant type }
                current_asmdata.asmlists[al_rtti].concat(Tai_const.Create_32bit(tstoreddef(def.elementdef).getvardef));
                { element type }
                if def.elementdef.needs_inittable then
-                 write_rtti_reference(def.elementdef,rt,true)
+                 write_rtti_reference(def.elementdef,rt)
                else
                  current_asmdata.asmlists[al_rtti].concat(Tai_const.Create_pint(0));
                { write unit name }
@@ -666,14 +666,14 @@ implementation
         begin
           write_header(def,tkClassRef);
           maybe_write_align;
-          write_rtti_reference(def.pointeddef,rt,true);
+          write_rtti_reference(def.pointeddef,rt);
         end;
 
         procedure pointerdef_rtti(def:tpointerdef);
         begin
           write_header(def,tkPointer);
           maybe_write_align;
-          write_rtti_reference(def.pointeddef,rt,true);
+          write_rtti_reference(def.pointeddef,rt);
         end;
 
         procedure recorddef_rtti(def:trecorddef);
@@ -759,7 +759,7 @@ implementation
                    write_param_flag(parasym);
                    maybe_write_align;
                    { write param type }
-                   write_rtti_reference(parasym.vardef,fullrtti,true);
+                   write_rtti_reference(parasym.vardef,fullrtti);
                    { write name of current parameter }
                    write_string(parasym.realname);
                  end;
@@ -815,7 +815,7 @@ implementation
                  write_rtti_name(def.returndef);
                  maybe_write_align;
                  { write result typeinfo }
-                 write_rtti_reference(def.returndef,fullrtti,true);
+                 write_rtti_reference(def.returndef,fullrtti);
                end;
 
                { write calling convention }
@@ -825,7 +825,7 @@ implementation
                { write params typeinfo }
                for i:=0 to def.paras.count-1 do
                  if not(vo_is_hidden_para in tparavarsym(def.paras[i]).varoptions) then
-                   write_rtti_reference(tparavarsym(def.paras[i]).vardef,fullrtti,true);
+                   write_rtti_reference(tparavarsym(def.paras[i]).vardef,fullrtti);
             end
           else
             begin
@@ -839,7 +839,7 @@ implementation
               current_asmdata.asmlists[al_rtti].concat(Tai_const.Create_8bit(ProcCallOptionToCallConv[def.proccalloption]));
               maybe_write_align;
               { write result typeinfo }
-              write_rtti_reference(def.returndef,fullrtti,true);
+              write_rtti_reference(def.returndef,fullrtti);
               { write parameter count }
               current_asmdata.asmlists[al_rtti].concat(Tai_const.Create_8bit(def.maxparacount));
               for i:=0 to def.paras.count-1 do
@@ -879,12 +879,12 @@ implementation
                 current_asmdata.asmlists[al_rtti].concat(Tai_const.Create_nil_dataptr);
 
             { write parent typeinfo }
-            write_rtti_reference(def.childof,fullrtti,true);
+            write_rtti_reference(def.childof,fullrtti);
 
             { write typeinfo of extended type }
             if is_objectpascal_helper(def) then
               if assigned(def.extendeddef) then
-                write_rtti_reference(def.extendeddef,fullrtti,true)
+                write_rtti_reference(def.extendeddef,fullrtti)
               else
                 InternalError(2011033001);
 
@@ -917,7 +917,7 @@ implementation
             collect_propnamelist(propnamelist,def);
 
             { write parent typeinfo }
-            write_rtti_reference(def.childof,fullrtti,true);
+            write_rtti_reference(def.childof,fullrtti);
 
             { interface: write flags, iid and iidstr }
             IntfFlags:=0;
@@ -1327,18 +1327,18 @@ implementation
         end;
       end;
 
-    procedure TRTTIWriter.write_rtti_reference(def:tdef;rt:trttitype;indirect:boolean);
+    procedure TRTTIWriter.write_rtti_reference(def:tdef;rt:trttitype);
       begin
         if not assigned(def) or is_void(def) or ((rt<>initrtti) and is_objc_class_or_protocol(def)) then
           current_asmdata.asmlists[al_rtti].concat(Tai_const.Create_nil_dataptr)
         else
-          current_asmdata.asmlists[al_rtti].concat(Tai_const.Create_sym(ref_rtti(def,rt,indirect)));
+          current_asmdata.asmlists[al_rtti].concat(Tai_const.Create_sym(ref_rtti(def,rt)));
       end;
 
 
-    function TRTTIWriter.ref_rtti(def:tdef;rt:trttitype;indirect:boolean):tasmsymbol;
+    function TRTTIWriter.ref_rtti(def:tdef;rt:trttitype):tasmsymbol;
       begin
-        result:=current_asmdata.RefAsmSymbol(def.rtti_mangledname(rt,indirect),AT_DATA);
+        result:=current_asmdata.RefAsmSymbol(def.rtti_mangledname(rt,true),AT_DATA);
         if (cs_create_pic in current_settings.moduleswitches) and
            assigned(current_procinfo) then
           include(current_procinfo.flags,pi_needs_got);