1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
-- Test of using isundefined in various function contexts.
type
t: record
z: boolean;
end;
var
x: boolean;
y: t;
procedure foo(var a: boolean); begin
if isundefined(a) then
end;
end;
procedure bar(a: boolean); begin
if isundefined(a) then
end;
end;
function baz(var a: boolean): boolean; begin
return isundefined(a);
end;
function qux(a: boolean): boolean; begin
return isundefined(a);
end;
function quux(a: t): boolean; begin
return isundefined(a.z);
end;
function quuz(var a: t): boolean; begin
return isundefined(a.z);
end;
startstate begin
x := true;
end;
rule begin
foo(x);
bar(x);
baz(x);
qux(x);
foo(y.z);
bar(y.z);
baz(y.z);
qux(y.z);
quux(y);
quuz(y);
x := !x;
end;
|