瀏覽代碼

compiler: remove dummy ado_none from tarraydefoption. It is probably a leftover from time when tarraydefoptions was not present, comment options
ppudump: simplify readarraydefoptions

git-svn-id: trunk@24456 -

paul 12 年之前
父節點
當前提交
d38bd1b9bd
共有 2 個文件被更改,包括 22 次插入27 次删除
  1. 8 8
      compiler/symconst.pas
  2. 14 19
      compiler/utils/ppuutils/ppudump.pp

+ 8 - 8
compiler/symconst.pas

@@ -440,14 +440,14 @@ type
   );
   tobjectoptions=set of tobjectoption;
 
-  tarraydefoption=(ado_none,
-    ado_IsConvertedPointer,
-    ado_IsDynamicArray,
-    ado_IsVariant,
-    ado_IsConstructor,
-    ado_IsArrayOfConst,
-    ado_IsConstString,
-    ado_IsBitPacked
+  tarraydefoption=(    
+    ado_IsConvertedPointer, // array created from pointer (e.g. PInteger(Ptr)[1])
+    ado_IsDynamicArray,     // dynamic array
+    ado_IsVariant,          //
+    ado_IsConstructor,      // array constructor (e.g. something = [1,2,3])
+    ado_IsArrayOfConst,     // array of const
+    ado_IsConstString,      // string constant
+    ado_IsBitPacked         // bitpacked array
   );
   tarraydefoptions=set of tarraydefoption;
 

+ 14 - 19
compiler/utils/ppuutils/ppudump.pp

@@ -1891,39 +1891,34 @@ end;
 
 procedure readarraydefoptions(ArrayDef: TPpuArrayDef);
 { type tarraydefoption is in unit symconst }
-type
-  tsymopt=record
-    mask : tarraydefoption;
-    str  : string[30];
-  end;
 const
-  symopt : array[1..ord(high(tarraydefoption))] of tsymopt=(
-     (mask:ado_IsConvertedPointer;str:'ConvertedPointer'),
-     (mask:ado_IsDynamicArray;    str:'IsDynamicArray'),
-     (mask:ado_IsVariant;         str:'IsVariant'),
-     (mask:ado_IsConstructor;     str:'IsConstructor'),
-     (mask:ado_IsArrayOfConst;    str:'ArrayOfConst'),
-     (mask:ado_IsConstString;     str:'ConstString'),
-     (mask:ado_IsBitPacked;      str:'BitPacked')
+  symopt : array[tarraydefoption] of string = (
+   { ado_IsConvertedPointer } 'ConvertedPointer',
+   { ado_IsDynamicArray     } 'IsDynamicArray',
+   { ado_IsVariant          } 'IsVariant',
+   { ado_IsConstructor      } 'IsConstructor',
+   { ado_IsArrayOfConst     } 'ArrayOfConst',
+   { ado_IsConstString      } 'ConstString',
+   { ado_IsBitPacked        } 'BitPacked'
   );
 var
-  symoptions : tarraydefoptions;
-  i      : longint;
-  first  : boolean;
+  symoptions: tarraydefoptions;
+  i: tarraydefoption;
+  first: boolean;
 begin
   ppufile.getsmallset(symoptions);
   if symoptions<>[] then
    begin
      if ado_IsDynamicArray in symoptions then Include(ArrayDef.Options, aoDynamic);
      first:=true;
-     for i:=1 to high(symopt) do
-      if (symopt[i].mask in symoptions) then
+     for i:=Low(symopt) to high(symopt) do
+      if (i in symoptions) then
        begin
          if first then
            first:=false
          else
            write(', ');
-         write(symopt[i].str);
+         write(symopt[i]);
        end;
    end;
   writeln;