Keywords
This commit is contained in:
+14
-14
@@ -46,7 +46,7 @@ type
|
||||
function GetKind: TStaticTypeKind;
|
||||
function GetElementType: IStaticType;
|
||||
function GetSignature: IMethodSignature;
|
||||
function GetDefinition: TScalarRecordDefinition;
|
||||
function GetDefinition: IScalarRecordDefinition;
|
||||
{$endregion}
|
||||
|
||||
// The kind of type (e.g., Ordinal, Series, etc.)
|
||||
@@ -56,7 +56,7 @@ type
|
||||
// The signature (if Kind = stMethod)
|
||||
property Signature: IMethodSignature read GetSignature;
|
||||
// The definition (if Kind = stRecord or stRecordSeries)
|
||||
property Definition: TScalarRecordDefinition read GetDefinition;
|
||||
property Definition: IScalarRecordDefinition read GetDefinition;
|
||||
|
||||
// Checks for type equality
|
||||
function IsEqual(const Other: IStaticType): Boolean;
|
||||
@@ -94,8 +94,8 @@ type
|
||||
// Factory functions for complex types
|
||||
class function CreateSeries(const AElementType: IStaticType): IStaticType; static;
|
||||
class function CreateMethod(const AParamTypes: TArray<IStaticType>; const AReturnType: IStaticType): IStaticType; static;
|
||||
class function CreateRecord(const ADef: TScalarRecordDefinition): IStaticType; static;
|
||||
class function CreateRecordSeries(const ADef: TScalarRecordDefinition): IStaticType; static;
|
||||
class function CreateRecord(const ADef: IScalarRecordDefinition): IStaticType; static;
|
||||
class function CreateRecordSeries(const ADef: IScalarRecordDefinition): IStaticType; static;
|
||||
|
||||
class function FromScalarKind(AKind: TScalar.TKind): IStaticType; static;
|
||||
end;
|
||||
@@ -148,7 +148,7 @@ type
|
||||
function GetKind: TStaticTypeKind; virtual; abstract;
|
||||
function GetElementType: IStaticType; virtual;
|
||||
function GetSignature: IMethodSignature; virtual;
|
||||
function GetDefinition: TScalarRecordDefinition; virtual;
|
||||
function GetDefinition: IScalarRecordDefinition; virtual;
|
||||
function IsEqual(const Other: IStaticType): Boolean; virtual;
|
||||
function ToString: string; override;
|
||||
end;
|
||||
@@ -163,10 +163,10 @@ begin
|
||||
Result := nil;
|
||||
end;
|
||||
|
||||
function TAbstractStaticType.GetDefinition: TScalarRecordDefinition;
|
||||
function TAbstractStaticType.GetDefinition: IScalarRecordDefinition;
|
||||
begin
|
||||
// Return an empty/invalid definition
|
||||
Result := Default(TScalarRecordDefinition);
|
||||
Result := Default(IScalarRecordDefinition);
|
||||
end;
|
||||
|
||||
function TAbstractStaticType.IsEqual(const Other: IStaticType): Boolean;
|
||||
@@ -346,16 +346,16 @@ type
|
||||
TRecordType = class(TAbstractStaticType)
|
||||
private
|
||||
FKind: TStaticTypeKind;
|
||||
FDefinition: TScalarRecordDefinition;
|
||||
FDefinition: IScalarRecordDefinition;
|
||||
public
|
||||
constructor Create(AKind: TStaticTypeKind; ADef: TScalarRecordDefinition);
|
||||
constructor Create(AKind: TStaticTypeKind; ADef: IScalarRecordDefinition);
|
||||
function GetKind: TStaticTypeKind; override;
|
||||
function GetDefinition: TScalarRecordDefinition; override;
|
||||
function GetDefinition: IScalarRecordDefinition; override;
|
||||
function IsEqual(const Other: IStaticType): Boolean; override;
|
||||
function ToString: string; override;
|
||||
end;
|
||||
|
||||
constructor TRecordType.Create(AKind: TStaticTypeKind; ADef: TScalarRecordDefinition);
|
||||
constructor TRecordType.Create(AKind: TStaticTypeKind; ADef: IScalarRecordDefinition);
|
||||
begin
|
||||
inherited Create;
|
||||
Assert(AKind in [stRecord, stRecordSeries]);
|
||||
@@ -368,7 +368,7 @@ begin
|
||||
Result := FKind;
|
||||
end;
|
||||
|
||||
function TRecordType.GetDefinition: TScalarRecordDefinition;
|
||||
function TRecordType.GetDefinition: IScalarRecordDefinition;
|
||||
begin
|
||||
Result := FDefinition;
|
||||
end;
|
||||
@@ -426,12 +426,12 @@ begin
|
||||
Result := TMethodType.Create(AParamTypes, AReturnType);
|
||||
end;
|
||||
|
||||
class function TTypes.CreateRecord(const ADef: TScalarRecordDefinition): IStaticType;
|
||||
class function TTypes.CreateRecord(const ADef: IScalarRecordDefinition): IStaticType;
|
||||
begin
|
||||
Result := TRecordType.Create(stRecord, ADef);
|
||||
end;
|
||||
|
||||
class function TTypes.CreateRecordSeries(const ADef: TScalarRecordDefinition): IStaticType;
|
||||
class function TTypes.CreateRecordSeries(const ADef: IScalarRecordDefinition): IStaticType;
|
||||
begin
|
||||
Result := TRecordType.Create(stRecordSeries, ADef);
|
||||
end;
|
||||
|
||||
Reference in New Issue
Block a user