[fpc-devel] AS/IS operators for enums
Ondrej Pokorny
lazarus at kluug.net
Sun Apr 15 14:18:47 CEST 2018
I uploaded a new patch to add enum support to AS/IS operators to
https://bugs.freepascal.org/view.php?id=33603
1.) I added support for the IS operator.
2.) I added support of any ordinal type (int/enum) on the left side of
the operator:
var
E: TMyEnum;
begin
E := E as TMyEnum; // check if E is valid value
if E is TMyEnum then // check if E is valid value
3.) I added support for compile-time constant evaluation as Sven suggested.
4.) I uploaded new test case projects for both AS and IS operators.
---
I did not add support to any integer type on the right side:
if I is Byte then // not supported
because the boundaries of int64 and uint64 types make the whole story
too complicated for me and I don't need it. If anybody wants this
feature, feel free to implement it yourself.
Ondrej
More information about the fpc-devel
mailing list