Package Name: java.lang.object_ops
with java.lang.String; use java.lang.String;
with java.lang.Class; use java.lang.Class;
package java.lang.Object_ops is
-- This is logically a continuation of the java.lang.Object abstraction
-- We separate it out to avoid running into circularity problems
-- in Ada (since java.lang.String/Class both depend on Object)
function getClass(Obj : access Object) return Class_Ptr;
function hashCode(Obj : access Object) return Integer;
function "="(Left, Right : Object) return Boolean;
pragma Import(Ada, "=", "java/lang/Object.equals");
function toString(Obj : access Object) return String_Ptr;
procedure notify(Obj : access Object);
procedure notifyAll(Obj : access Object);
procedure wait(Obj : access Object;
timeout : Long_Integer);
procedure wait(Obj : access Object;
timeout : Long_Integer;
nanos : Integer);
procedure wait(Obj : access Object);
pragma Import(Java, wait, "java/lang/Object.wait");
pragma Import(Java, getClass, "java/lang/Object.getClass");
pragma Import(Java, hashCode, "java/lang/Object.hashCode");
pragma Import(Java, notifyAll, "java/lang/Object.notifyAll");
pragma Import(Java, notify, "java/lang/Object.notify");
pragma Import(Java, toString, "java/lang/Object.toString");
end java.lang.Object_ops;