Skip to content
  • Sven/Sarah Barth's avatar
    Rework the way the method bodies for specializations are generated: instead of... · f27ce0b1
    Sven/Sarah Barth authored
    Rework the way the method bodies for specializations are generated: instead of walking the global and local symboltable all pending specializations are kept in a list of the current module which is (for now) walked at the end of a unit/program to generate the method bodies as before.
    
    fmodule.pas, tmodule:
      + new list pendingspecializations which keeps track of all pending specializations of the current module
    psub.pas:
      * move generate_specialization_procs and related routines to pgenutil
      + new procedure read_proc_body to read a routine's body, cause generate_specialization_procs needs it (unlike the already existing overload in the implementation section, this one can only handle bodies of non-nested routines) 
    pgenutil.pas:
      * generate_specialization_phase2: add the newly specialized generic to the current module's pending specializations
      * generate_specialization_procs: reworked so that it uses the new pendingspecializations field instead of walking the global and local symboltable of the current unit
    pmodules.pas:
      + add pgenutil to uses due to the moved generate_specialization_procs
    
    + added test
    
    git-svn-id: trunk@33826 -
    f27ce0b1