{$mode objfpc}{$H+}

uses SysUtils;

type
  TMyMethod = procedure (A: Integer) of object;

  TMyClass = class
    class procedure Foo(A: Integer);
  end;

class procedure TMyClass.Foo(A: Integer);
begin
  Writeln('Got int ', A);
end;

procedure CallMethod(M: TMyMethod);
begin
  M(123);
end;

begin
  CallMethod({$ifdef FPC_OBJFPC} @ {$endif} TMyClass(nil).Foo);
end.