fpc/tests/test/jvm/classmeth.pp
Jonas Maebe 740e7ca6b5 + a bunch of jvm-specific tests: partly new, partly derived from existing
tests
   o currently not yet integrated in the makefile system, use testall.sh/
     testall.bat to run the tests

git-svn-id: branches/jvmbackend@18777 -
2011-08-20 08:35:11 +00:00

44 lines
931 B
ObjectPascal

program classmeth;
{$mode delphi}
type
TElCustomCryptoProviderClass = class of TElCustomCryptoProvider;
TElCustomCryptoProvider = class
class procedure SetAsDefault;
class procedure DoSetAsDefault(Value : TElCustomCryptoProviderClass);
end;
tc2 = class(TElCustomCryptoProvider)
class procedure SetAsDefault; //reintroduce;
end;
var
x: TElCustomCryptoProviderClass;
class procedure TElCustomCryptoProvider.SetAsDefault;
begin
DoSetAsDefault(Self); /// Illegal expression
end;
class procedure TElCustomCryptoProvider.DoSetAsDefault(Value : TElCustomCryptoProviderClass);
begin
// SetDefaultCryptoProviderType(Value);
x:=value;
end;
class procedure tc2.SetAsDefault;
begin
DoSetAsDefault(Self);
end;
begin
TElCustomCryptoProvider.SetAsDefault;
if x<>TElCustomCryptoProvider then
raise JLException.create('first');
tc2.SetAsDefault;
if x<>tc2 then
raise JLException.create('second');
end.