mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-18 23:29:32 +02:00
* move TRttiStructuredType and TRttiInstanceType further down as they need access to TRttiMember and its children
git-svn-id: trunk@37408 -
This commit is contained in:
parent
8589b946fc
commit
bfd37969ad
@ -205,10 +205,6 @@ type
|
|||||||
property TypeSize: integer read GetTypeSize;
|
property TypeSize: integer read GetTypeSize;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TRttiStructuredType = class(TRttiType)
|
|
||||||
|
|
||||||
end;
|
|
||||||
|
|
||||||
{ TRttiFloatType }
|
{ TRttiFloatType }
|
||||||
|
|
||||||
TRttiFloatType = class(TRttiType)
|
TRttiFloatType = class(TRttiType)
|
||||||
@ -237,22 +233,6 @@ type
|
|||||||
property ReferredType: TRttiType read GetReferredType;
|
property ReferredType: TRttiType read GetReferredType;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TRttiInstanceType }
|
|
||||||
|
|
||||||
TRttiInstanceType = class(TRttiStructuredType)
|
|
||||||
private
|
|
||||||
function GetDeclaringUnitName: string;
|
|
||||||
function GetMetaClassType: TClass;
|
|
||||||
protected
|
|
||||||
function GetIsInstance: boolean; override;
|
|
||||||
function GetTypeSize: integer; override;
|
|
||||||
function GetBaseType: TRttiType; override;
|
|
||||||
public
|
|
||||||
property MetaClassType: TClass read GetMetaClassType;
|
|
||||||
property DeclaringUnitName: string read GetDeclaringUnitName;
|
|
||||||
|
|
||||||
end;
|
|
||||||
|
|
||||||
{ TRttiMember }
|
{ TRttiMember }
|
||||||
|
|
||||||
TMemberVisibility=(mvPrivate, mvProtected, mvPublic, mvPublished);
|
TMemberVisibility=(mvPrivate, mvProtected, mvPublic, mvPublished);
|
||||||
@ -290,6 +270,25 @@ type
|
|||||||
property Visibility: TMemberVisibility read GetVisibility;
|
property Visibility: TMemberVisibility read GetVisibility;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
TRttiStructuredType = class(TRttiType)
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ TRttiInstanceType }
|
||||||
|
|
||||||
|
TRttiInstanceType = class(TRttiStructuredType)
|
||||||
|
private
|
||||||
|
function GetDeclaringUnitName: string;
|
||||||
|
function GetMetaClassType: TClass;
|
||||||
|
protected
|
||||||
|
function GetIsInstance: boolean; override;
|
||||||
|
function GetTypeSize: integer; override;
|
||||||
|
function GetBaseType: TRttiType; override;
|
||||||
|
public
|
||||||
|
property MetaClassType: TClass read GetMetaClassType;
|
||||||
|
property DeclaringUnitName: string read GetDeclaringUnitName;
|
||||||
|
end;
|
||||||
|
|
||||||
EInsufficientRtti = class(Exception);
|
EInsufficientRtti = class(Exception);
|
||||||
EInvocationError = class(Exception);
|
EInvocationError = class(Exception);
|
||||||
ENonPublicType = class(Exception);
|
ENonPublicType = class(Exception);
|
||||||
|
Loading…
Reference in New Issue
Block a user