mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-12 13:06:18 +02:00
* Correct string definition. Fixes issue #41135
This commit is contained in:
parent
ac98583fb4
commit
92b3e6a7d7
@ -586,6 +586,7 @@ type
|
|||||||
TPasTypeAliasType = class(TPasAliasType)
|
TPasTypeAliasType = class(TPasAliasType)
|
||||||
public
|
public
|
||||||
function ElementTypeName: TPasTreeString; override;
|
function ElementTypeName: TPasTreeString; override;
|
||||||
|
function GetDeclaration(Full : boolean) : TPastreeString; override;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TPasGenericTemplateType - type param of a generic }
|
{ TPasGenericTemplateType - type param of a generic }
|
||||||
@ -2856,6 +2857,16 @@ function TPasType.ElementTypeName: TPasTreeString; begin Result := SPasTreeType;
|
|||||||
function TPasPointerType.ElementTypeName: TPasTreeString; begin Result := SPasTreePointerType; end;
|
function TPasPointerType.ElementTypeName: TPasTreeString; begin Result := SPasTreePointerType; end;
|
||||||
function TPasAliasType.ElementTypeName: TPasTreeString; begin Result := SPasTreeAliasType; end;
|
function TPasAliasType.ElementTypeName: TPasTreeString; begin Result := SPasTreeAliasType; end;
|
||||||
function TPasTypeAliasType.ElementTypeName: TPasTreeString; begin Result := SPasTreeTypeAliasType; end;
|
function TPasTypeAliasType.ElementTypeName: TPasTreeString; begin Result := SPasTreeTypeAliasType; end;
|
||||||
|
|
||||||
|
function TPasTypeAliasType.GetDeclaration(Full: boolean): TPastreeString;
|
||||||
|
|
||||||
|
|
||||||
|
begin
|
||||||
|
Result:='type '+DestType.GetDeclaration(False);
|
||||||
|
if Full then
|
||||||
|
Result:=FixTypeDecl(Result);
|
||||||
|
end;
|
||||||
|
|
||||||
function TPasClassOfType.ElementTypeName: TPasTreeString; begin Result := SPasTreeClassOfType; end;
|
function TPasClassOfType.ElementTypeName: TPasTreeString; begin Result := SPasTreeClassOfType; end;
|
||||||
function TPasRangeType.ElementTypeName: TPasTreeString; begin Result := SPasTreeRangeType; end;
|
function TPasRangeType.ElementTypeName: TPasTreeString; begin Result := SPasTreeRangeType; end;
|
||||||
function TPasArrayType.ElementTypeName: TPasTreeString; begin Result := SPasTreeArrayType; end;
|
function TPasArrayType.ElementTypeName: TPasTreeString; begin Result := SPasTreeArrayType; end;
|
||||||
@ -3387,8 +3398,6 @@ var
|
|||||||
PasType : TPasType;
|
PasType : TPasType;
|
||||||
begin
|
begin
|
||||||
Result:=aDecl;
|
Result:=aDecl;
|
||||||
PasType:=TPasTypeAliasType(Self).DestType;
|
|
||||||
Result:='type '+PasType.GetDeclaration(PasType is TPasUnresolvedTypeRef);
|
|
||||||
if (Name<>'') then
|
if (Name<>'') then
|
||||||
Result:=SafeName+' = '+Result;
|
Result:=SafeName+' = '+Result;
|
||||||
ProcessHints(false,Result);
|
ProcessHints(false,Result);
|
||||||
@ -4992,7 +5001,7 @@ begin
|
|||||||
// Todo: need something better than this.
|
// Todo: need something better than this.
|
||||||
If (VarType.Name='')
|
If (VarType.Name='')
|
||||||
or ((VarType is TPasAliasType) and (TPasAliasType(VarType).DestType is TPasStringType)) then
|
or ((VarType is TPasAliasType) and (TPasAliasType(VarType).DestType is TPasStringType)) then
|
||||||
Result:=VarType.GetDeclaration(Full)
|
Result:=VarType.GetDeclaration(False)
|
||||||
else
|
else
|
||||||
Result:=VarType.SafeName;
|
Result:=VarType.SafeName;
|
||||||
Result:=Result+Modifiers;
|
Result:=Result+Modifiers;
|
||||||
|
Loading…
Reference in New Issue
Block a user