Browse 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 14 years ago
parent
commit
d13769204e
1 changed files with 4 additions and 1 deletions
  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:=