fpc/tests/webtbs/tw10247.pp
paul 790f6b0a4b compiler: use delphi syntax for type, const and var section declarations in classes instead of fpc generics syntax
rtl: fix fgl to use the new syntax
tests: fix generics tests to use the new syntax

git-svn-id: trunk@15646 -
2010-07-27 00:59:32 +00:00

71 lines
1.0 KiB
ObjectPascal

{$mode objfpc}{$h+}
uses classes, sysutils;
type
generic TNode<T> = class
public
type
PT = ^T;
private
var
Data: T;
public
constructor Create;
destructor Destroy; override;
end;
generic TContainer<T> = class
public
type
TTNode = specialize TNode<T>;
private
var
Data: TTNode;
public
constructor Create;
destructor Destroy; override;
function GetAddr: TTNode.PT;
procedure SetV(v: TTNode.T);
end;
constructor TNode.Create;
begin
end;
destructor TNode.Destroy;
begin
inherited Destroy;
end;
constructor TContainer.Create;
begin
Data:=TTNode.Create;
end;
destructor TContainer.Destroy;
begin
Data.Free;
inherited Destroy;
end;
function TContainer.GetAddr: TTNode.PT;
begin
result := @Data.Data;
end;
procedure TContainer.SetV(v: TTNode.T);
begin
Data.Data:=v;
end;
type
TStringContainer=specialize TContainer<String>;
var
c : TStringContainer;
begin
c:=TStringContainer.Create;
c.SetV('abc');
Writeln(HexStr(c.GetAddr));
end.