|
@@ -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)
|