Преглед изворни кода

* 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 пре 14 година
родитељ
комит
d13769204e
1 измењених фајлова са 4 додато и 1 уклоњено
  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:=