mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-15 17:33:38 +00:00
In the Java grade, the type_ctor_rep constants are currently defined in the
private_builtin module of the standard library. The Java version of the
runtime currently duplicates some of these constants for its own use (since it
cannot refer to the library ones). This means changes to the set of
type_ctor_reps need to potentially occur in two places, which is a maintenance
headache.
This changes shifts the definitions of all the type_ctor_rep constants in the
Java grade into the runtime and updates the compiler to generate code that
uses these new definitions.
library/private_builtin.m:
Add a note mentioning that the type_ctor_rep constants defined here
will eventually be removed.
java/runtime/TypeCtorRep.java:
Define constants for *all* of the type_ctor_reps in this class.
library/rtti_implementation.m:
library/type_desc.m:
Update code to refer to the new version of the type_ctor_rep constants.
compiler/rtti.m:
Update the compiler to generate references to the new version of the
type_ctor_rep constants.