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

@@ -9,7 +9,7 @@ package jmercury.runtime;
// This corresponds to the C type MR_TypeClassMethod
// in runtime/mercury_typeclass_info.h.
public class TypeClassMethod {
public class TypeClassMethod implements java.io.Serializable {
public /* final */ java.lang.String tc_method_name;
public /* final */ int tc_method_arity;
public /* final */ int /* PredFunc */ tc_method_pred_func;