{$MODE OBJFPC}
type
TFTest = class
B: string ;
function Add( S: string = '' ) : TFTest;
constructor Create( T: TFTest) ; overload ;
end ;
function TFTest. Add ( S: string ) : TFTest;
begin
B : = B + S;
Exit( Self) ;
end ;
var
A: TFTest;
constructor TFTest. Create ( T: TFTest) ;
begin
B : = T. B ;
end ;
begin
writeln ( TFTest. Create . Add ( '0' )
. Create ( ( TFTest. Create ( TFTest. Create ( ( ( ( ( ( ( TFTest. Create ( TFTest. Create ) . Add ( '0' ) ) . Add ( '1' ) . Create . Add ( '2' )
. Add as TObject) . Create ) as TFTest. ClassParent ) as TFTest) . Create ) . Add ( '3' ) ) . Add . Add ( '4' ) . Create ) . Add ( '5' ) ) . Add ( '6' )
) . Add ( '7' ) . B ) ;
readln ;
end .
eyRNT0RFIE9CSkZQQ30KdHlwZQogIFRGVGVzdCA9IGNsYXNzCiAgICBCOiBzdHJpbmc7CiAgICBmdW5jdGlvbiBBZGQoUzogc3RyaW5nID0gJycpOiBURlRlc3Q7CiAgICBjb25zdHJ1Y3RvciBDcmVhdGUoVDogVEZUZXN0KTsgb3ZlcmxvYWQ7CiAgZW5kOwoKZnVuY3Rpb24gVEZUZXN0LkFkZChTOiBzdHJpbmcpOiBURlRlc3Q7CmJlZ2luCiAgQiA6PSBCICsgUzsKICBFeGl0KFNlbGYpOwplbmQ7Cgp2YXIKICBBOiBURlRlc3Q7Cgpjb25zdHJ1Y3RvciBURlRlc3QuQ3JlYXRlKFQ6IFRGVGVzdCk7CmJlZ2luCiAgQiA6PSBULkI7CmVuZDsKCmJlZ2luCiAgd3JpdGVsbihURlRlc3QuQ3JlYXRlLkFkZCgnMCcpCiAgICAuQ3JlYXRlKChURlRlc3QuQ3JlYXRlKFRGVGVzdC5DcmVhdGUoKCgoKCgoVEZUZXN0LkNyZWF0ZShURlRlc3QuQ3JlYXRlKS5BZGQoJzAnKSkuQWRkKCcxJykuQ3JlYXRlLkFkZCgnMicpCiAgICAuQWRkIGFzIFRPYmplY3QpLkNyZWF0ZSkgYXMgVEZUZXN0LkNsYXNzUGFyZW50KSBhcyBURlRlc3QpLkNyZWF0ZSkuQWRkKCczJykpLkFkZC5BZGQoJzQnKS5DcmVhdGUpLkFkZCgnNScpKS5BZGQoJzYnKQogICAgKS5BZGQoJzcnKS5CKTsKICByZWFkbG47CgplbmQu
compilation info
Free Pascal Compiler version 2.2.0 [2009/11/16] for i386
Copyright (c) 1993-2007 by Florian Klaempfl
Target OS: Linux for i386
Compiling prog.pas
prog.pas(25,103) Error: identifier idents no member "Add"
prog.pas(25,106) Fatal: Syntax error, ")" expected but "(" found
Fatal: Compilation aborted
Error: /usr/bin/ppc386 returned an error exitcode (normal if you did not specify a source file to be compiled)
stdout