* 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; 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);