mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-20 07:19:27 +02:00
* also compare procoptions and proctype when searching interface
implementations
This commit is contained in:
parent
0d4ba90aa8
commit
272cf5b9f1
@ -31,8 +31,7 @@ interface
|
||||
cutils,cclasses,
|
||||
globtype,
|
||||
symdef,symsym,
|
||||
aasmbase,aasmtai,
|
||||
cpuinfo
|
||||
aasmbase,aasmtai
|
||||
;
|
||||
|
||||
type
|
||||
@ -148,7 +147,7 @@ implementation
|
||||
gdb,
|
||||
{$endif GDB}
|
||||
aasmcpu,
|
||||
cpubase,cgbase,parabase,
|
||||
cgbase,parabase,
|
||||
cgutils,cgobj
|
||||
;
|
||||
|
||||
@ -1070,6 +1069,9 @@ implementation
|
||||
|
||||
|
||||
function tclassheader.gintfgetcprocdef(proc: tprocdef;const name: string): tprocdef;
|
||||
const
|
||||
po_comp = [po_classmethod,po_staticmethod,po_interrupt,po_iocheck,po_msgstr,po_msgint,
|
||||
po_exports,po_varargs,po_explicitparaloc,po_nostackframe];
|
||||
var
|
||||
sym: tsym;
|
||||
implprocdef : Tprocdef;
|
||||
@ -1093,7 +1095,9 @@ implementation
|
||||
begin
|
||||
implprocdef:=tprocsym(sym).procdef[i];
|
||||
if (compare_paras(proc.paras,implprocdef.paras,cp_none,[])>=te_equal) and
|
||||
(proc.proccalloption=implprocdef.proccalloption) then
|
||||
(proc.proccalloption=implprocdef.proccalloption) and
|
||||
(proc.proctypeoption=implprocdef.proctypeoption) and
|
||||
((proc.procoptions*po_comp)=(implprocdef.procoptions*po_comp)) then
|
||||
begin
|
||||
gintfgetcprocdef:=implprocdef;
|
||||
exit;
|
||||
@ -1401,7 +1405,11 @@ initialization
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.83 2004-11-20 14:39:27 florian
|
||||
Revision 1.84 2004-12-26 20:16:44 peter
|
||||
* also compare procoptions and proctype when searching interface
|
||||
implementations
|
||||
|
||||
Revision 1.83 2004/11/20 14:39:27 florian
|
||||
* write nil entry after last entry to vmt table so the size of the vmt can be determined
|
||||
|
||||
Revision 1.82 2004/11/17 22:21:35 peter
|
||||
|
Loading…
Reference in New Issue
Block a user