mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-14 21:35:49 +00:00
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.
19 lines
771 B
Java
19 lines
771 B
Java
//
|
|
// 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.
|
|
//
|
|
// This interface is implemented by classes that have been wrapped around
|
|
// any general predicate. We then use instantiations of those classes as
|
|
// pseudo function pointers (which we don't have in Java). The original
|
|
// predicate can be called via the `call' method. This interface should
|
|
// not be used for the `compare' and `unify' special predicates as the
|
|
// `Unify' and `Compare' interfaces perform as similar function for them.
|
|
//
|
|
|
|
package mercury.runtime;
|
|
|
|
public interface ProcAddr {
|
|
public abstract java.lang.Object[] call(java.lang.Object[] Args);
|
|
}
|