mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-30 11:39:32 +02:00
* extend read_anon_type() so that it can take a genericdef as well
This commit is contained in:
parent
eaf24269bc
commit
0e9efd07ef
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user