Sfoglia il codice sorgente

+ new utility routine to print all parameter declarations for a specified system routine

git-svn-id: trunk@33893 -
svenbarth 9 anni fa
parent
commit
046614948c
1 ha cambiato i file con 13 aggiunte e 0 eliminazioni
  1. 13 0
      compiler/symtable.pas

+ 13 - 0
compiler/symtable.pas

@@ -303,6 +303,8 @@ interface
     procedure hidesym(sym:TSymEntry);
     procedure hidesym(sym:TSymEntry);
     procedure duplicatesym(var hashedid: THashedIDString; dupsym, origsym:TSymEntry; warn: boolean);
     procedure duplicatesym(var hashedid: THashedIDString; dupsym, origsym:TSymEntry; warn: boolean);
     function handle_generic_dummysym(sym:TSymEntry;var symoptions:tsymoptions):boolean;
     function handle_generic_dummysym(sym:TSymEntry;var symoptions:tsymoptions):boolean;
+    { writes all declarations for the specified system unit symbol }
+    procedure write_system_parameter_lists(const name:string);
 
 
 {*** Search ***}
 {*** Search ***}
     procedure addsymref(sym:tsym);
     procedure addsymref(sym:tsym);
@@ -2727,6 +2729,17 @@ implementation
       end;
       end;
 
 
 
 
+    procedure write_system_parameter_lists(const name:string);
+      var
+        srsym:tprocsym;
+      begin
+        srsym:=tprocsym(systemunit.find(name));
+        if not assigned(srsym) or not (srsym.typ=procsym) then
+          internalerror(2016060302);
+        srsym.write_parameter_lists(nil);
+      end;
+
+
 {*****************************************************************************
 {*****************************************************************************
                                   Search
                                   Search
 *****************************************************************************}
 *****************************************************************************}