{ ./testcodetools --format=plain --suite=TestFindDeclaration_Generics } unit fdt_generics; {$mode objfpc}{$H+} interface uses Classes, SysUtils; type generic TGenBaseAction = class BaseName: GenParam1{declaration:fdt_generics.TGenBaseAction.GenParam1}; end; generic TGenCustomAction = class(specialize TGenBaseAction{declaration:fdt_generics.TGenBaseAction}) CustomName: GenParam2; end; { TGenAction } generic TGenAction = class(specialize TGenCustomAction{declaration:fdt_generics.TGenCustomAction}) ActionName: GenParam3; procedure InitActionName; end; TIntegerAction = specialize TGenAction; implementation procedure DoSomething; var Action: TIntegerAction; begin Action.ActionName{declaration:fdt_generics.TGenAction.ActionName}:=3; end; { TGenAction } procedure TGenAction.InitActionName; begin ActionName{declaration:fdt_generics.TGenAction.ActionName}:=3; end; end.