mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-20 07:39:25 +02:00
* always print the fully qualified type name in case a type is nested
git-svn-id: trunk@17172 -
This commit is contained in:
parent
c0423b6a78
commit
9ae0414dda
@ -76,6 +76,7 @@ interface
|
||||
function is_publishable : boolean;override;
|
||||
function needs_inittable : boolean;override;
|
||||
function rtti_mangledname(rt:trttitype):string;override;
|
||||
function OwnerHierarchyName: string; override;
|
||||
function in_currentunit: boolean;
|
||||
{ regvars }
|
||||
function is_intregable : boolean;
|
||||
@ -1029,6 +1030,22 @@ implementation
|
||||
end;
|
||||
|
||||
|
||||
function tstoreddef.OwnerHierarchyName: string;
|
||||
var
|
||||
tmp: tdef;
|
||||
begin
|
||||
tmp:=self;
|
||||
result:='';
|
||||
repeat
|
||||
if tmp.owner.symtabletype in [ObjectSymtable,recordsymtable] then
|
||||
tmp:=tdef(tmp.owner.defowner)
|
||||
else
|
||||
break;
|
||||
result:=tabstractrecorddef(tmp).objrealname^+'.'+result;
|
||||
until tmp=nil;
|
||||
end;
|
||||
|
||||
|
||||
function tstoreddef.in_currentunit: boolean;
|
||||
var
|
||||
st: tsymtable;
|
||||
@ -2684,15 +2701,7 @@ implementation
|
||||
var
|
||||
tmp: tabstractrecorddef;
|
||||
begin
|
||||
Result:=objrealname^;
|
||||
tmp:=self;
|
||||
repeat
|
||||
if tmp.owner.symtabletype in [ObjectSymtable,recordsymtable] then
|
||||
tmp:=tabstractrecorddef(tmp.owner.defowner)
|
||||
else
|
||||
break;
|
||||
Result:=tmp.objrealname^+'.'+Result;
|
||||
until tmp=nil;
|
||||
Result:=OwnerHierarchyName+objrealname^;
|
||||
end;
|
||||
|
||||
function tabstractrecorddef.search_enumerator_get: tprocdef;
|
||||
|
@ -73,6 +73,7 @@ interface
|
||||
function mangledparaname:string;
|
||||
function getmangledparaname:string;virtual;
|
||||
function rtti_mangledname(rt:trttitype):string;virtual;abstract;
|
||||
function OwnerHierarchyName: string; virtual; abstract;
|
||||
function size:asizeint;virtual;abstract;
|
||||
function packedbitsize:asizeint;virtual;
|
||||
function alignment:shortint;virtual;abstract;
|
||||
@ -258,12 +259,13 @@ implementation
|
||||
|
||||
function tdef.typename:string;
|
||||
begin
|
||||
result:=OwnerHierarchyName;
|
||||
if assigned(typesym) and
|
||||
not(typ in [procvardef,procdef]) and
|
||||
(typesym.realname[1]<>'$') then
|
||||
result:=typesym.realname
|
||||
result:=result+typesym.realname
|
||||
else
|
||||
result:=GetTypeName;
|
||||
result:=result+GetTypeName;
|
||||
end;
|
||||
|
||||
|
||||
@ -275,10 +277,11 @@ implementation
|
||||
|
||||
function tdef.typesymbolprettyname:string;
|
||||
begin
|
||||
result:=OwnerHierarchyName;
|
||||
if assigned(typesym) then
|
||||
result:=typesym.prettyname
|
||||
result:=result+typesym.prettyname
|
||||
else
|
||||
result:='<no type symbol>'
|
||||
result:=result+'<no type symbol>'
|
||||
end;
|
||||
|
||||
function tdef.mangledparaname:string;
|
||||
|
Loading…
Reference in New Issue
Block a user