ソースを参照

compiler: use current_structdef instead of current_objectdef in more places

git-svn-id: trunk@16658 -
paul 14 年 前
コミット
dc5f5c3f63

+ 2 - 2
compiler/fmodule.pas

@@ -577,7 +577,7 @@ implementation
             if current_procinfo=tprocinfo(procinfo) then
             if current_procinfo=tprocinfo(procinfo) then
               begin
               begin
                 current_procinfo:=nil;
                 current_procinfo:=nil;
-                current_objectdef:=nil;
+                current_structdef:=nil;
                 current_genericdef:=nil;
                 current_genericdef:=nil;
                 current_specializedef:=nil;
                 current_specializedef:=nil;
               end;
               end;
@@ -659,7 +659,7 @@ implementation
             if current_procinfo=tprocinfo(procinfo) then
             if current_procinfo=tprocinfo(procinfo) then
               begin
               begin
                 current_procinfo:=nil;
                 current_procinfo:=nil;
-                current_objectdef:=nil;
+                current_structdef:=nil;
                 current_genericdef:=nil;
                 current_genericdef:=nil;
                 current_specializedef:=nil;
                 current_specializedef:=nil;
               end;
               end;

+ 4 - 4
compiler/nmem.pas

@@ -166,12 +166,12 @@ implementation
             if (df_generic in left.resultdef.defoptions) then
             if (df_generic in left.resultdef.defoptions) then
               begin
               begin
                 defaultresultdef:=true;
                 defaultresultdef:=true;
-                if assigned(current_objectdef) then
+                if assigned(current_structdef) then
                   begin
                   begin
-                    if assigned(current_objectdef.genericdef) then
-                      if current_objectdef.genericdef=left.resultdef then
+                    if assigned(current_structdef.genericdef) then
+                      if current_structdef.genericdef=left.resultdef then
                         begin
                         begin
-                          resultdef:=tclassrefdef.create(current_objectdef);
+                          resultdef:=tclassrefdef.create(current_structdef);
                           defaultresultdef:=false;
                           defaultresultdef:=false;
                         end
                         end
                       else
                       else

+ 4 - 4
compiler/nobj.pas

@@ -731,11 +731,11 @@ implementation
       var
       var
         i : longint;
         i : longint;
         def : tdef;
         def : tdef;
-        old_current_objectdef : tobjectdef;
+        old_current_structdef : tabstractrecorddef;
         overridesclasshelper : boolean;
         overridesclasshelper : boolean;
       begin
       begin
-        old_current_objectdef:=current_objectdef;
-        current_objectdef:=_class;
+        old_current_structdef:=current_structdef;
+        current_structdef:=_class;
 
 
         _class.resetvmtentries;
         _class.resetvmtentries;
 
 
@@ -770,7 +770,7 @@ implementation
             intf_allocate_vtbls;
             intf_allocate_vtbls;
           end;
           end;
 
 
-        current_objectdef:=old_current_objectdef;
+        current_structdef:=old_current_structdef;
       end;
       end;
 
 
 
 

+ 1 - 1
compiler/nutils.pas

@@ -536,7 +536,7 @@ implementation
         { call fail helper and exit normal }
         { call fail helper and exit normal }
         if is_class(current_structdef) then
         if is_class(current_structdef) then
           begin
           begin
-            srsym:=search_struct_member(current_objectdef,'FREEINSTANCE');
+            srsym:=search_struct_member(current_structdef,'FREEINSTANCE');
             if assigned(srsym) and
             if assigned(srsym) and
                (srsym.typ=procsym) then
                (srsym.typ=procsym) then
               begin
               begin

+ 3 - 3
compiler/parser.pas

@@ -60,7 +60,7 @@ implementation
          current_module:=nil;
          current_module:=nil;
          current_asmdata:=nil;
          current_asmdata:=nil;
          current_procinfo:=nil;
          current_procinfo:=nil;
-         current_objectdef:=nil;
+         current_structdef:=nil;
          current_genericdef:=nil;
          current_genericdef:=nil;
          current_specializedef:=nil;
          current_specializedef:=nil;
 
 
@@ -134,7 +134,7 @@ implementation
          current_module:=nil;
          current_module:=nil;
          current_procinfo:=nil;
          current_procinfo:=nil;
          current_asmdata:=nil;
          current_asmdata:=nil;
-         current_objectdef:=nil;
+         current_structdef:=nil;
          current_genericdef:=nil;
          current_genericdef:=nil;
          current_specializedef:=nil;
          current_specializedef:=nil;
 
 
@@ -293,7 +293,7 @@ implementation
          { parsing a procedure or declaration should be finished }
          { parsing a procedure or declaration should be finished }
          if assigned(current_procinfo) then
          if assigned(current_procinfo) then
            internalerror(200811121);
            internalerror(200811121);
