Files
mercury/java/runtime/TypeClassId.java
Peter Wang b573e83761 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.
2009-09-07 03:10:02 +00:00

38 lines
1.0 KiB
Java

//
// Copyright (C) 2004 The University of Melbourne.
// This file may only be copied under the terms of the GNU Library General
// Public License - see the file COPYING.LIB in the Mercury distribution.
//
package jmercury.runtime;
// This corresponds to the C type MR_TypeClassId
// in runtime/mercury_typeclass_info.h.
public class TypeClassId implements java.io.Serializable {
public String tc_id_module_name;
public String tc_id_name;
public int tc_id_arity;
public int tc_id_num_type_vars; // XXX redundant
public int tc_id_num_methods; // XXX redundant
public String[] tc_id_var_names;
public TypeClassMethod[] tc_id_methods;
public TypeClassId()
{
}
public void init(String module_name, String name, int arity,
int num_type_vars, int num_methods,
String[] var_names, TypeClassMethod[] methods)
{
tc_id_module_name = module_name;
tc_id_name = name;
tc_id_arity = arity;
tc_id_num_type_vars = num_type_vars;
tc_id_num_methods = num_methods;
tc_id_var_names = var_names;
tc_id_methods = methods;
}
}