mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-15 06:29:38 +02:00
* set reused left node to nil for JVM loadvmtaddrnodes that need to call a
helper * never call a helper for classrefdefs (in that case we have to load the classrefdef itself, not the classrefdef for the class representing classrefdefs) git-svn-id: branches/jvmbackend@18575 -
This commit is contained in:
parent
0706cb5eb6
commit
1dca48bce5
@ -236,7 +236,8 @@ implementation
|
|||||||
left:=nil;
|
left:=nil;
|
||||||
end
|
end
|
||||||
else if is_javaclass(left.resultdef) and
|
else if is_javaclass(left.resultdef) and
|
||||||
(left.nodetype<>typen) then
|
(left.nodetype<>typen) and
|
||||||
|
(left.resultdef.typ<>classrefdef) then
|
||||||
begin
|
begin
|
||||||
{ call java.lang.Object.getClass() }
|
{ call java.lang.Object.getClass() }
|
||||||
vs:=search_struct_member(tobjectdef(left.resultdef),'GETCLASS');
|
vs:=search_struct_member(tobjectdef(left.resultdef),'GETCLASS');
|
||||||
@ -245,6 +246,8 @@ implementation
|
|||||||
internalerror(2011041901);
|
internalerror(2011041901);
|
||||||
result:=ccallnode.create(nil,tprocsym(vs),vs.owner,left,[]);
|
result:=ccallnode.create(nil,tprocsym(vs),vs.owner,left,[]);
|
||||||
inserttypeconv_explicit(result,resultdef);
|
inserttypeconv_explicit(result,resultdef);
|
||||||
|
{ reused }
|
||||||
|
left:=nil;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
firstpass(left)
|
firstpass(left)
|
||||||
|
Loading…
Reference in New Issue
Block a user