blob: 75f7d9a5b3e5ca321e09f5130e0619a155dff31d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
{ Source provided for Free Pascal Bug Report 3786 }
{ Submitted by "drf" on 2005-03-14 }
{ e-mail: drfuchs@yahoo.com }
{$mode delphi}
type
funky_class=class;
base_class=class
procedure proc(f:funky_class);virtual;
end;
subclass2=class(base_class)
procedure proc(f:funky_class);override;
end;
subclass3=class(base_class)
procedure proc(f:funky_class);override;
end;
funky_class=class
procedure proc(p:base_class);overload;virtual;
procedure proc(p:subclass2);overload;virtual;
procedure proc(p:subclass3);overload;virtual;
end;
funky_subclass=class(funky_class)
procedure proc(p:subclass3);override;
procedure proc(p:subclass2); override;
end;
procedure base_class.proc(f:funky_class); begin end;
procedure subclass2.proc(f:funky_class); begin end;
procedure subclass3.proc(f:funky_class); begin end;
procedure funky_class.proc(p:base_class); begin end;
procedure funky_class.proc(p:subclass2); begin end;
procedure funky_class.proc(p:subclass3); begin end;
procedure funky_subclass.proc(p:subclass2); begin end;
procedure funky_subclass.proc(p:subclass3); begin end;
begin
end.
|