-         if assigned(current_objectdef) then
+         if assigned(current_structdef) then
            internalerror(200811122);
            internalerror(200811122);
          inc(compile_level);
          inc(compile_level);
          parser_current_file:=filename;
          parser_current_file:=filename;

+ 5 - 5
compiler/psub.pas

@@ -298,7 +298,7 @@ implementation
                 if is_class(current_structdef) then
                 if is_class(current_structdef) then
                   begin
                   begin
                     include(current_procinfo.flags,pi_needs_implicit_finally);
                     include(current_procinfo.flags,pi_needs_implicit_finally);
-                    srsym:=search_struct_member(current_objectdef,'NEWINSTANCE');
+                    srsym:=search_struct_member(current_structdef,'NEWINSTANCE');
                     if assigned(srsym) and
                     if assigned(srsym) and
                        (srsym.typ=procsym) then
                        (srsym.typ=procsym) then
                       begin
                       begin
@@ -363,7 +363,7 @@ implementation
             if (current_procinfo.procdef.proctypeoption=potype_destructor) and
             if (current_procinfo.procdef.proctypeoption=potype_destructor) and
                is_class(current_structdef) then
                is_class(current_structdef) then
               begin
               begin
-                srsym:=search_struct_member(current_objectdef,'BEFOREDESTRUCTION');
+                srsym:=search_struct_member(current_structdef,'BEFOREDESTRUCTION');
                 if assigned(srsym) and
                 if assigned(srsym) and
                    (srsym.typ=procsym) then
                    (srsym.typ=procsym) then
                   begin
                   begin
@@ -410,7 +410,7 @@ implementation
               begin
               begin
                 if is_class(current_structdef) then
                 if is_class(current_structdef) then
                   begin
                   begin
-                    srsym:=search_struct_member(current_objectdef,'FREEINSTANCE');
+                    srsym:=search_struct_member(current_structdef,'FREEINSTANCE');
                     if assigned(srsym) and
                     if assigned(srsym) and
                        (srsym.typ=procsym) then
                        (srsym.typ=procsym) then
                       begin
                       begin
@@ -435,7 +435,7 @@ implementation
                   if is_object(current_structdef) then
                   if is_object(current_structdef) then
                     begin
                     begin
                       { finalize object data, but only if not in inherited call }
                       { finalize object data, but only if not in inherited call }
-                      if is_managed_type(current_objectdef) then
+                      if is_managed_type(current_structdef) then
                         begin
                         begin
                           addstatement(newstatement,cifnode.create(
                           addstatement(newstatement,cifnode.create(
                             caddnode.create(unequaln,
                             caddnode.create(unequaln,
@@ -615,7 +615,7 @@ implementation
             { call AfterConstruction for classes }
             { call AfterConstruction for classes }
             if is_class(current_structdef) then
             if is_class(current_structdef) then
               begin
               begin
-                srsym:=search_struct_member(current_objectdef,'AFTERCONSTRUCTION');
+                srsym:=search_struct_member(current_structdef,'AFTERCONSTRUCTION');
                 if assigned(srsym) and
                 if assigned(srsym) and
                    (srsym.typ=procsym) then
                    (srsym.typ=procsym) then
                   begin
                   begin

+ 2 - 2
compiler/rautils.pas

@@ -696,7 +696,7 @@ end;
 Function TOperand.SetupSelf:boolean;
 Function TOperand.SetupSelf:boolean;
 Begin
 Begin
   SetupSelf:=false;
   SetupSelf:=false;
-  if assigned(current_objectdef) then
+  if assigned(current_structdef) then
     SetupSelf:=setupvar('self',false)
     SetupSelf:=setupvar('self',false)
   else
   else
     Message(asmr_e_cannot_use_SELF_outside_a_method);
     Message(asmr_e_cannot_use_SELF_outside_a_method);
@@ -1307,7 +1307,7 @@ Begin
   base:=Copy(s,1,i-1);
   base:=Copy(s,1,i-1);
   delete(s,1,i);
   delete(s,1,i);
   if base='SELF' then
   if base='SELF' then
-   st:=current_objectdef.symtable
+   st:=current_structdef.symtable
   else
   else
    begin
    begin
      asmsearchsym(base,sym,srsymtable);
      asmsearchsym(base,sym,srsymtable);

+ 2 - 2
compiler/symdef.pas

@@ -641,8 +641,8 @@ interface
        end;
        end;
 
 
     var
     var
-       current_structdef: tabstractrecorddef;
-       current_objectdef : tobjectdef absolute current_structdef;  { used for private functions check !! }
+       current_structdef: tabstractrecorddef; { used for private functions check !! }
+       current_objectdef : tobjectdef absolute current_structdef;
        current_genericdef : tobjectdef; { used to reject declaration of generic class inside generic class }
        current_genericdef : tobjectdef; { used to reject declaration of generic class inside generic class }
        current_specializedef : tobjectdef; { used to implement usage of generic class in itself }
        current_specializedef : tobjectdef; { used to implement usage of generic class in itself }