Browse Source

* only treat Java interfaces and classes as equivalent to classdefs rather
than any objectdef

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

Jonas Maebe 14 years ago
parent
commit
956d63da9e
1 changed files with 2 additions and 2 deletions
  1. 2 2
      compiler/jvm/njvmcnv.pas

+ 2 - 2
compiler/jvm/njvmcnv.pas

@@ -692,7 +692,7 @@ implementation
         fromclasscompatible:=
         fromclasscompatible:=
           (left.resultdef.typ=formaldef) or
           (left.resultdef.typ=formaldef) or
           (left.resultdef.typ=pointerdef) or
           (left.resultdef.typ=pointerdef) or
-          (left.resultdef.typ=objectdef) or
+          is_java_class_or_interface(left.resultdef) or
           is_dynamic_array(left.resultdef) or
           is_dynamic_array(left.resultdef) or
           ((left.resultdef.typ in [stringdef,classrefdef]) and
           ((left.resultdef.typ in [stringdef,classrefdef]) and
            not is_shortstring(left.resultdef)) or
            not is_shortstring(left.resultdef)) or
@@ -700,7 +700,7 @@ implementation
           procvarconv;
           procvarconv;
         toclasscompatible:=
         toclasscompatible:=
           (resultdef.typ=pointerdef) or
           (resultdef.typ=pointerdef) or
-          (resultdef.typ=objectdef) or
+          is_java_class_or_interface(resultdef) or
           is_dynamic_array(resultdef) or
           is_dynamic_array(resultdef) or
           ((resultdef.typ in [stringdef,classrefdef]) and
           ((resultdef.typ in [stringdef,classrefdef]) and
            not is_shortstring(resultdef)) or
            not is_shortstring(resultdef)) or