mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-05-11 01:02:36 +02:00

Undo/Replace commits: -797768a965
, Branch RevNo: 58874 codetools: code completion for "FOR var IN" with generic class, from Pascal Riekenberg git-svn-id: trunk@63136 - -4d12a06af5
, Branch RevNo: 62044 CodeTools: Resolve generic params when searching in ancestors.
1272 lines
55 KiB
ObjectPascal
1272 lines
55 KiB
ObjectPascal
program tgeneric_base;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
uses
|
|
Classes;
|
|
|
|
type
|
|
|
|
(* ********************************
|
|
*
|
|
* Types to use a param to generic
|
|
*
|
|
* ********************************)
|
|
|
|
{ TMyClassBase }
|
|
|
|
TMyClassBase = class
|
|
FMyBase: Integer;
|
|
procedure MyBaseOnlyProc;
|
|
procedure MyBaseOnlyProc2;
|
|
procedure MyBaseOnlyProc3;
|
|
|
|
procedure MyBaseAndMyClassProc1;
|
|
procedure MyBaseAndMyClassProc2;
|
|
|
|
procedure MyBaseAndMySubProc1;
|
|
procedure MyBaseAndMySubProc2;
|
|
|
|
procedure MyEveryProc1;
|
|
procedure MyEveryProc2;
|
|
end;
|
|
|
|
{ TMyClass }
|
|
|
|
TMyClass = class(TMyClassBase)
|
|
FMyClass: Integer;
|
|
procedure MyBaseAndMyClassProc1; reintroduce;
|
|
procedure MyBaseAndMyClassProc2; reintroduce;
|
|
|
|
|
|
procedure MyClassProc1;
|
|
procedure MyClassProc2;
|
|
|
|
procedure MyClassAndMySubProc;
|
|
|
|
procedure MyEveryProc1; reintroduce;
|
|
procedure MyEveryProc2; reintroduce;
|
|
end;
|
|
|
|
{ TMyClassSub }
|
|
|
|
TMyClassSub = class(TMyClass)
|
|
FMySub: Integer;
|
|
procedure MyBaseAndMySubProc1; reintroduce;
|
|
procedure MyBaseAndMySubProc2; reintroduce;
|
|
|
|
procedure MyClassAndMySubProc; reintroduce;
|
|
|
|
procedure MyClassSubProc; reintroduce;
|
|
|
|
procedure MyEveryProc1; reintroduce;
|
|
procedure MyEveryProc2; reintroduce;
|
|
end;
|
|
|
|
TWrongClass = class
|
|
FMyBase: Integer;
|
|
FMyClass: Integer;
|
|
FMySub: Integer;
|
|
|
|
procedure MyBaseOnlyProc; virtual; abstract;
|
|
|
|
procedure MyBaseAndMyClassProc1; virtual; abstract;
|
|
procedure MyBaseAndMyClassProc2; virtual; abstract;
|
|
|
|
procedure MyBaseAndMySubProc1; virtual; abstract;
|
|
procedure MyBaseAndMySubProc2; virtual; abstract;
|
|
|
|
procedure MyEveryProc1; virtual; abstract;
|
|
procedure MyEveryProc2; reintroduce; virtual; abstract;
|
|
|
|
procedure MyClassProc1; virtual; abstract;
|
|
procedure MyClassProc2; virtual; abstract;
|
|
|
|
procedure MyClassAndMySubProc; virtual; abstract;
|
|
|
|
procedure MyClassSubProc; reintroduce; virtual; abstract;
|
|
end;
|
|
|
|
TMyRec1 = record
|
|
FRecA: Integer;
|
|
FRecB: Integer;
|
|
end;
|
|
|
|
|
|
(* ********************************
|
|
*
|
|
* Use Gen-Param as type for field
|
|
*
|
|
* ********************************)
|
|
|
|
{ GEN_Field1 }
|
|
|
|
generic GEN_Field1<_F1> = class
|
|
public
|
|
FField1: _F1;
|
|
procedure FieldGenProc;
|
|
end;
|
|
|
|
{ GEN_TField1 - With TYPED generic-param}
|
|
|
|
generic GEN_TField1<_TF1: TMyClass> = class
|
|
public
|
|
FField1: _TF1;
|
|
procedure FieldGenProc;
|
|
end;
|
|
|
|
{ GEN_Forw_Field1 }
|
|
|
|
generic GEN_Forw_Field1<_F_F1> = class
|
|
public
|
|
FField1: specialize GEN_Field1<_F_F1>;
|
|
// FField2: specialize GEN_TField1<TMyClass(_F_F1)>; // TODO : codetool does not parse the type-cast / FPC does
|
|
private type
|
|
TGenPar = _F_F1;
|
|
public
|
|
FField3: specialize GEN_Field1<TGenPar>;
|
|
// FField4: specialize GEN_TField1<TMyClass(TGenPar)>;
|
|
private type
|
|
TField5 = specialize GEN_Field1<_F_F1>;
|
|
// TField6 = specialize GEN_Field1<TMyClass(_F_F1)>;
|
|
public
|
|
FField5: TField5;
|
|
// FField6: TField6;
|
|
procedure FieldGenProc;
|
|
end;
|
|
|
|
// Use the SAME gen-name as the forward (but as dummy)
|
|
generic GEN_Forw_Field2<_F1, _F_F1> = class
|
|
public
|
|
FField1: specialize GEN_Field1<_F_F1>;
|
|
//procedure FieldGenProc;
|
|
end;
|
|
|
|
// Use the SAME gen-name as the forward (but as dummy)
|
|
generic GEN_Forw_Field3<_F1, _F_F1> = class(specialize GEN_Forw_Field1<_F_F1>)
|
|
public
|
|
//procedure FieldGenProc;
|
|
end;
|
|
|
|
{ GEN_Forw_TField1 }
|
|
|
|
generic GEN_Forw_TField1<_F_TF1: TMyClass> = class
|
|
public
|
|
FField1: specialize GEN_Field1<_F_TF1>;
|
|
FField2: specialize GEN_TField1<_F_TF1>;
|
|
private type
|
|
TGenPar = _F_TF1;
|
|
public
|
|
FField3: specialize GEN_Field1<TGenPar>;
|
|
FField4: specialize GEN_TField1<TGenPar>;
|
|
private type
|
|
TField5 = specialize GEN_Field1<_F_TF1>;
|
|
TField6 = specialize GEN_Field1<_F_TF1>;
|
|
public
|
|
FField5: TField5;
|
|
FField6: TField6;
|
|
procedure FieldGenProc;
|
|
end;
|
|
|
|
{ GEN_ForwBase_Field1 }
|
|
|
|
generic GEN_ForwBase_Field1<_FB_F1> = class(specialize GEN_Field1<_FB_F1>)
|
|
public
|
|
procedure FieldGenProc;
|
|
end;
|
|
|
|
//{ GEN_ForwBaseT_Field1 }
|
|
//
|
|
//generic GEN_ForwBaseT_Field1<_FBT_F1> = class(specialize GEN_TField1<TMyClass(_FBT_F1)>)
|
|
//public
|
|
// procedure FieldGenProc;
|
|
//end;
|
|
|
|
{ GEN_ForwBase_TField1 }
|
|
|
|
generic GEN_ForwBase_TField1<_FB_TF1: TMyClass> = class(specialize GEN_Field1<_FB_TF1>)
|
|
public
|
|
procedure FieldGenProc;
|
|
end;
|
|
|
|
|
|
// SPECIALIZE GEN_Field1
|
|
|
|
TTest_Field1 = specialize GEN_Field1<TMyClassSub>;
|
|
|
|
{ TTestInherit_Field1 }
|
|
|
|
TTestInherit_Field1 = class(TTest_Field1)
|
|
procedure FieldGenProc;
|
|
end;
|
|
|
|
{ TTestInline_Field1 }
|
|
|
|
TTestInline_Field1 = class(specialize GEN_Field1<TMyClassSub>)
|
|
procedure FieldGenProc;
|
|
end;
|
|
|
|
{ TTestInline_Field1_Wrong }
|
|
|
|
TTestInline_Field1_Wrong = class(specialize GEN_Field1<TWrongClass>)
|
|
procedure FieldGenProc;
|
|
end;
|
|
|
|
TTestInline_Field1_Rec = class(specialize GEN_Field1<TMyRec1>)
|
|
// procedure FieldGenProc;
|
|
property P1: Integer read FField1.FRecA{declaration:TMyRec1.FRecA};
|
|
end;
|
|
|
|
|
|
// SPECIALIZE GEN_TField1
|
|
|
|
TTest_TField1 = specialize GEN_TField1<TMyClassSub>;
|
|
|
|
TTestInherit_TField1 = class(TTest_TField1)
|
|
procedure FieldGenProc;
|
|
end;
|
|
|
|
TTestInline_TField1 = class(specialize GEN_TField1<TMyClassSub>)
|
|
procedure FieldGenProc;
|
|
end;
|
|
|
|
|
|
// SPECIALIZE GEN_Forw_Field1
|
|
|
|
TTest_Forw_Field1 = specialize GEN_Forw_Field1<TMyClassSub>;
|
|
|
|
TTestInherit_Forw_Field1 = class(TTest_Forw_Field1)
|
|
procedure FieldGenProc;
|
|
end;
|
|
|
|
TTestInline_Forw_Field1 = class(specialize GEN_Forw_Field1<TMyClassSub>)
|
|
procedure FieldGenProc;
|
|
end;
|
|
|
|
// SPECIALIZE GEN_Forw_Field2
|
|
|
|
TTest_Forw_Field2 = specialize GEN_Forw_Field2<TWrongClass, TMyClassSub>;
|
|
|
|
TTestInherit_Forw_Field2 = class(TTest_Forw_Field2)
|
|
procedure FieldGenProc;
|
|
end;
|
|
|
|
TTestInline_Forw_Field2 = class(specialize GEN_Forw_Field2<TWrongClass, TMyClassSub>)
|
|
procedure FieldGenProc;
|
|
end;
|
|
|
|
// SPECIALIZE GEN_Forw_Field3
|
|
|
|
TTest_Forw_Field3 = specialize GEN_Forw_Field3<TWrongClass, TMyClassSub>;
|
|
|
|
TTestInherit_Forw_Field3 = class(TTest_Forw_Field3)
|
|
procedure FieldGenProc;
|
|
end;
|
|
|
|
TTestInline_Forw_Field3 = class(specialize GEN_Forw_Field3<TWrongClass, TMyClassSub>)
|
|
procedure FieldGenProc;
|
|
end;
|
|
|
|
// SPECIALIZE GEN_Forw_TField1
|
|
|
|
TTest_Forw_TField1 = specialize GEN_Forw_TField1<TMyClassSub>;
|
|
|
|
TTestInherit_Forw_TField1 = class(TTest_Forw_TField1)
|
|
procedure FieldGenProc;
|
|
end;
|
|
|
|
TTestInline_Forw_TField1 = class(specialize GEN_Forw_TField1<TMyClassSub>)
|
|
procedure FieldGenProc;
|
|
end;
|
|
|
|
|
|
// SPECIALIZE GEN_ForwBase_Field1
|
|
|
|
TTest_ForwBase_Field1 = specialize GEN_ForwBase_Field1<TMyClassSub>;
|
|
|
|
TTestInherit_ForwBase_Field1 = class(TTest_ForwBase_Field1)
|
|
procedure FieldGenProc;
|
|
end;
|
|
|
|
TTestInline_ForwBase_Field1 = class(specialize GEN_ForwBase_Field1<TMyClassSub>)
|
|
procedure FieldGenProc;
|
|
end;
|
|
|
|
|
|
// SPECIALIZE GEN_ForwBase_TField1
|
|
|
|
TTest_ForwBase_TField1 = specialize GEN_ForwBase_TField1<TMyClassSub>;
|
|
|
|
TTestInherit_ForwBase_TField1 = class(TTest_ForwBase_TField1)
|
|
procedure FieldGenProc;
|
|
end;
|
|
|
|
TTestInline_ForwBase_TField1 = class(specialize GEN_ForwBase_TField1<TMyClassSub>)
|
|
procedure FieldGenProc;
|
|
end;
|
|
|
|
|
|
var
|
|
Var1Test_Field1 : TTest_Field1;
|
|
Var1TestInherit_Field1 : TTestInherit_Field1;
|
|
Var1TestInline_Field1 : TTestInline_Field1;
|
|
Var1TestInline_Field1_Rec : TTestInline_Field1_Rec;
|
|
Var1Test_TField1 : TTest_TField1;
|
|
Var1TestInherit_TField1 : TTestInherit_TField1;
|
|
Var1TestInline_TField1 : TTestInline_TField1;
|
|
Var1Test_Forw_Field1 : TTest_Forw_Field1;
|
|
Var1TestInherit_Forw_Field1 : TTestInherit_Forw_Field1;
|
|
Var1TestInline_Forw_Field1 : TTestInline_Forw_Field1;
|
|
Var1Test_Forw_Field2 : TTest_Forw_Field2;
|
|
Var1TestInherit_Forw_Field2 : TTestInherit_Forw_Field2;
|
|
Var1TestInline_Forw_Field2 : TTestInline_Forw_Field2;
|
|
Var1Test_Forw_Field3 : TTest_Forw_Field3;
|
|
Var1TestInherit_Forw_Field3 : TTestInherit_Forw_Field3;
|
|
Var1TestInline_Forw_Field3 : TTestInline_Forw_Field3;
|
|
Var1Test_Forw_TField1 : TTest_Forw_TField1;
|
|
Var1TestInherit_Forw_TField1 : TTestInherit_Forw_TField1;
|
|
Var1TestInline_Forw_TField1 : TTestInline_Forw_TField1;
|
|
Var1Test_ForwBase_Field1 : TTest_ForwBase_Field1;
|
|
Var1TestInherit_ForwBase_Field1 : TTestInherit_ForwBase_Field1;
|
|
Var1TestInline_ForwBase_Field1 : TTestInline_ForwBase_Field1;
|
|
Var1Test_ForwBase_TField1 : TTest_ForwBase_TField1;
|
|
Var1TestInherit_ForwBase_TField1: TTestInherit_ForwBase_TField1;
|
|
Var1TestInline_ForwBase_TField1 : TTestInline_ForwBase_TField1;
|
|
|
|
|
|
Var2Test_Field1 : specialize GEN_Field1<TMyClassSub>;
|
|
Var2Test_TField1 : specialize GEN_TField1<TMyClassSub>;
|
|
Var2Test_Forw_Field1 : specialize GEN_Forw_Field1<TMyClassSub>;
|
|
Var2Test_Forw_TField1 : specialize GEN_Forw_TField1<TMyClassSub>;
|
|
Var2Test_ForwBase_Field1 : specialize GEN_ForwBase_Field1<TMyClassSub>;
|
|
Var2Test_ForwBase_TField1 : specialize GEN_ForwBase_TField1<TMyClassSub>;
|
|
|
|
Var2Test_Forw_Field2 : specialize GEN_Forw_Field2<TWrongClass, TMyClassSub>;
|
|
Var2Test_Forw_Field3 : specialize GEN_Forw_Field3<TWrongClass, TMyClassSub>;
|
|
|
|
type
|
|
(* ********************************
|
|
*
|
|
* Use Gen-Param as base class
|
|
*
|
|
* ********************************)
|
|
|
|
{ GEN_Base1 }
|
|
|
|
generic GEN_Base1<_B1: class> = class(_B1)
|
|
procedure MyBaseOnlyProc2; reintroduce;
|
|
end;
|
|
|
|
{ GEN_TBase1 }
|
|
|
|
generic GEN_TBase1<_TB1: TMyClass> = class(_TB1)
|
|
procedure MyBaseOnlyProc2; reintroduce;
|
|
end;
|
|
|
|
generic GEN_ForwBase_Base1<_B1: class; _FB_TB1: class> = class(specialize GEN_Base1<_FB_TB1>)
|
|
procedure MyBaseOnlyProc; reintroduce;
|
|
procedure MyBaseOnlyProc2; reintroduce;
|
|
end;
|
|
|
|
|
|
TTest_Base1 = specialize GEN_Base1<TMyClassSub>;
|
|
|
|
TTestInherhit_Base1 = class(TTest_Base1)
|
|
procedure Foo;
|
|
procedure MyBaseOnlyProc3 {declaration:TMyClassBase.MyBaseOnlyProc3}; reintroduce; virtual; abstract;
|
|
procedure MyBaseAndMyClassProc2{declaration:TMyClass.MyBaseAndMyClassProc2}; reintroduce; virtual; abstract;
|
|
procedure MyBaseAndMySubProc2 {declaration:TMyClassSub.MyBaseAndMySubProc2}; reintroduce; virtual; abstract;
|
|
procedure MyEveryProc2 {declaration:TMyClassSub.MyEveryProc2}; reintroduce; virtual; abstract;
|
|
end;
|
|
|
|
TTestInline_Base1 = class(specialize GEN_Base1<TMyClassSub>)
|
|
procedure Foo;
|
|
procedure MyBaseOnlyProc3 {declaration:TMyClassBase.MyBaseOnlyProc3}; reintroduce; virtual; abstract;
|
|
procedure MyBaseAndMyClassProc2{declaration:TMyClass.MyBaseAndMyClassProc2}; reintroduce; virtual; abstract;
|
|
procedure MyBaseAndMySubProc2 {declaration:TMyClassSub.MyBaseAndMySubProc2}; reintroduce; virtual; abstract;
|
|
procedure MyEveryProc2 {declaration:TMyClassSub.MyEveryProc2}; reintroduce; virtual; abstract;
|
|
end;
|
|
|
|
TTestInline_Base1Sub = class(TTestInline_Base1)
|
|
procedure Foo;
|
|
procedure MyEveryProc1 {declaration:TMyClassSub.MyEveryProc1}; reintroduce; virtual; abstract;
|
|
end;
|
|
|
|
|
|
TTest_TBase1 = specialize GEN_TBase1<TMyClassSub>;
|
|
|
|
TTestInherhit_TBase1 = class(TTest_TBase1)
|
|
procedure Foo;
|
|
procedure MyBaseOnlyProc3 {declaration:TMyClassBase.MyBaseOnlyProc3}; reintroduce; virtual; abstract;
|
|
procedure MyBaseAndMyClassProc2{declaration:TMyClass.MyBaseAndMyClassProc2}; reintroduce; virtual; abstract;
|
|
procedure MyBaseAndMySubProc2 {declaration:TMyClassSub.MyBaseAndMySubProc2}; reintroduce; virtual; abstract;
|
|
procedure MyEveryProc2 {declaration:TMyClassSub.MyEveryProc2}; reintroduce; virtual; abstract;
|
|
end;
|
|
|
|
TTestInline_TBase1 = class(specialize GEN_TBase1<TMyClassSub>)
|
|
procedure Foo;
|
|
procedure MyBaseOnlyProc3 {declaration:TMyClassBase.MyBaseOnlyProc3}; reintroduce; virtual; abstract;
|
|
procedure MyBaseAndMyClassProc2{declaration:TMyClass.MyBaseAndMyClassProc2}; reintroduce; virtual; abstract;
|
|
procedure MyBaseAndMySubProc2 {declaration:TMyClassSub.MyBaseAndMySubProc2}; reintroduce; virtual; abstract;
|
|
procedure MyEveryProc2 {declaration:TMyClassSub.MyEveryProc2}; reintroduce; virtual; abstract;
|
|
end;
|
|
|
|
TTestInline_TBase1Sub = class(TTestInline_TBase1)
|
|
procedure Foo;
|
|
procedure MyEveryProc1 {declaration:TMyClassSub.MyEveryProc1}; reintroduce; virtual; abstract;
|
|
end;
|
|
|
|
|
|
TTest_ForwBase_Base1 = specialize GEN_ForwBase_Base1<TWrongClass, TMyClassSub>;
|
|
|
|
{ TTest_ForwBaseInherhit_Base1 }
|
|
|
|
TTest_ForwBaseInherhit_Base1 = class(TTest_ForwBase_Base1)
|
|
procedure Foo;
|
|
procedure MyBaseOnlyProc3 {declaration:TMyClassBase.MyBaseOnlyProc3}; reintroduce; virtual; abstract;
|
|
procedure MyBaseAndMyClassProc2{declaration:TMyClass.MyBaseAndMyClassProc2}; reintroduce; virtual; abstract;
|
|
procedure MyBaseAndMySubProc2 {declaration:TMyClassSub.MyBaseAndMySubProc2}; reintroduce; virtual; abstract;
|
|
procedure MyEveryProc2 {declaration:TMyClassSub.MyEveryProc2}; reintroduce; virtual; abstract;
|
|
end;
|
|
|
|
{ TTest_ForwBaseInline_Base1 }
|
|
|
|
TTest_ForwBaseInline_Base1 = class(specialize GEN_ForwBase_Base1<TWrongClass, TMyClassSub>)
|
|
procedure Foo;
|
|
procedure MyBaseOnlyProc3 {declaration:TMyClassBase.MyBaseOnlyProc3}; reintroduce; virtual; abstract;
|
|
procedure MyBaseAndMyClassProc2{declaration:TMyClass.MyBaseAndMyClassProc2}; reintroduce; virtual; abstract;
|
|
procedure MyBaseAndMySubProc2 {declaration:TMyClassSub.MyBaseAndMySubProc2}; reintroduce; virtual; abstract;
|
|
procedure MyEveryProc2 {declaration:TMyClassSub.MyEveryProc2}; reintroduce; virtual; abstract;
|
|
end;
|
|
|
|
|
|
(* ********************************
|
|
*
|
|
* Types to use a param to generic
|
|
*
|
|
* ********************************)
|
|
|
|
{ TMyClassBase }
|
|
|
|
procedure TMyClassBase.MyBaseOnlyProc;
|
|
begin
|
|
|
|
end;
|
|
|
|
procedure TMyClassBase.MyBaseOnlyProc2;
|
|
begin
|
|
|
|
end;
|
|
|
|
procedure TMyClassBase.MyBaseOnlyProc3;
|
|
begin
|
|
|
|
end;
|
|
|
|
procedure TMyClassBase.MyBaseAndMyClassProc1;
|
|
begin
|
|
//
|
|
end;
|
|
|
|
procedure TMyClassBase.MyBaseAndMyClassProc2;
|
|
begin
|
|
|
|
end;
|
|
|
|
procedure TMyClassBase.MyBaseAndMySubProc1;
|
|
begin
|
|
|
|
end;
|
|
|
|
procedure TMyClassBase.MyBaseAndMySubProc2;
|
|
begin
|
|
|
|
end;
|
|
|
|
procedure TMyClassBase.MyEveryProc1;
|
|
begin
|
|
//
|
|
end;
|
|
|
|
procedure TMyClassBase.MyEveryProc2;
|
|
begin
|
|
|
|
end;
|
|
|
|
{ TMyClass }
|
|
|
|
procedure TMyClass.MyBaseAndMyClassProc1;
|
|
begin
|
|
//
|
|
end;
|
|
|
|
procedure TMyClass.MyBaseAndMyClassProc2;
|
|
begin
|
|
|
|
end;
|
|
|
|
procedure TMyClass.MyClassProc1;
|
|
begin
|
|
|
|
end;
|
|
|
|
procedure TMyClass.MyClassProc2;
|
|
begin
|
|
|
|
end;
|
|
|
|
procedure TMyClass.MyClassAndMySubProc;
|
|
begin
|
|
|
|
end;
|
|
|
|
procedure TMyClass.MyEveryProc1;
|
|
begin
|
|
|
|
end;
|
|
|
|
procedure TMyClass.MyEveryProc2;
|
|
begin
|
|
|
|
end;
|
|
|
|
{ TMyClassSub }
|
|
|
|
procedure TMyClassSub.MyBaseAndMySubProc1;
|
|
begin
|
|
//
|
|
end;
|
|
|
|
procedure TMyClassSub.MyBaseAndMySubProc2;
|
|
begin
|
|
|
|
end;
|
|
|
|
procedure TMyClassSub.MyClassAndMySubProc;
|
|
begin
|
|
//
|
|
end;
|
|
|
|
procedure TMyClassSub.MyClassSubProc;
|
|
begin
|
|
|
|
end;
|
|
|
|
procedure TMyClassSub.MyEveryProc1;
|
|
begin
|
|
|
|
end;
|
|
|
|
procedure TMyClassSub.MyEveryProc2;
|
|
begin
|
|
|
|
end;
|
|
|
|
(* ********************************
|
|
*
|
|
* Use Gen-Param as type for field
|
|
*
|
|
* ********************************)
|
|
|
|
{ GEN_Field1 }
|
|
|
|
procedure GEN_Field1.FieldGenProc;
|
|
begin
|
|
//
|
|
end;
|
|
|
|
{ GEN_TField1 }
|
|
|
|
procedure GEN_TField1.FieldGenProc;
|
|
begin
|
|
FField1.MyBaseOnlyProc{ TODO declaration:TMyClassBase.MyBaseOnlyProc};
|
|
FField1.MyBaseAndMyClassProc1{ TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
{$IFDEF WRONG}
|
|
FField1.MyClassSubProc{declaration:};
|
|
{$ENDIF}
|
|
end;
|
|
|
|
{ GEN_Forw_Field1 }
|
|
|
|
procedure GEN_Forw_Field1.FieldGenProc;
|
|
begin
|
|
end;
|
|
|
|
{ GEN_Forw_TField1 }
|
|
|
|
procedure GEN_Forw_TField1.FieldGenProc;
|
|
begin
|
|
end;
|
|
|
|
{ GEN_ForwBase_Field1 }
|
|
|
|
procedure GEN_ForwBase_Field1.FieldGenProc;
|
|
begin
|
|
end;
|
|
|
|
//{ GEN_ForwBaseT_Field1 }
|
|
//
|
|
//procedure GEN_ForwBaseT_Field1.FieldGenProc;
|
|
//begin
|
|
//end;
|
|
|
|
{ GEN_ForwBase_TField1 }
|
|
|
|
procedure GEN_ForwBase_TField1.FieldGenProc;
|
|
begin
|
|
end;
|
|
|
|
|
|
{ TTestInherit_Field1 }
|
|
|
|
procedure TTestInherit_Field1.FieldGenProc;
|
|
begin
|
|
FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
end;
|
|
|
|
{ TTestInline_Field1 }
|
|
|
|
procedure TTestInline_Field1.FieldGenProc;
|
|
begin
|
|
FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
end;
|
|
|
|
{ TTestInline_Field1_Wrong }
|
|
|
|
procedure TTestInline_Field1_Wrong.FieldGenProc;
|
|
begin
|
|
FField1.MyBaseOnlyProc {declaration:TWrongClass.MyBaseOnlyProc};
|
|
FField1.MyBaseAndMyClassProc1 {declaration:TWrongClass.MyBaseAndMyClassProc1};
|
|
FField1.MyClassSubProc {declaration:TWrongClass.MyClassSubProc};
|
|
FField1.MyBaseAndMySubProc1 {declaration:TWrongClass.MyBaseAndMySubProc1};
|
|
FField1.FMySub {declaration:TWrongClass.FMySub} := 1;
|
|
end;
|
|
|
|
{ TTestInherit_TField1 }
|
|
|
|
procedure TTestInherit_TField1.FieldGenProc;
|
|
begin
|
|
FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
end;
|
|
|
|
{ TTestInline_TField1 }
|
|
|
|
procedure TTestInline_TField1.FieldGenProc;
|
|
begin
|
|
FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
end;
|
|
|
|
{ TTestInherit_Forw_Field1 }
|
|
|
|
procedure TTestInherit_Forw_Field1.FieldGenProc;
|
|
begin
|
|
FField1.FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
FField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField1.FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
FField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField1.FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
FField3.FField1.MyBaseOnlyProc { TODO declaration:TMyClassBase.MyBaseOnlyProc};
|
|
FField3.FField1.MyBaseAndMyClassProc1 { TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField3.FField1.MyClassSubProc { TODO declaration:TMyClassSub.MyClassSubProc};
|
|
FField3.FField1.MyBaseAndMySubProc1 { TODO declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField3.FField1.FMySub { TODO declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
FField5.FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
FField5.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField5.FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
FField5.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField5.FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
end;
|
|
|
|
{ TTestInline_Forw_Field1 }
|
|
|
|
procedure TTestInline_Forw_Field1.FieldGenProc;
|
|
begin
|
|
FField1.FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
FField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField1.FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
FField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField1.FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
FField3.FField1.MyBaseOnlyProc { TODO declaration:TMyClassBase.MyBaseOnlyProc};
|
|
FField3.FField1.MyBaseAndMyClassProc1 { TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField3.FField1.MyClassSubProc { TODO declaration:TMyClassSub.MyClassSubProc};
|
|
FField3.FField1.MyBaseAndMySubProc1 { TODO declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField3.FField1.FMySub { TODO declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
FField5.FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
FField5.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField5.FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
FField5.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField5.FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
end;
|
|
|
|
{ TTestInherit_Forw_Field2 }
|
|
|
|
procedure TTestInherit_Forw_Field2.FieldGenProc;
|
|
begin
|
|
FField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField1.FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
end;
|
|
|
|
procedure TTestInline_Forw_Field2.FieldGenProc;
|
|
begin
|
|
FField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField1.FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
end;
|
|
|
|
{ TTestInherit_Forw_Field3 }
|
|
|
|
procedure TTestInherit_Forw_Field3.FieldGenProc;
|
|
begin
|
|
FField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField1.FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
FField3.FField1.MyBaseAndMyClassProc1 { TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField3.FField1.MyBaseAndMySubProc1 { TODO declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField3.FField1.FMySub { TODO declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
FField5.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField5.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField5.FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
end;
|
|
|
|
procedure TTestInline_Forw_Field3.FieldGenProc;
|
|
begin
|
|
FField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField1.FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
FField3.FField1.MyBaseAndMyClassProc1 { TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField3.FField1.MyBaseAndMySubProc1 { TODO declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField3.FField1.FMySub { TODO declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
FField5.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField5.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField5.FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
end;
|
|
|
|
{ TTestInherit_Forw_TField1 }
|
|
|
|
procedure TTestInherit_Forw_TField1.FieldGenProc;
|
|
begin
|
|
FField1.FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
FField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField1.FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
FField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField1.FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
FField2.FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
FField2.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField2.FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
FField2.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField2.FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
FField3.FField1.MyBaseOnlyProc { TODO declaration:TMyClassBase.MyBaseOnlyProc};
|
|
FField3.FField1.MyBaseAndMyClassProc1 { TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField3.FField1.MyClassSubProc { TODO declaration:TMyClassSub.MyClassSubProc};
|
|
FField3.FField1.MyBaseAndMySubProc1 { TODO declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField3.FField1.FMySub { TODO declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
FField4.FField1.MyBaseOnlyProc { TODO declaration:TMyClassBase.MyBaseOnlyProc};
|
|
FField4.FField1.MyBaseAndMyClassProc1 { TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField4.FField1.MyClassSubProc { TODO declaration:TMyClassSub.MyClassSubProc};
|
|
FField4.FField1.MyBaseAndMySubProc1 { TODO declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField4.FField1.FMySub { TODO declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
FField5.FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
FField5.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField5.FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
FField5.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField5.FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
FField6.FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
FField6.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField6.FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
FField6.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField6.FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
end;
|
|
|
|
{ TTestInline_Forw_TField1 }
|
|
|
|
procedure TTestInline_Forw_TField1.FieldGenProc;
|
|
begin
|
|
FField1.FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
FField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField1.FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
FField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField1.FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
FField2.FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
FField2.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField2.FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
FField2.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField2.FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
FField3.FField1.MyBaseOnlyProc { TODO declaration:TMyClassBase.MyBaseOnlyProc};
|
|
FField3.FField1.MyBaseAndMyClassProc1 { TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField3.FField1.MyClassSubProc { TODO declaration:TMyClassSub.MyClassSubProc};
|
|
FField3.FField1.MyBaseAndMySubProc1 { TODO declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField3.FField1.FMySub { TODO declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
FField4.FField1.MyBaseOnlyProc { TODO declaration:TMyClassBase.MyBaseOnlyProc};
|
|
FField4.FField1.MyBaseAndMyClassProc1 { TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField4.FField1.MyClassSubProc { TODO declaration:TMyClassSub.MyClassSubProc};
|
|
FField4.FField1.MyBaseAndMySubProc1 { TODO declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField4.FField1.FMySub { TODO declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
FField5.FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
FField5.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField5.FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
FField5.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField5.FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
FField6.FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
FField6.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField6.FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
FField6.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField6.FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
end;
|
|
|
|
{ TTestInherit_ForwBase_Field1 }
|
|
|
|
procedure TTestInherit_ForwBase_Field1.FieldGenProc;
|
|
begin
|
|
FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
end;
|
|
|
|
{ TTestInline_ForwBase_Field1 }
|
|
|
|
procedure TTestInline_ForwBase_Field1.FieldGenProc;
|
|
begin
|
|
FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
end;
|
|
|
|
{ TTestInherit_ForwBase_TField1 }
|
|
|
|
procedure TTestInherit_ForwBase_TField1.FieldGenProc;
|
|
begin
|
|
FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
end;
|
|
|
|
{ TTestInline_ForwBase_TField1 }
|
|
|
|
procedure TTestInline_ForwBase_TField1.FieldGenProc;
|
|
begin
|
|
FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
end;
|
|
|
|
procedure TestGenFieldVariables;
|
|
begin
|
|
Var1Test_Field1.FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
Var1Test_Field1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1Test_Field1.FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
Var1Test_Field1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1Test_Field1.FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
Var1TestInherit_Field1.FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
Var1TestInherit_Field1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInherit_Field1.FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
Var1TestInherit_Field1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1TestInherit_Field1.FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
Var1TestInherit_Field1.FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
Var1TestInherit_Field1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInherit_Field1.FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
Var1TestInherit_Field1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1TestInherit_Field1.FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
Var1TestInline_Field1.FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
Var1TestInline_Field1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInline_Field1.FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
Var1TestInline_Field1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1TestInline_Field1.FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
Var1Test_Forw_Field1.FField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1Test_Forw_Field1.FField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
//Var1Test_Forw_Field1.FField2.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
//Var1Test_Forw_Field1.FField2.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1Test_Forw_Field1.FField3.FField1.MyBaseAndMyClassProc1 { TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1Test_Forw_Field1.FField3.FField1.MyBaseAndMySubProc1 { TODO declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
//Var1Test_Forw_Field1.FField4.FField1.MyBaseAndMyClassProc1 { TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
//Var1Test_Forw_Field1.FField4.FField1.MyBaseAndMySubProc1 { TODO declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1Test_Forw_Field1.FField5.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1Test_Forw_Field1.FField5.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
//Var1Test_Forw_Field1.FField6.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
//Var1Test_Forw_Field1.FField6.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
|
|
Var1TestInherit_Forw_Field1.FField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInherit_Forw_Field1.FField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
//Var1TestInherit_Forw_Field1.FField2.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
//Var1TestInherit_Forw_Field1.FField2.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1TestInherit_Forw_Field1.FField3.FField1.MyBaseAndMyClassProc1 { TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInherit_Forw_Field1.FField3.FField1.MyBaseAndMySubProc1 { TODO declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
//Var1TestInherit_Forw_Field1.FField4.FField1.MyBaseAndMyClassProc1 { TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
//Var1TestInherit_Forw_Field1.FField4.FField1.MyBaseAndMySubProc1 { TODO declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1TestInherit_Forw_Field1.FField5.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInherit_Forw_Field1.FField5.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
//Var1TestInherit_Forw_Field1.FField6.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
//Var1TestInherit_Forw_Field1.FField6.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
|
|
Var1TestInline_Forw_Field1.FField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInline_Forw_Field1.FField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
//Var1TestInline_Forw_Field1.FField2.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
//Var1TestInline_Forw_Field1.FField2.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1TestInline_Forw_Field1.FField3.FField1.MyBaseAndMyClassProc1 { TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInline_Forw_Field1.FField3.FField1.MyBaseAndMySubProc1 { TODO declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
//Var1TestInline_Forw_Field1.FField4.FField1.MyBaseAndMyClassProc1 { TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
//Var1TestInline_Forw_Field1.FField4.FField1.MyBaseAndMySubProc1 { TODO declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1TestInline_Forw_Field1.FField5.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInline_Forw_Field1.FField5.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
//Var1TestInline_Forw_Field1.FField6.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
//Var1TestInline_Forw_Field1.FField6.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
|
|
Var1Test_Forw_Field2.FField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1Test_Forw_Field2.FField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
|
|
Var1TestInherit_Forw_Field2.FField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInherit_Forw_Field2.FField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
|
|
Var1TestInline_Forw_Field2.FField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInline_Forw_Field2.FField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
|
|
Var1Test_Forw_Field3.FField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1Test_Forw_Field3.FField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1Test_Forw_Field3.FField3.FField1.MyBaseAndMyClassProc1 { TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1Test_Forw_Field3.FField3.FField1.MyBaseAndMySubProc1 { TODO declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1Test_Forw_Field3.FField5.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1Test_Forw_Field3.FField5.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
|
|
Var1TestInherit_Forw_Field3.FField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInherit_Forw_Field3.FField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1TestInherit_Forw_Field3.FField3.FField1.MyBaseAndMyClassProc1 { TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInherit_Forw_Field3.FField3.FField1.MyBaseAndMySubProc1 { TODO declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1TestInherit_Forw_Field3.FField5.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInherit_Forw_Field3.FField5.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
|
|
Var1TestInline_Forw_Field3.FField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInline_Forw_Field3.FField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1TestInline_Forw_Field3.FField3.FField1.MyBaseAndMyClassProc1 { TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInline_Forw_Field3.FField3.FField1.MyBaseAndMySubProc1 { TODO declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1TestInline_Forw_Field3.FField5.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInline_Forw_Field3.FField5.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
|
|
Var1Test_Forw_TField1.FField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1Test_Forw_TField1.FField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1Test_Forw_TField1.FField2.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1Test_Forw_TField1.FField2.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1Test_Forw_TField1.FField3.FField1.MyBaseAndMyClassProc1 { TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1Test_Forw_TField1.FField3.FField1.MyBaseAndMySubProc1 { TODO declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1Test_Forw_TField1.FField4.FField1.MyBaseAndMyClassProc1 { TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1Test_Forw_TField1.FField4.FField1.MyBaseAndMySubProc1 { TODO declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1Test_Forw_TField1.FField5.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1Test_Forw_TField1.FField5.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1Test_Forw_TField1.FField6.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1Test_Forw_TField1.FField6.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
|
|
Var1TestInherit_Forw_TField1.FField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInherit_Forw_TField1.FField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1TestInherit_Forw_TField1.FField2.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInherit_Forw_TField1.FField2.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1TestInherit_Forw_TField1.FField3.FField1.MyBaseAndMyClassProc1 { TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInherit_Forw_TField1.FField3.FField1.MyBaseAndMySubProc1 { TODO declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1TestInherit_Forw_TField1.FField4.FField1.MyBaseAndMyClassProc1 { TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInherit_Forw_TField1.FField4.FField1.MyBaseAndMySubProc1 { TODO declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1TestInherit_Forw_TField1.FField5.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInherit_Forw_TField1.FField5.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1TestInherit_Forw_TField1.FField6.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInherit_Forw_TField1.FField6.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
|
|
Var1TestInline_Forw_TField1.FField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInline_Forw_TField1.FField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1TestInline_Forw_TField1.FField2.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInline_Forw_TField1.FField2.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1TestInline_Forw_TField1.FField3.FField1.MyBaseAndMyClassProc1 { TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInline_Forw_TField1.FField3.FField1.MyBaseAndMySubProc1 { TODO declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1TestInline_Forw_TField1.FField4.FField1.MyBaseAndMyClassProc1 { TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInline_Forw_TField1.FField4.FField1.MyBaseAndMySubProc1 { TODO declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1TestInline_Forw_TField1.FField5.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInline_Forw_TField1.FField5.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1TestInline_Forw_TField1.FField6.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInline_Forw_TField1.FField6.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
|
|
Var1Test_ForwBase_Field1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1Test_ForwBase_Field1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
|
|
Var1TestInherit_ForwBase_Field1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInherit_ForwBase_Field1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
|
|
Var1TestInline_ForwBase_Field1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInline_ForwBase_Field1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
|
|
Var1Test_ForwBase_TField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1Test_ForwBase_TField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
|
|
Var1TestInherit_ForwBase_TField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInherit_ForwBase_TField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
|
|
Var1TestInline_ForwBase_TField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInline_ForwBase_TField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
|
|
// Var1TestInline_Field1_Rec.FField1.FRecA {declaration:TMyRec1.FRecA};
|
|
|
|
Var1Test_TField1.FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
Var1Test_TField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1Test_TField1.FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
Var1Test_TField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1Test_TField1.FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
Var1TestInherit_TField1.FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
Var1TestInherit_TField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInherit_TField1.FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
Var1TestInherit_TField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1TestInherit_TField1.FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
Var1TestInline_TField1.FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
Var1TestInline_TField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var1TestInline_TField1.FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
Var1TestInline_TField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var1TestInline_TField1.FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
Var2Test_Field1.FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
Var2Test_Field1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var2Test_Field1.FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
Var2Test_Field1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var2Test_Field1.FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
Var2Test_TField1.FField1.MyBaseOnlyProc {declaration:TMyClassBase.MyBaseOnlyProc};
|
|
Var2Test_TField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var2Test_TField1.FField1.MyClassSubProc {declaration:TMyClassSub.MyClassSubProc};
|
|
Var2Test_TField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var2Test_TField1.FField1.FMySub {declaration:TMyClassSub.FMySub} := 1;
|
|
|
|
Var2Test_Forw_Field1.FField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var2Test_Forw_Field1.FField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
//Var2Test_Forw_Field1.FField2.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
//Var2Test_Forw_Field1.FField2.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var2Test_Forw_Field1.FField3.FField1.MyBaseAndMyClassProc1 { TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var2Test_Forw_Field1.FField3.FField1.MyBaseAndMySubProc1 { TODO declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
//Var2Test_Forw_Field1.FField4.FField1.MyBaseAndMyClassProc1 { TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
//Var2Test_Forw_Field1.FField4.FField1.MyBaseAndMySubProc1 { TODO declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var2Test_Forw_Field1.FField5.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var2Test_Forw_Field1.FField5.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
//Var2Test_Forw_Field1.FField6.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
//Var2Test_Forw_Field1.FField6.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
|
|
Var2Test_Forw_TField1.FField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var2Test_Forw_TField1.FField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var2Test_Forw_TField1.FField2.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var2Test_Forw_TField1.FField2.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var2Test_Forw_TField1.FField3.FField1.MyBaseAndMyClassProc1 { TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var2Test_Forw_TField1.FField3.FField1.MyBaseAndMySubProc1 { TODO declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var2Test_Forw_TField1.FField4.FField1.MyBaseAndMyClassProc1 { TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var2Test_Forw_TField1.FField4.FField1.MyBaseAndMySubProc1 { TODO declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var2Test_Forw_TField1.FField5.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var2Test_Forw_TField1.FField5.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var2Test_Forw_TField1.FField6.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var2Test_Forw_TField1.FField6.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
|
|
Var2Test_ForwBase_Field1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var2Test_ForwBase_Field1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
|
|
Var2Test_ForwBase_TField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var2Test_ForwBase_TField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
|
|
Var2Test_Forw_Field2.FField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var2Test_Forw_Field2.FField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
|
|
Var2Test_Forw_Field3.FField1.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var2Test_Forw_Field3.FField1.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var2Test_Forw_Field3.FField3.FField1.MyBaseAndMyClassProc1 { TODO declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var2Test_Forw_Field3.FField3.FField1.MyBaseAndMySubProc1 { TODO declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
Var2Test_Forw_Field3.FField5.FField1.MyBaseAndMyClassProc1 {declaration:TMyClass.MyBaseAndMyClassProc1};
|
|
Var2Test_Forw_Field3.FField5.FField1.MyBaseAndMySubProc1 {declaration:TMyClassSub.MyBaseAndMySubProc1};
|
|
|
|
end;
|
|
|
|
(* ********************************
|
|
*
|
|
* Use Gen-Param as base class
|
|
*
|
|
* ********************************)
|
|
|
|
{ GEN_Base1 }
|
|
|
|
procedure GEN_Base1.MyBaseOnlyProc2;
|
|
begin
|
|
//
|
|
end;
|
|
|
|
|
|
{ GEN_TBase1 }
|
|
|
|
procedure GEN_TBase1.MyBaseOnlyProc2;
|
|
begin
|
|
|
|
end;
|
|
|
|
{ GEN_ForwBase_Base1 }
|
|
|
|
procedure GEN_ForwBase_Base1.MyBaseOnlyProc;
|
|
begin
|
|
|
|
end;
|
|
|
|
procedure GEN_ForwBase_Base1.MyBaseOnlyProc2;
|
|
begin
|
|
|
|
end;
|
|
|
|
{ TTestInherhit_Base1 }
|
|
|
|
procedure TTestInherhit_Base1.Foo;
|
|
begin
|
|
MyEveryProc1 {declaration:TMyClassSub.MyEveryProc1};
|
|
inherited MyEveryProc1{declaration:TMyClassSub.MyEveryProc1};
|
|
|
|
MyBaseOnlyProc3 {declaration:TTestInherhit_Base1.MyBaseOnlyProc3};
|
|
inherited MyBaseOnlyProc3 {declaration:TMyClassBase.MyBaseOnlyProc3};
|
|
inherited MyBaseAndMyClassProc2{declaration:TMyClass.MyBaseAndMyClassProc2};
|
|
inherited MyBaseAndMySubProc2 {declaration:TMyClassSub.MyBaseAndMySubProc2};
|
|
inherited MyEveryProc2 {declaration:TMyClassSub.MyEveryProc2};
|
|
{completion:MyBaseOnlyProc;MyBaseAndMyClassProc1;MyBaseAndMySubProc1;MyEveryProc1}
|
|
end;
|
|
|
|
{ TTestInline_Base1 }
|
|
|
|
procedure TTestInline_Base1.Foo;
|
|
begin
|
|
MyEveryProc1 {declaration:TMyClassSub.MyEveryProc1};
|
|
inherited MyEveryProc1{declaration:TMyClassSub.MyEveryProc1};
|
|
|
|
MyBaseOnlyProc3 {declaration:TTestInline_Base1.MyBaseOnlyProc3};
|
|
inherited MyBaseOnlyProc3 {declaration:TMyClassBase.MyBaseOnlyProc3};
|
|
inherited MyBaseAndMyClassProc2{declaration:TMyClass.MyBaseAndMyClassProc2};
|
|
inherited MyBaseAndMySubProc2 {declaration:TMyClassSub.MyBaseAndMySubProc2};
|
|
inherited MyEveryProc2 {declaration:TMyClassSub.MyEveryProc2};
|
|
{completion:MyBaseOnlyProc;MyBaseAndMyClassProc1;MyBaseAndMySubProc1;MyEveryProc1}
|
|
end;
|
|
|
|
{ TTestInline_Base1Sub }
|
|
|
|
procedure TTestInline_Base1Sub.Foo;
|
|
begin
|
|
MyEveryProc1 {declaration:TTestInline_Base1Sub.MyEveryProc1};
|
|
inherited MyEveryProc1{declaration:TMyClassSub.MyEveryProc1};
|
|
{completion:MyBaseOnlyProc;MyBaseAndMyClassProc1;MyBaseAndMySubProc1;MyEveryProc1}
|
|
end;
|
|
|
|
{ TTestInherhit_TBase1 }
|
|
|
|
procedure TTestInherhit_TBase1.Foo;
|
|
begin
|
|
MyEveryProc1 {declaration:TMyClassSub.MyEveryProc1};
|
|
inherited MyEveryProc1{declaration:TMyClassSub.MyEveryProc1};
|
|
|
|
MyBaseOnlyProc3 {declaration:TTestInherhit_TBase1.MyBaseOnlyProc3};
|
|
inherited MyBaseOnlyProc3 {declaration:TMyClassBase.MyBaseOnlyProc3};
|
|
inherited MyBaseAndMyClassProc2{declaration:TMyClass.MyBaseAndMyClassProc2};
|
|
inherited MyBaseAndMySubProc2 {declaration:TMyClassSub.MyBaseAndMySubProc2};
|
|
inherited MyEveryProc2 {declaration:TMyClassSub.MyEveryProc2};
|
|
{completion:MyBaseOnlyProc;MyBaseAndMyClassProc1;MyBaseAndMySubProc1;MyEveryProc1}
|
|
end;
|
|
|
|
{ TTestInline_TBase1 }
|
|
|
|
procedure TTestInline_TBase1.Foo;
|
|
begin
|
|
MyEveryProc1 {declaration:TMyClassSub.MyEveryProc1};
|
|
inherited MyEveryProc1{declaration:TMyClassSub.MyEveryProc1};
|
|
|
|
MyBaseOnlyProc3 {declaration:TTestInline_TBase1.MyBaseOnlyProc3};
|
|
inherited MyBaseOnlyProc3 {declaration:TMyClassBase.MyBaseOnlyProc3};
|
|
inherited MyBaseAndMyClassProc2{declaration:TMyClass.MyBaseAndMyClassProc2};
|
|
inherited MyBaseAndMySubProc2 {declaration:TMyClassSub.MyBaseAndMySubProc2};
|
|
inherited MyEveryProc2 {declaration:TMyClassSub.MyEveryProc2};
|
|
{completion:MyBaseOnlyProc;MyBaseAndMyClassProc1;MyBaseAndMySubProc1;MyEveryProc1}
|
|
end;
|
|
|
|
{ TTestInline_TBase1Sub }
|
|
|
|
procedure TTestInline_TBase1Sub.Foo;
|
|
begin
|
|
MyEveryProc1 {declaration:TTestInline_TBase1Sub.MyEveryProc1};
|
|
inherited MyEveryProc1{declaration:TMyClassSub.MyEveryProc1};
|
|
{completion:MyBaseOnlyProc;MyBaseAndMyClassProc1;MyBaseAndMySubProc1;MyEveryProc1}
|
|
end;
|
|
|
|
{ TTest_ForwBaseInherhit_Base1 }
|
|
|
|
procedure TTest_ForwBaseInherhit_Base1.Foo;
|
|
begin
|
|
MyEveryProc1 {declaration:TMyClassSub.MyEveryProc1};
|
|
inherited MyEveryProc1{declaration:TMyClassSub.MyEveryProc1};
|
|
|
|
MyBaseOnlyProc3 {declaration:TTest_ForwBaseInherhit_Base1.MyBaseOnlyProc3};
|
|
inherited MyBaseOnlyProc3 {declaration:TMyClassBase.MyBaseOnlyProc3};
|
|
inherited MyBaseAndMyClassProc2{declaration:TMyClass.MyBaseAndMyClassProc2};
|
|
inherited MyBaseAndMySubProc2 {declaration:TMyClassSub.MyBaseAndMySubProc2};
|
|
inherited MyEveryProc2 {declaration:TMyClassSub.MyEveryProc2};
|
|
{completion:MyBaseOnlyProc;MyBaseAndMyClassProc1;MyBaseAndMySubProc1;MyEveryProc1}
|
|
end;
|
|
|
|
{ TTest_ForwBaseInline_Base1 }
|
|
|
|
procedure TTest_ForwBaseInline_Base1.Foo;
|
|
begin
|
|
MyEveryProc1 {declaration:TMyClassSub.MyEveryProc1};
|
|
inherited MyEveryProc1{declaration:TMyClassSub.MyEveryProc1};
|
|
|
|
MyBaseOnlyProc3 {declaration:TTest_ForwBaseInline_Base1.MyBaseOnlyProc3};
|
|
inherited MyBaseOnlyProc3 {declaration:TMyClassBase.MyBaseOnlyProc3};
|
|
inherited MyBaseAndMyClassProc2{declaration:TMyClass.MyBaseAndMyClassProc2};
|
|
inherited MyBaseAndMySubProc2 {declaration:TMyClassSub.MyBaseAndMySubProc2};
|
|
inherited MyEveryProc2 {declaration:TMyClassSub.MyEveryProc2};
|
|
{completion:MyBaseOnlyProc;MyBaseAndMyClassProc1;MyBaseAndMySubProc1;MyEveryProc1}
|
|
end;
|
|
|
|
|
|
begin
|
|
|
|
end.
|
|
|