-
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