* 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:
svenbarth 2017-10-06 13:10:01 +00:00
parent 8589b946fc
commit bfd37969ad

View File

@ -205,10 +205,6 @@ type
property TypeSize: integer read GetTypeSize;
end;
TRttiStructuredType = class(TRttiType)
end;
{ TRttiFloatType }
TRttiFloatType = class(TRttiType)
@ -237,22 +233,6 @@ type
property ReferredType: TRttiType read GetReferredType;
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 }
TMemberVisibility=(mvPrivate, mvProtected, mvPublic, mvPublished);
@ -290,6 +270,25 @@ type
property Visibility: TMemberVisibility read GetVisibility;
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);
EInvocationError = class(Exception);
ENonPublicType = class(Exception);