* extend read_anon_type() so that it can take a genericdef as well

This commit is contained in:
Sven/Sarah Barth 2024-04-12 16:02:03 +02:00
parent eaf24269bc
commit 0e9efd07ef
3 changed files with 10 additions and 10 deletions

View File

@ -289,7 +289,7 @@ implementation
caret, to support const s : ^string = nil }
block_type:=bt_const_type;
consume(_COLON);
read_anon_type(hdef,false);
read_anon_type(hdef,false,nil);
block_type:=bt_const;
{ create symbol }
storetokenpos:=current_tokenpos;

View File

@ -1454,7 +1454,7 @@ implementation
read_gpc_name(sc);
{$endif}
read_anon_type(hdef,false);
read_anon_type(hdef,false,nil);
maybe_guarantee_record_typesym(hdef,symtablestack.top);
for i:=0 to sc.count-1 do
begin
@ -1782,7 +1782,7 @@ implementation
typepos:=current_filepos;
read_anon_type(hdef,false);
read_anon_type(hdef,false,nil);
maybe_guarantee_record_typesym(hdef,symtablestack.top);
{$ifdef wasm}
if is_wasm_reference_type(hdef) then
@ -2001,7 +2001,7 @@ implementation
symtablestack.top.insertsym(fieldvs);
end;
end;
read_anon_type(casetype,true);
read_anon_type(casetype,true,nil);
block_type:=bt_var;
if assigned(fieldvs) then
begin

View File

@ -49,7 +49,7 @@ interface
procedure read_named_type(var def:tdef;const newsym:tsym;genericdef:tstoreddef;genericlist:tfphashobjectlist;parseprocvardir:boolean;var hadtypetoken:boolean);
{ reads any type declaration }
procedure read_anon_type(var def : tdef;parseprocvardir:boolean);
procedure read_anon_type(var def : tdef;parseprocvardir:boolean;genericdef:tstoreddef);
{ parse nested type declaration of the def (typedef) }
procedure parse_nested_types(var def: tdef; isforwarddef,allowspecialization: boolean; currentstructstack: tfpobjectlist);
@ -1369,7 +1369,7 @@ implementation
begin
consume(_SET);
consume(_OF);
read_anon_type(tt2,true);
read_anon_type(tt2,true,nil);
if assigned(tt2) then
begin
case tt2.typ of
@ -1553,7 +1553,7 @@ implementation
be parsed by readtype (PFV) }
if token=_LKLAMMER then
begin
read_anon_type(hdef,true);
read_anon_type(hdef,true,nil);
setdefdecl(hdef);
end
else
@ -1659,7 +1659,7 @@ implementation
def:=arrdef;
end;
consume(_OF);
read_anon_type(tt2,true);
read_anon_type(tt2,true,nil);
{ set element type of the last array definition }
if assigned(arrdef) then
begin
@ -2129,12 +2129,12 @@ implementation
end;
procedure read_anon_type(var def : tdef;parseprocvardir:boolean);
procedure read_anon_type(var def : tdef;parseprocvardir:boolean;genericdef:tstoreddef);
var
hadtypetoken : boolean;
begin
hadtypetoken:=false;
read_named_type(def,nil,nil,nil,parseprocvardir,hadtypetoken);
read_named_type(def,nil,genericdef,nil,parseprocvardir,hadtypetoken);
end;