FpDebug: test, refactor test code, so it can be compiled using the llvm backend

This commit is contained in:
Martin 2023-12-03 14:34:44 +01:00
parent 5a556f6074
commit c8962f2243
5 changed files with 908 additions and 566 deletions

File diff suppressed because it is too large Load Diff

View File

@ -634,71 +634,247 @@ begin
BreakDummy2 := ClassVar1;
end;
procedure Foo(
(* LOCATION: param *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=arg, _OP_=:, (=;//, _O2_=:, _EQ_= , _BLOCK_=TestArg)
ArgMyClass1: TMyClass;
ArgMyClass2: TMyBaseClass;
ArgMyTestRec1: TMyTestRec;
Dummy: Integer
);
var
(* LOCATION: local var *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=fooloc, _OP_=:, (=;//, _O2_=:, _EQ_=, _BLOCK_=TestVar )
{$IFDEF SINGLE_BIG_FUNC}
procedure Foo(
(* LOCATION: param *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=arg, _OP_=:, (=;//, _O2_=:, _EQ_= , _BLOCK_=TestArg)
ArgMyClass1: TMyClass; ArgMyClass2: TMyBaseClass;
ArgMyTestRec1: TMyTestRec; Dummy: Integer
);
var
(* LOCATION: local var *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=fooloc, _OP_=:, (=;//, _O2_=:, _EQ_=, _BLOCK_=TestVar )
(* LOCATION: local var pointer <each type> FOR locals *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=fooloc_pl_, "_OP_=: ^", (=;//, "_O2_=: ^", _EQ_=, _BLOCK_=TestVar, _BLOCK2_=TestPointer )
(* LOCATION: local var pointer <each type> FOR args *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=fooloc_pa_, "_OP_=: ^", (=;//, "_O2_=: ^", _EQ_=, _BLOCK_=TestVar, _BLOCK2_=TestPointer )
(* LOCATION: local var pointer <each type> FOR locals *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=fooloc_pl_, "_OP_=: ^", (=;//, "_O2_=: ^", _EQ_=, _BLOCK_=TestVar, _BLOCK2_=TestPointer )
(* LOCATION: local var pointer <each type> FOR args *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=fooloc_pa_, "_OP_=: ^", (=;//, "_O2_=: ^", _EQ_=, _BLOCK_=TestVar, _BLOCK2_=TestPointer )
//TODO MyClass
begin // TEST_BREAKPOINT=FooBegin
BreakDummy:= 1;
TEST_PREPOCESS(WatchesValuePrgIdent.inc,pre__=fooloc, ADD=2, CHR1='C', _OP_=:=, _O2_={, _EQ_=}:=, _pre2_=gc, _BLOCK_=TestAssign)
//TODO MyClass
begin // TEST_BREAKPOINT=FooBegin
BreakDummy:= 1;
TEST_PREPOCESS(WatchesValuePrgIdent.inc,pre__=fooloc, ADD=2, CHR1='C', _OP_=:=, _O2_={, _EQ_=}:=, _pre2_=gc, _BLOCK_=TestAssign)
(* INIT: local var pointer <each type> *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc,pre__=fooloc_pl_, _OP_={, _O2_={, _pre3_=@fooloc, "//@@=} :=", _BLOCK_=TestVar, _BLOCK2_=TestPointer) //}
TEST_PREPOCESS(WatchesValuePrgIdent.inc,pre__=fooloc_pa_, _OP_={, _O2_={, _pre3_=@arg, "//@@=} :=", _BLOCK_=TestArg, _BLOCK2_=TestPointer) //}
(* INIT: local var pointer <each type> *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc,pre__=fooloc_pl_, _OP_={, _O2_={, _pre3_=@fooloc, "//@@=} :=", _BLOCK_=TestVar, _BLOCK2_=TestPointer) //}
TEST_PREPOCESS(WatchesValuePrgIdent.inc,pre__=fooloc_pa_, _OP_={, _O2_={, _pre3_=@arg, "//@@=} :=", _BLOCK_=TestArg, _BLOCK2_=TestPointer) //}
BreakDummy:= 1; // TEST_BREAKPOINT=Foo
end;
BreakDummy:= 1; // TEST_BREAKPOINT=Foo
end;
procedure FooVar(
(* LOCATION: var param *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, "pre__=var argvar", _OP_=:, (=;//, _O2_=:, _EQ_= , _BLOCK_=TestArg)
ArgVarMyClass1: TMyClass;
ArgVarMyClass2: TMyBaseClass;
ArgVarMyTestRec1: TMyTestRec;
Dummy: Integer
);
var
(* LOCATION: var params pointer <each type> FOR args *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=fooloc_pv_, "_OP_=: ^", (=;//, "_O2_=: ^", _EQ_=, _BLOCK_=TestVar, _BLOCK2_=TestPointer )
begin // TEST_BREAKPOINT=FooVarBegin
(* INIT: local var pointer <each type> *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc,pre__=fooloc_pv_, _OP_={, _O2_={, _pre3_=@argvar, "//@@=} :=", _BLOCK_=TestPointer, _BLOCK2_=TestArg) //}
procedure FooVar(
(* LOCATION: var param *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, "pre__=var argvar", _OP_=:, (=;//, _O2_=:, _EQ_= , _BLOCK_=TestArg)
ArgVarMyClass1: TMyClass; ArgVarMyClass2: TMyBaseClass;
ArgVarMyTestRec1: TMyTestRec; Dummy: Integer
);
var
(* LOCATION: var params pointer <each type> FOR args *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=fooloc_pv_, "_OP_=: ^", (=;//, "_O2_=: ^", _EQ_=, _BLOCK_=TestVar, _BLOCK2_=TestPointer )
begin // TEST_BREAKPOINT=FooVarBegin
(* INIT: local var pointer <each type> *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc,pre__=fooloc_pv_, _OP_={, _O2_={, _pre3_=@argvar, "//@@=} :=", _BLOCK_=TestPointer, _BLOCK2_=TestArg) //}
BreakDummy:= 1;
BreakDummy:= 1; // TEST_BREAKPOINT=FooVar
end;
BreakDummy:= 1;
BreakDummy:= 1; // TEST_BREAKPOINT=FooVar
end;
procedure FooConstRef(
(* LOCATION: constref param *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, "pre__=constref argconstref", _OP_=:, (=;//, _O2_=:, _EQ_= , _BLOCK_=TestArg)
ArgConstRefMyClass1: TMyClass;
ArgConstRefMyClass2: TMyBaseClass;
ArgConstRefMyTestRec1: TMyTestRec;
Dummy: Integer
);
var
xxx, xx2: ansistring; // enforce a stackframe
begin // TEST_BREAKPOINT=FooConstRefBegin
BreakDummy:= 1;
xxx := '1';
BreakDummy:= 1; // TEST_BREAKPOINT=FooConstRef
end;
procedure FooConstRef(
(* LOCATION: constref param *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, "pre__=constref argconstref", _OP_=:, (=;//, _O2_=:, _EQ_= , _BLOCK_=TestArg)
ArgConstRefMyClass1: TMyClass; ArgConstRefMyClass2: TMyBaseClass;
ArgConstRefMyTestRec1: TMyTestRec; Dummy: Integer
);
var
xxx, xx2: ansistring; // enforce a stackframe
begin // TEST_BREAKPOINT=FooConstRefBegin
BreakDummy:= 1;
xxx := '1';
BreakDummy:= 1; // TEST_BREAKPOINT=FooConstRef
end;
{$ELSE} // SINGLE_BIG_FUNC
{$DEFINE PART1}
procedure Foo1(
(* LOCATION: param *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=arg, _OP_=:, (=;//, _O2_=:, _EQ_= , _BLOCK_=TestArg)
ArgMyClass1: TMyClass; ArgMyClass2: TMyBaseClass;
ArgMyTestRec1: TMyTestRec; Dummy: Integer
);
var
(* LOCATION: local var *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=fooloc, _OP_=:, (=;//, _O2_=:, _EQ_=, _BLOCK_=TestVar )
(* LOCATION: local var pointer <each type> FOR locals *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=fooloc_pl_, "_OP_=: ^", (=;//, "_O2_=: ^", _EQ_=, _BLOCK_=TestVar, _BLOCK2_=TestPointer )
(* LOCATION: local var pointer <each type> FOR args *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=fooloc_pa_, "_OP_=: ^", (=;//, "_O2_=: ^", _EQ_=, _BLOCK_=TestVar, _BLOCK2_=TestPointer )
//TODO MyClass
begin // TEST_BREAKPOINT=FooBegin1
BreakDummy:= 1;
TEST_PREPOCESS(WatchesValuePrgIdent.inc,pre__=fooloc, ADD=2, CHR1='C', _OP_=:=, _O2_={, _EQ_=}:=, _pre2_=gc, _BLOCK_=TestAssign)
(* INIT: local var pointer <each type> *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc,pre__=fooloc_pl_, _OP_={, _O2_={, _pre3_=@fooloc, "//@@=} :=", _BLOCK_=TestVar, _BLOCK2_=TestPointer) //}
TEST_PREPOCESS(WatchesValuePrgIdent.inc,pre__=fooloc_pa_, _OP_={, _O2_={, _pre3_=@arg, "//@@=} :=", _BLOCK_=TestArg, _BLOCK2_=TestPointer) //}
BreakDummy:= 1; // TEST_BREAKPOINT=Foo1
end;
procedure FooVar1(
(* LOCATION: var param *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, "pre__=var argvar", _OP_=:, (=;//, _O2_=:, _EQ_= , _BLOCK_=TestArg)
ArgVarMyClass1: TMyClass; ArgVarMyClass2: TMyBaseClass;
ArgVarMyTestRec1: TMyTestRec; Dummy: Integer
);
var
(* LOCATION: var params pointer <each type> FOR args *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=fooloc_pv_, "_OP_=: ^", (=;//, "_O2_=: ^", _EQ_=, _BLOCK_=TestVar, _BLOCK2_=TestPointer )
begin // TEST_BREAKPOINT=FooVarBegin1
(* INIT: local var pointer <each type> *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc,pre__=fooloc_pv_, _OP_={, _O2_={, _pre3_=@argvar, "//@@=} :=", _BLOCK_=TestPointer, _BLOCK2_=TestArg) //}
BreakDummy:= 1;
BreakDummy:= 1; // TEST_BREAKPOINT=FooVar1
end;
procedure FooConstRef1(
(* LOCATION: constref param *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, "pre__=constref argconstref", _OP_=:, (=;//, _O2_=:, _EQ_= , _BLOCK_=TestArg)
ArgConstRefMyClass1: TMyClass; ArgConstRefMyClass2: TMyBaseClass;
ArgConstRefMyTestRec1: TMyTestRec; Dummy: Integer
);
var
xxx, xx2: ansistring; // enforce a stackframe
begin // TEST_BREAKPOINT=FooConstRefBegin1
BreakDummy:= 1;
xxx := '1';
BreakDummy:= 1; // TEST_BREAKPOINT=FooConstRef1
end;
{$UNDEF PART1}{$DEFINE PART2}
procedure Foo2(
(* LOCATION: param *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=arg, _OP_=:, (=;//, _O2_=:, _EQ_= , _BLOCK_=TestArg)
Dummy: Integer
);
var
(* LOCATION: local var *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=fooloc, _OP_=:, (=;//, _O2_=:, _EQ_=, _BLOCK_=TestVar )
(* LOCATION: local var pointer <each type> FOR locals *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=fooloc_pl_, "_OP_=: ^", (=;//, "_O2_=: ^", _EQ_=, _BLOCK_=TestVar, _BLOCK2_=TestPointer )
(* LOCATION: local var pointer <each type> FOR args *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=fooloc_pa_, "_OP_=: ^", (=;//, "_O2_=: ^", _EQ_=, _BLOCK_=TestVar, _BLOCK2_=TestPointer )
//TODO MyClass
begin // TEST_BREAKPOINT=FooBegin2
BreakDummy:= 1;
TEST_PREPOCESS(WatchesValuePrgIdent.inc,pre__=fooloc, ADD=2, CHR1='C', _OP_=:=, _O2_={, _EQ_=}:=, _pre2_=gc, _BLOCK_=TestAssign)
(* INIT: local var pointer <each type> *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc,pre__=fooloc_pl_, _OP_={, _O2_={, _pre3_=@fooloc, "//@@=} :=", _BLOCK_=TestVar, _BLOCK2_=TestPointer) //}
TEST_PREPOCESS(WatchesValuePrgIdent.inc,pre__=fooloc_pa_, _OP_={, _O2_={, _pre3_=@arg, "//@@=} :=", _BLOCK_=TestArg, _BLOCK2_=TestPointer) //}
BreakDummy:= 1; // TEST_BREAKPOINT=Foo2
end;
procedure FooVar2(
(* LOCATION: var param *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, "pre__=var argvar", _OP_=:, (=;//, _O2_=:, _EQ_= , _BLOCK_=TestArg)
Dummy: Integer
);
var
(* LOCATION: var params pointer <each type> FOR args *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=fooloc_pv_, "_OP_=: ^", (=;//, "_O2_=: ^", _EQ_=, _BLOCK_=TestVar, _BLOCK2_=TestPointer )
begin // TEST_BREAKPOINT=FooVarBegin2
(* INIT: local var pointer <each type> *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc,pre__=fooloc_pv_, _OP_={, _O2_={, _pre3_=@argvar, "//@@=} :=", _BLOCK_=TestPointer, _BLOCK2_=TestArg) //}
BreakDummy:= 1;
BreakDummy:= 1; // TEST_BREAKPOINT=FooVar2
end;
procedure FooConstRef2(
(* LOCATION: constref param *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, "pre__=constref argconstref", _OP_=:, (=;//, _O2_=:, _EQ_= , _BLOCK_=TestArg)
Dummy: Integer
);
var
xxx, xx2: ansistring; // enforce a stackframe
begin // TEST_BREAKPOINT=FooConstRefBegin2
BreakDummy:= 1;
xxx := '1';
BreakDummy:= 1; // TEST_BREAKPOINT=FooConstRef2
end;
{$UNDEF PART2}{$DEFINE PART3}
procedure Foo3(
(* LOCATION: param *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=arg, _OP_=:, (=;//, _O2_=:, _EQ_= , _BLOCK_=TestArg)
Dummy: Integer
);
var
(* LOCATION: local var *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=fooloc, _OP_=:, (=;//, _O2_=:, _EQ_=, _BLOCK_=TestVar )
(* LOCATION: local var pointer <each type> FOR locals *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=fooloc_pl_, "_OP_=: ^", (=;//, "_O2_=: ^", _EQ_=, _BLOCK_=TestVar, _BLOCK2_=TestPointer )
(* LOCATION: local var pointer <each type> FOR args *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=fooloc_pa_, "_OP_=: ^", (=;//, "_O2_=: ^", _EQ_=, _BLOCK_=TestVar, _BLOCK2_=TestPointer )
//TODO MyClass
begin // TEST_BREAKPOINT=FooBegin3
BreakDummy:= 1;
TEST_PREPOCESS(WatchesValuePrgIdent.inc,pre__=fooloc, ADD=2, CHR1='C', _OP_=:=, _O2_={, _EQ_=}:=, _pre2_=gc, _BLOCK_=TestAssign)
(* INIT: local var pointer <each type> *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc,pre__=fooloc_pl_, _OP_={, _O2_={, _pre3_=@fooloc, "//@@=} :=", _BLOCK_=TestVar, _BLOCK2_=TestPointer) //}
TEST_PREPOCESS(WatchesValuePrgIdent.inc,pre__=fooloc_pa_, _OP_={, _O2_={, _pre3_=@arg, "//@@=} :=", _BLOCK_=TestArg, _BLOCK2_=TestPointer) //}
BreakDummy:= 1; // TEST_BREAKPOINT=Foo3
end;
procedure FooVar3(
(* LOCATION: var param *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, "pre__=var argvar", _OP_=:, (=;//, _O2_=:, _EQ_= , _BLOCK_=TestArg)
Dummy: Integer
);
var
(* LOCATION: var params pointer <each type> FOR args *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=fooloc_pv_, "_OP_=: ^", (=;//, "_O2_=: ^", _EQ_=, _BLOCK_=TestVar, _BLOCK2_=TestPointer )
begin // TEST_BREAKPOINT=FooVarBegin3
(* INIT: local var pointer <each type> *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc,pre__=fooloc_pv_, _OP_={, _O2_={, _pre3_=@argvar, "//@@=} :=", _BLOCK_=TestPointer, _BLOCK2_=TestArg) //}
BreakDummy:= 1;
BreakDummy:= 1; // TEST_BREAKPOINT=FooVar3
end;
procedure FooConstRef3(
(* LOCATION: constref param *)
TEST_PREPOCESS(WatchesValuePrgIdent.inc, "pre__=constref argconstref", _OP_=:, (=;//, _O2_=:, _EQ_= , _BLOCK_=TestArg)
Dummy: Integer
);
var
xxx, xx2: ansistring; // enforce a stackframe
begin // TEST_BREAKPOINT=FooConstRefBegin3
BreakDummy:= 1;
xxx := '1';
BreakDummy:= 1; // TEST_BREAKPOINT=FooConstRef3
end;
{$UNDEF PART3}
{$ENDIF} // SINGLE_BIG_FUNC
function TMyClass.SomeFuncIntRes(): Integer;
begin
@ -1261,6 +1437,7 @@ begin
BreakDummy:= 1; // TEST_BREAKPOINT=Prg
{$IFDEF SINGLE_BIG_FUNC}
Foo(
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=gv, "_OP_=,//", "_O2_=,//", _BLOCK_=TestParam)
MyClass1,
@ -1284,6 +1461,65 @@ begin
MyTestRec1,
0
);
{$ELSE} // SINGLE_BIG_FUNC
{$DEFINE PART1}
Foo1(
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=gv, "_OP_=,//", "_O2_=,//", _BLOCK_=TestParam)
MyClass1,
MyClass2,
MyTestRec1,
0
);
FooVar1(
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=gv, "_OP_=,//", "_O2_=,//", _BLOCK_=TestParam)
MyClass1,
MyClass2,
MyTestRec1,
0
);
FooConstRef1(
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=gv, "_OP_=,//", "_O2_=,//", _BLOCK_=TestParam)
MyClass1,
MyClass2,
MyTestRec1,
0
);
{$UNDEF PART1}{$DEFINE PART2}
Foo2(
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=gv, "_OP_=,//", "_O2_=,//", _BLOCK_=TestParam)
0
);
FooVar2(
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=gv, "_OP_=,//", "_O2_=,//", _BLOCK_=TestParam)
0
);
FooConstRef2(
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=gv, "_OP_=,//", "_O2_=,//", _BLOCK_=TestParam)
0
);
{$UNDEF PART2}{$DEFINE PART3}
Foo3(
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=gv, "_OP_=,//", "_O2_=,//", _BLOCK_=TestParam)
0
);
FooVar3(
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=gv, "_OP_=,//", "_O2_=,//", _BLOCK_=TestParam)
0
);
FooConstRef3(
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=gv, "_OP_=,//", "_O2_=,//", _BLOCK_=TestParam)
0
);
{$UNDEF PART3}
{$ENDIF} // SINGLE_BIG_FUNC
TMyClass.ClassBaseVar1 := 118;
TMyClass.ClassVar1 := 119;

View File

@ -1,6 +1,11 @@
{$DEFINE _BLOCK_}
{$DEFINE _BLOCK2_}
{$IFnDef Part2}{$IFnDef Part3} // Part 1
// ******************************
// ********** PART 1 **********
// ******************************
// ADD max 15
pre__Byte{e} _OP_ Byte (1 + ADD); //@@ _pre3_Byte{e3};
@ -159,6 +164,15 @@
{$ENDIF}
{$ENDIF}
{$ENDIF}{$ENDIF} // parts
{$IFnDef Part1}{$IFnDef Part3} // part 2
// ******************************
// ********** PART 2 **********
// ******************************
// **** ARRAY ****
// **** Dyn ARRAY ****
@ -225,6 +239,7 @@
{$ENDIF}
{$ENDIF}
{$IFDEF TestAssign}
SetLength(pre__CharDynArray2 {e}, 3); pre__CharDynArray2{e}[0] _OP_ 'N'; //@@ // }
pre__CharDynArray2{e}[1] _OP_ CHR1; //@@
@ -409,12 +424,30 @@
pre__Set{e} _OP_ TSet([EnVal2, EnVal4]); //@@ _pre3_Set{e3};
pre__SmallSet{e} _OP_ TSmallRangeSet([22, 24,25]); //@@ _pre3_SmallSet{e3};
{$IFnDEF TestParam}
{$IFnDEF TestArg}
{$IFnDEF TestPointer} {$DEFINE NO_TYPE}
pre__Set2{e} _O2_ set of TEnum _EQ_ ([EnVal1, EnVal4]); //@@ _pre3_Set2{e3};
pre__SmallSet2{e} _O2_ set of TSmallRange _EQ_ ([21, 24,25]); //@@ _pre3_SmallSet2{e3};
{$ENDIF} {$UNDEF NO_TYPE}
{$ENDIF}
{$ENDIF}
pre__Set4{e} _OP_ TSet4([E4Val02, E4Val0A]); //@@ _pre3_Set4{e3};
pre__Set5{e} _OP_ TSet5([E5Val02, E5Val12]); //@@ _pre3_Set5{e3};
pre__Set6{e} _OP_ TSet6([E6Val02, E6Val1A]); //@@ _pre3_Set6{e3};
pre__Set7{e} _OP_ TSet7([E7Val02, E7Val3A]); //@@ _pre3_Set7{e3};
pre__Set8{e} _OP_ TSet8([E8Val02, E8Val5B]); //@@ _pre3_Set8{e3};
{$ENDIF}{$ENDIF} // parts
{$IFnDef Part1}{$IFnDef Part2} // part 3
// ******************************
// ********** PART 3 **********
// ******************************
{$IFnDEF TestAssign}
pre__BitPackBoolArray{e} _O2_ TBitPackBoolArray _EQ_ (True, False, True, True); //@@ _pre3_BitPackBoolArray{e3}; // }}
pre__BitPackTinyArray{e} _O2_ TBitPackTinyArray _EQ_ (1, 0, 3, 2); //@@ _pre3_BitPackTinyArray{e3}; // }}
@ -509,15 +542,6 @@
{$ENDIF}
{$IFnDEF TestParam}
{$IFnDEF TestArg}
{$IFnDEF TestPointer} {$DEFINE NO_TYPE}
pre__Set2{e} _O2_ set of TEnum _EQ_ ([EnVal1, EnVal4]); //@@ _pre3_Set2{e3};
pre__SmallSet2{e} _O2_ set of TSmallRange _EQ_ ([21, 24,25]); //@@ _pre3_SmallSet2{e3};
{$ENDIF} {$UNDEF NO_TYPE}
{$ENDIF}
{$ENDIF}
{$IFnDEF TestAssign}
pre__FiveRec{e} _O2_ TRecordFive _EQ_ (a:-22-ADD;b:44); //@@ _pre3_FiveRec{e3};
pre__Rec3S{e} _O2_ TRecord3Int64 _EQ_ (a:-22;b:44;c:1000+ADD); //@@ _pre3_Rec3S{e3};
@ -634,6 +658,8 @@
{$ENDIF}{$ENDIF}
{$ENDIF}
{$ENDIF}{$ENDIF} // parts
{$UNDEF _BLOCK_}
{$UNDEF _BLOCK2_}

View File

@ -1966,7 +1966,7 @@ begin
v := AContext.WatchRes.AsString;
end
else begin
TestTrue('got correct type', False, AContext, AnIgnoreRsn);
TestEquals('got correct type', 'rdk...string', dbgs(AContext.WatchRes.ValueKind), AContext, AnIgnoreRsn);
exit;
end;
Result := TestEquals('Data', Expect.ExpTextData, v, AContext, AnIgnoreRsn);