|
@@ -928,10 +928,7 @@ implementation
|
|
|
include(current_structdef.defoptions,df_specialization);
|
|
|
if assigned(old_current_structdef) and
|
|
|
(df_generic in old_current_structdef.defoptions) then
|
|
|
- begin
|
|
|
- include(current_structdef.defoptions,df_generic);
|
|
|
- current_genericdef:=current_structdef;
|
|
|
- end;
|
|
|
+ include(current_structdef.defoptions,df_generic);
|
|
|
|
|
|
insert_generic_parameter_types(current_structdef,genericdef,genericlist);
|
|
|
{ when we are parsing a generic already then this is a generic as
|
|
@@ -939,6 +936,8 @@ implementation
|
|
|
if old_parse_generic then
|
|
|
include(current_structdef.defoptions, df_generic);
|
|
|
parse_generic:=(df_generic in current_structdef.defoptions);
|
|
|
+ if parse_generic and not assigned(current_genericdef) then
|
|
|
+ current_genericdef:=current_structdef;
|
|
|
{ in non-Delphi modes we need a strict private symbol without type
|
|
|
count and type parameters in the name to simply resolving }
|
|
|
maybe_insert_generic_rename_symbol(n,genericlist);
|