mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-17 10:23:46 +00:00
Classes used by the Java backend, particularly in the implementation
Estimated hours taken: 10. Classes used by the Java backend, particularly in the implementation of RTTI. java/Compare.java: java/Unify.java: New files. Java classes for implementation of wrapper classes around the builtin `unify'and `compare' predicates. java/JavaInternal.java: New file. Java class for storing runtime information such as command line arguments. java/DuExistInfo.java: java/DuExistLocn.java: java/DuFunctorDesc.java: java/DuPtagLayout.java: java/EnumFunctorDesc.java: java/NotagFunctorDesc.java: java/ProcAddr.java: java/PseudoTypeInfo.java: java/Sectag_Locn.java: java/TypeCtorInfo_Struct.java java/TypeCtorRep.java: java/TypeFunctors.java: java/TypeLayout.java: New files. Java classes for implementing Mercury RTTI. java/UnreachableDefault.java: New file. Runtime exception that signals that unreachable default case in a switch statement has been reached. runtime/mercury_type_info.h: Update comments to mention that Java runtime classes will need to be altered if structures in this file are.
This commit is contained in:
21
java/TypeFunctors.java
Normal file
21
java/TypeFunctors.java
Normal file
@@ -0,0 +1,21 @@
|
||||
//
|
||||
// Copyright (C) 2001 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 mercury.runtime;
|
||||
|
||||
// XXX In the C backend this was a union.
|
||||
// It would (eventually) be better to have derived classes
|
||||
// for each of the unions constructors and make them all extend
|
||||
// this class (rather like we do with the generated code from the
|
||||
// mercury compiler. That way we can just use the `instanceof' operator
|
||||
// to work out what each instance is.
|
||||
|
||||
public class TypeFunctors {
|
||||
public java.lang.Object functors_init;
|
||||
public mercury.runtime.DuFunctorDesc[] functors_du;
|
||||
public mercury.runtime.EnumFunctorDesc[] functors_enum;
|
||||
public mercury.runtime.NotagFunctorDesc functors_notag;
|
||||
}
|
||||
Reference in New Issue
Block a user