mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-30 20:30:41 +02:00
FpDebug: test, refactor test code, so it can be compiled using the llvm backend
This commit is contained in:
parent
5a556f6074
commit
c8962f2243
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -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;
|
||||
|
@ -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_}
|
||||
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user