Parcourir la source

* 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 il y a 14 ans
Parent
commit
d13769204e
1 fichiers modifiés avec 4 ajouts et 1 suppressions
  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:=