mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-12-04 04:17:53 +01:00
* when determining the type to use for checkcast, first always dereference
pointers to implicit pointer types so that afterwards we can set the
appropriate corresponding class type
git-svn-id: branches/jvmbackend@18668 -
This commit is contained in:
parent
6cced31157
commit
7286e3b645
@ -1192,10 +1192,11 @@ implementation
|
||||
else
|
||||
checkdef:=node.right.resultdef;
|
||||
{ replace special types with their equivalent class type }
|
||||
if (checkdef.typ=pointerdef) and
|
||||
jvmimplicitpointertype(tpointerdef(checkdef).pointeddef) then
|
||||
checkdef:=tpointerdef(checkdef).pointeddef;
|
||||
if checkdef=voidpointertype then
|
||||
checkdef:=java_jlobject
|
||||
else if checkdef.typ=pointerdef then
|
||||
checkdef:=tpointerdef(checkdef).pointeddef
|
||||
else if checkdef.typ=enumdef then
|
||||
checkdef:=tenumdef(checkdef).classdef
|
||||
else if checkdef.typ=setdef then
|
||||
|
||||
Loading…
Reference in New Issue
Block a user