Fix in AsRecord
This commit is contained in:
@@ -290,7 +290,7 @@ begin
|
|||||||
|
|
||||||
with seriesVar.AsRecordSeries.Value do
|
with seriesVar.AsRecordSeries.Value do
|
||||||
begin
|
begin
|
||||||
Add(itemValue.AsRecord, lookback);
|
Add(itemValue.AsRecord.Value, lookback);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
else
|
else
|
||||||
@@ -415,7 +415,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
avkRecordSeries: Result := TAstValue.FromMemberSeries(baseValue.AsRecordSeries.Value.CreateMemberSeries(memberName));
|
avkRecordSeries: Result := TAstValue.FromMemberSeries(baseValue.AsRecordSeries.Value.CreateMemberSeries(memberName));
|
||||||
avkRecord: Result := baseValue.AsRecord.Items[memberName];
|
avkRecord: Result := baseValue.AsRecord.Value.Items[memberName];
|
||||||
else
|
else
|
||||||
raise EArgumentException.Create('Member access operator `.` is not supported for this value type.');
|
raise EArgumentException.Create('Member access operator `.` is not supported for this value type.');
|
||||||
end;
|
end;
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ type
|
|||||||
function AsClosure: TAstValue.IClosure; inline;
|
function AsClosure: TAstValue.IClosure; inline;
|
||||||
function AsText: String; inline;
|
function AsText: String; inline;
|
||||||
function AsRecordSeries: TVal<TScalarRecordSeries>; inline;
|
function AsRecordSeries: TVal<TScalarRecordSeries>; inline;
|
||||||
function AsRecord: TScalarRecord; inline;
|
function AsRecord: TVal<TScalarRecord>; inline;
|
||||||
function AsMemberSeries: TVal<TScalarMemberSeries>; inline;
|
function AsMemberSeries: TVal<TScalarMemberSeries>; inline;
|
||||||
function AsSeries: TVal<TScalarSeries>; inline;
|
function AsSeries: TVal<TScalarSeries>; inline;
|
||||||
function ToString: String;
|
function ToString: String;
|
||||||
@@ -360,11 +360,11 @@ begin
|
|||||||
Result := TVal<TScalarMemberSeries>(FInterface);
|
Result := TVal<TScalarMemberSeries>(FInterface);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TAstValue.AsRecord: TScalarRecord;
|
function TAstValue.AsRecord: TVal<TScalarRecord>;
|
||||||
begin
|
begin
|
||||||
if (FKind <> avkRecord) then
|
if (FKind <> avkRecord) then
|
||||||
raise EInvalidCast.Create('Cannot read value as Record.');
|
raise EInvalidCast.Create('Cannot read value as Record.');
|
||||||
Result := (FInterface as TVal<TScalarRecord>).Value;
|
Result := (FInterface as TVal<TScalarRecord>);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TAstValue.AsRecordSeries: TVal<TScalarRecordSeries>;
|
function TAstValue.AsRecordSeries: TVal<TScalarRecordSeries>;
|
||||||
|
|||||||
Reference in New Issue
Block a user