mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-27 14:11:25 +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;
|
BreakDummy2 := ClassVar1;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure Foo(
|
{$IFDEF SINGLE_BIG_FUNC}
|
||||||
(* LOCATION: param *)
|
procedure Foo(
|
||||||
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=arg, _OP_=:, (=;//, _O2_=:, _EQ_= , _BLOCK_=TestArg)
|
(* LOCATION: param *)
|
||||||
ArgMyClass1: TMyClass;
|
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=arg, _OP_=:, (=;//, _O2_=:, _EQ_= , _BLOCK_=TestArg)
|
||||||
ArgMyClass2: TMyBaseClass;
|
ArgMyClass1: TMyClass; ArgMyClass2: TMyBaseClass;
|
||||||
ArgMyTestRec1: TMyTestRec;
|
ArgMyTestRec1: TMyTestRec; Dummy: Integer
|
||||||
Dummy: Integer
|
);
|
||||||
);
|
var
|
||||||
var
|
(* LOCATION: local var *)
|
||||||
(* LOCATION: local var *)
|
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=fooloc, _OP_=:, (=;//, _O2_=:, _EQ_=, _BLOCK_=TestVar )
|
||||||
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=fooloc, _OP_=:, (=;//, _O2_=:, _EQ_=, _BLOCK_=TestVar )
|
|
||||||
|
|
||||||
(* LOCATION: local var pointer <each type> FOR locals *)
|
(* LOCATION: local var pointer <each type> FOR locals *)
|
||||||
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=fooloc_pl_, "_OP_=: ^", (=;//, "_O2_=: ^", _EQ_=, _BLOCK_=TestVar, _BLOCK2_=TestPointer )
|
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=fooloc_pl_, "_OP_=: ^", (=;//, "_O2_=: ^", _EQ_=, _BLOCK_=TestVar, _BLOCK2_=TestPointer )
|
||||||
(* LOCATION: local var pointer <each type> FOR args *)
|
(* LOCATION: local var pointer <each type> FOR args *)
|
||||||
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=fooloc_pa_, "_OP_=: ^", (=;//, "_O2_=: ^", _EQ_=, _BLOCK_=TestVar, _BLOCK2_=TestPointer )
|
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=fooloc_pa_, "_OP_=: ^", (=;//, "_O2_=: ^", _EQ_=, _BLOCK_=TestVar, _BLOCK2_=TestPointer )
|
||||||
|
|
||||||
//TODO MyClass
|
//TODO MyClass
|
||||||
begin // TEST_BREAKPOINT=FooBegin
|
begin // TEST_BREAKPOINT=FooBegin
|
||||||
BreakDummy:= 1;
|
BreakDummy:= 1;
|
||||||
TEST_PREPOCESS(WatchesValuePrgIdent.inc,pre__=fooloc, ADD=2, CHR1='C', _OP_=:=, _O2_={, _EQ_=}:=, _pre2_=gc, _BLOCK_=TestAssign)
|
TEST_PREPOCESS(WatchesValuePrgIdent.inc,pre__=fooloc, ADD=2, CHR1='C', _OP_=:=, _O2_={, _EQ_=}:=, _pre2_=gc, _BLOCK_=TestAssign)
|
||||||
|
|
||||||
(* INIT: local var pointer <each type> *)
|
(* 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_pl_, _OP_={, _O2_={, _pre3_=@fooloc, "//@@=} :=", _BLOCK_=TestVar, _BLOCK2_=TestPointer) //}
|
||||||
TEST_PREPOCESS(WatchesValuePrgIdent.inc,pre__=fooloc_pa_, _OP_={, _O2_={, _pre3_=@arg, "//@@=} :=", _BLOCK_=TestArg, _BLOCK2_=TestPointer) //}
|
TEST_PREPOCESS(WatchesValuePrgIdent.inc,pre__=fooloc_pa_, _OP_={, _O2_={, _pre3_=@arg, "//@@=} :=", _BLOCK_=TestArg, _BLOCK2_=TestPointer) //}
|
||||||
|
|
||||||
BreakDummy:= 1; // TEST_BREAKPOINT=Foo
|
BreakDummy:= 1; // TEST_BREAKPOINT=Foo
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure FooVar(
|
procedure FooVar(
|
||||||
(* LOCATION: var param *)
|
(* LOCATION: var param *)
|
||||||
TEST_PREPOCESS(WatchesValuePrgIdent.inc, "pre__=var argvar", _OP_=:, (=;//, _O2_=:, _EQ_= , _BLOCK_=TestArg)
|
TEST_PREPOCESS(WatchesValuePrgIdent.inc, "pre__=var argvar", _OP_=:, (=;//, _O2_=:, _EQ_= , _BLOCK_=TestArg)
|
||||||
ArgVarMyClass1: TMyClass;
|
ArgVarMyClass1: TMyClass; ArgVarMyClass2: TMyBaseClass;
|
||||||
ArgVarMyClass2: TMyBaseClass;
|
ArgVarMyTestRec1: TMyTestRec; Dummy: Integer
|
||||||
ArgVarMyTestRec1: TMyTestRec;
|
);
|
||||||
Dummy: Integer
|
var
|
||||||
);
|
(* LOCATION: var params pointer <each type> FOR args *)
|
||||||
var
|
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=fooloc_pv_, "_OP_=: ^", (=;//, "_O2_=: ^", _EQ_=, _BLOCK_=TestVar, _BLOCK2_=TestPointer )
|
||||||
(* LOCATION: var params pointer <each type> FOR args *)
|
begin // TEST_BREAKPOINT=FooVarBegin
|
||||||
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=fooloc_pv_, "_OP_=: ^", (=;//, "_O2_=: ^", _EQ_=, _BLOCK_=TestVar, _BLOCK2_=TestPointer )
|
(* INIT: local var pointer <each type> *)
|
||||||
begin // TEST_BREAKPOINT=FooVarBegin
|
TEST_PREPOCESS(WatchesValuePrgIdent.inc,pre__=fooloc_pv_, _OP_={, _O2_={, _pre3_=@argvar, "//@@=} :=", _BLOCK_=TestPointer, _BLOCK2_=TestArg) //}
|
||||||
(* 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;
|
||||||
BreakDummy:= 1; // TEST_BREAKPOINT=FooVar
|
BreakDummy:= 1; // TEST_BREAKPOINT=FooVar
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure FooConstRef(
|
procedure FooConstRef(
|
||||||
(* LOCATION: constref param *)
|
(* LOCATION: constref param *)
|
||||||
TEST_PREPOCESS(WatchesValuePrgIdent.inc, "pre__=constref argconstref", _OP_=:, (=;//, _O2_=:, _EQ_= , _BLOCK_=TestArg)
|
TEST_PREPOCESS(WatchesValuePrgIdent.inc, "pre__=constref argconstref", _OP_=:, (=;//, _O2_=:, _EQ_= , _BLOCK_=TestArg)
|
||||||
ArgConstRefMyClass1: TMyClass;
|
ArgConstRefMyClass1: TMyClass; ArgConstRefMyClass2: TMyBaseClass;
|
||||||
ArgConstRefMyClass2: TMyBaseClass;
|
ArgConstRefMyTestRec1: TMyTestRec; Dummy: Integer
|
||||||
ArgConstRefMyTestRec1: TMyTestRec;
|
);
|
||||||
Dummy: Integer
|
var
|
||||||
);
|
xxx, xx2: ansistring; // enforce a stackframe
|
||||||
var
|
begin // TEST_BREAKPOINT=FooConstRefBegin
|
||||||
xxx, xx2: ansistring; // enforce a stackframe
|
BreakDummy:= 1;
|
||||||
begin // TEST_BREAKPOINT=FooConstRefBegin
|
xxx := '1';
|
||||||
BreakDummy:= 1;
|
BreakDummy:= 1; // TEST_BREAKPOINT=FooConstRef
|
||||||
xxx := '1';
|
end;
|
||||||
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;
|
function TMyClass.SomeFuncIntRes(): Integer;
|
||||||
begin
|
begin
|
||||||
@ -1261,6 +1437,7 @@ begin
|
|||||||
|
|
||||||
BreakDummy:= 1; // TEST_BREAKPOINT=Prg
|
BreakDummy:= 1; // TEST_BREAKPOINT=Prg
|
||||||
|
|
||||||
|
{$IFDEF SINGLE_BIG_FUNC}
|
||||||
Foo(
|
Foo(
|
||||||
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=gv, "_OP_=,//", "_O2_=,//", _BLOCK_=TestParam)
|
TEST_PREPOCESS(WatchesValuePrgIdent.inc, pre__=gv, "_OP_=,//", "_O2_=,//", _BLOCK_=TestParam)
|
||||||
MyClass1,
|
MyClass1,
|
||||||
@ -1284,6 +1461,65 @@ begin
|
|||||||
MyTestRec1,
|
MyTestRec1,
|
||||||
0
|
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.ClassBaseVar1 := 118;
|
||||||
TMyClass.ClassVar1 := 119;
|
TMyClass.ClassVar1 := 119;
|
||||||
|
@ -1,6 +1,11 @@
|
|||||||
{$DEFINE _BLOCK_}
|
{$DEFINE _BLOCK_}
|
||||||
{$DEFINE _BLOCK2_}
|
{$DEFINE _BLOCK2_}
|
||||||
|
|
||||||
|
{$IFnDef Part2}{$IFnDef Part3} // Part 1
|
||||||
|
// ******************************
|
||||||
|
// ********** PART 1 **********
|
||||||
|
// ******************************
|
||||||
|
|
||||||
// ADD max 15
|
// ADD max 15
|
||||||
|
|
||||||
pre__Byte{e} _OP_ Byte (1 + ADD); //@@ _pre3_Byte{e3};
|
pre__Byte{e} _OP_ Byte (1 + ADD); //@@ _pre3_Byte{e3};
|
||||||
@ -159,6 +164,15 @@
|
|||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
|
|
||||||
|
{$ENDIF}{$ENDIF} // parts
|
||||||
|
{$IFnDef Part1}{$IFnDef Part3} // part 2
|
||||||
|
|
||||||
|
// ******************************
|
||||||
|
// ********** PART 2 **********
|
||||||
|
// ******************************
|
||||||
|
|
||||||
|
|
||||||
// **** ARRAY ****
|
// **** ARRAY ****
|
||||||
// **** Dyn ARRAY ****
|
// **** Dyn ARRAY ****
|
||||||
|
|
||||||
@ -225,6 +239,7 @@
|
|||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
|
|
||||||
{$IFDEF TestAssign}
|
{$IFDEF TestAssign}
|
||||||
SetLength(pre__CharDynArray2 {e}, 3); pre__CharDynArray2{e}[0] _OP_ 'N'; //@@ // }
|
SetLength(pre__CharDynArray2 {e}, 3); pre__CharDynArray2{e}[0] _OP_ 'N'; //@@ // }
|
||||||
pre__CharDynArray2{e}[1] _OP_ CHR1; //@@
|
pre__CharDynArray2{e}[1] _OP_ CHR1; //@@
|
||||||
@ -409,12 +424,30 @@
|
|||||||
pre__Set{e} _OP_ TSet([EnVal2, EnVal4]); //@@ _pre3_Set{e3};
|
pre__Set{e} _OP_ TSet([EnVal2, EnVal4]); //@@ _pre3_Set{e3};
|
||||||
pre__SmallSet{e} _OP_ TSmallRangeSet([22, 24,25]); //@@ _pre3_SmallSet{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__Set4{e} _OP_ TSet4([E4Val02, E4Val0A]); //@@ _pre3_Set4{e3};
|
||||||
pre__Set5{e} _OP_ TSet5([E5Val02, E5Val12]); //@@ _pre3_Set5{e3};
|
pre__Set5{e} _OP_ TSet5([E5Val02, E5Val12]); //@@ _pre3_Set5{e3};
|
||||||
pre__Set6{e} _OP_ TSet6([E6Val02, E6Val1A]); //@@ _pre3_Set6{e3};
|
pre__Set6{e} _OP_ TSet6([E6Val02, E6Val1A]); //@@ _pre3_Set6{e3};
|
||||||
pre__Set7{e} _OP_ TSet7([E7Val02, E7Val3A]); //@@ _pre3_Set7{e3};
|
pre__Set7{e} _OP_ TSet7([E7Val02, E7Val3A]); //@@ _pre3_Set7{e3};
|
||||||
pre__Set8{e} _OP_ TSet8([E8Val02, E8Val5B]); //@@ _pre3_Set8{e3};
|
pre__Set8{e} _OP_ TSet8([E8Val02, E8Val5B]); //@@ _pre3_Set8{e3};
|
||||||
|
|
||||||
|
|
||||||
|
{$ENDIF}{$ENDIF} // parts
|
||||||
|
{$IFnDef Part1}{$IFnDef Part2} // part 3
|
||||||
|
|
||||||
|
// ******************************
|
||||||
|
// ********** PART 3 **********
|
||||||
|
// ******************************
|
||||||
|
|
||||||
|
|
||||||
{$IFnDEF TestAssign}
|
{$IFnDEF TestAssign}
|
||||||
pre__BitPackBoolArray{e} _O2_ TBitPackBoolArray _EQ_ (True, False, True, True); //@@ _pre3_BitPackBoolArray{e3}; // }}
|
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}; // }}
|
pre__BitPackTinyArray{e} _O2_ TBitPackTinyArray _EQ_ (1, 0, 3, 2); //@@ _pre3_BitPackTinyArray{e3}; // }}
|
||||||
@ -509,15 +542,6 @@
|
|||||||
{$ENDIF}
|
{$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}
|
{$IFnDEF TestAssign}
|
||||||
pre__FiveRec{e} _O2_ TRecordFive _EQ_ (a:-22-ADD;b:44); //@@ _pre3_FiveRec{e3};
|
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};
|
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}
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$ENDIF}{$ENDIF} // parts
|
||||||
|
|
||||||
{$UNDEF _BLOCK_}
|
{$UNDEF _BLOCK_}
|
||||||
{$UNDEF _BLOCK2_}
|
{$UNDEF _BLOCK2_}
|
||||||
|
|
||||||
|
@ -1966,7 +1966,7 @@ begin
|
|||||||
v := AContext.WatchRes.AsString;
|
v := AContext.WatchRes.AsString;
|
||||||
end
|
end
|
||||||
else begin
|
else begin
|
||||||
TestTrue('got correct type', False, AContext, AnIgnoreRsn);
|
TestEquals('got correct type', 'rdk...string', dbgs(AContext.WatchRes.ValueKind), AContext, AnIgnoreRsn);
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
Result := TestEquals('Data', Expect.ExpTextData, v, AContext, AnIgnoreRsn);
|
Result := TestEquals('Data', Expect.ExpTextData, v, AContext, AnIgnoreRsn);
|
||||||
|
Loading…
Reference in New Issue
Block a user