Mark Java RTTI classes as implementing java.io.Serializable to

Branches: main

Mark Java RTTI classes as implementing java.io.Serializable to
enable serialization of existentially typed values.

java/runtime/DuExistInfo.java:
java/runtime/DuExistLocn.java:
java/runtime/DuFunctorDesc.java:
java/runtime/DuPtagLayout.java:
java/runtime/EnumFunctorDesc.java:
java/runtime/ForeignEnumFunctorDesc.java:
java/runtime/MethodPtr.java:
java/runtime/NotagFunctorDesc.java:
java/runtime/PseudoTypeInfo.java:
java/runtime/ReservedAddrFunctorDesc.java:
java/runtime/Sectag_Locn.java:
java/runtime/TypeClassConstraint.java:
java/runtime/TypeClassDeclStruct.java:
java/runtime/TypeClassId.java:
java/runtime/TypeClassMethod.java:
java/runtime/TypeCtorInfo_Struct.java:
java/runtime/TypeCtorRep.java:
java/runtime/TypeFunctors.java:
java/runtime/TypeInfo_Struct.java:
java/runtime/TypeLayout.java:
        As above.

        TypeCtorInfo_Struct.unify() cannot rely on the uniqueness of
        TypeCtorInfo_Struct instances, as deserialisation will create new
        copies.
This commit is contained in:
Peter Wang
2009-09-07 03:10:02 +00:00
parent 163869a21f
commit b573e83761
20 changed files with 27 additions and 24 deletions

View File

@@ -10,7 +10,7 @@ package jmercury.runtime;
// in runtime/mercury_types.h, i.e. the C struct
// "struct MR_TypeClassDecl_Struct" in runtime/mercury_typeclass_info.h.
public class TypeClassDeclStruct {
public class TypeClassDeclStruct implements java.io.Serializable {
public TypeClassId tc_decl_id;
public int tc_decl_version_number;
public int tc_decl_num_supers; // redundant