* keep track of the current generic def in the specialization state

This commit is contained in:
Sven/Sarah Barth 2024-12-27 16:19:51 +01:00
parent db83f9c696
commit 8f81b213dc
2 changed files with 6 additions and 4 deletions

View File

@ -36,10 +36,11 @@ const
type type
pspecializationstate = ^tspecializationstate; pspecializationstate = ^tspecializationstate;
tspecializationstate = record tspecializationstate = record
oldsymtablestack : tsymtablestack; oldsymtablestack : tsymtablestack;
oldextendeddefs : tfphashobjectlist; oldextendeddefs : tfphashobjectlist;
oldgenericdummysyms : tfphashobjectlist; oldgenericdummysyms : tfphashobjectlist;
oldspecializestate : pspecializationstate; oldspecializestate : pspecializationstate;
oldcurrent_genericdef : tdef;
end; end;
tspecializationcontext=class tspecializationcontext=class

View File

@ -2740,6 +2740,7 @@ uses
state.oldsymtablestack:=symtablestack; state.oldsymtablestack:=symtablestack;
state.oldextendeddefs:=current_module.extendeddefs; state.oldextendeddefs:=current_module.extendeddefs;
state.oldgenericdummysyms:=current_module.genericdummysyms; state.oldgenericdummysyms:=current_module.genericdummysyms;
state.oldcurrent_genericdef:=current_genericdef;
state.oldspecializestate:=pspecializationstate(current_module.specializestate); state.oldspecializestate:=pspecializationstate(current_module.specializestate);
current_module.specializestate:=@state; current_module.specializestate:=@state;
current_module.extendeddefs:=TFPHashObjectList.create(true); current_module.extendeddefs:=TFPHashObjectList.create(true);