* Allow to parse internal symbol names generated for generics.

This commit is contained in:
Michaël Van Canneyt 2024-11-25 14:11:42 +01:00
parent ac4b089e14
commit e15f731a9b
2 changed files with 6 additions and 1 deletions

View File

@ -174,6 +174,8 @@ interface
in_preproc_comp_expr : boolean;
{ true if tokens must be converted to opposite endianess}
change_endian_for_replay : boolean;
{ hack to allow reading generic generated identifiers IDs}
allowgenericid : boolean;
constructor Create(const fn:string; is_macro: boolean = false);
destructor Destroy;override;
@ -4523,11 +4525,13 @@ type
i:=0;
repeat
case c of
'_',
'_','$',
'0'..'9',
'A'..'Z',
'a'..'z' :
begin
if (c='$') and not allowgenericid then
break;
if i<255 then
begin
inc(i);

View File

@ -1813,6 +1813,7 @@ implementation
if ErrorCount<>0 then
exit;
replace_scanner('hiddenclass_impl',sstate);
sstate.new_scanner.allowgenericid:=true;
for i:=0 to st.deflist.count-1 do
begin
def:=tdef(st.deflist[i]);