Ver Fonte

* check for a tclassrefdef as the target conversion type in
asis_target_specific_typecheck, and if so get the real
definition of its pointedtype rather than of the classrefdef
itself (the latter would never be different from the original
one, since there are no formal external classrefdef definitions)

git-svn-id: branches/jvmbackend@18467 -

Jonas Maebe há 14 anos atrás
pai
commit
d13769204e
1 ficheiros alterados com 4 adições e 1 exclusões
  1. 4 1
      compiler/jvm/njvmcnv.pas

+ 4 - 1
compiler/jvm/njvmcnv.pas

@@ -525,7 +525,10 @@ implementation
       realtodef: tdef;
     begin
       realfromdef:=maybe_find_real_class_definition(node.left.resultdef,false);
-      realtodef:=maybe_find_real_class_definition(node.right.resultdef,false);
+      realtodef:=node.right.resultdef;
+      if realtodef.typ=classrefdef then
+        realtodef:=tclassrefdef(realtodef).pointeddef;
+      realtodef:=maybe_find_real_class_definition(realtodef,false);
 
       if is_record(realtodef) then
         result:=