FOREIGN MODULE java_lang_ref; IMPORT java_security := "java.security", java_lang := "java.lang", sun_nio_ch := "sun.nio.ch", sun_misc := "sun.misc", java_util := "java.util"; TYPE PhantomReference* = POINTER TO EXTENSIBLE RECORD (Reference) (* Typebound Procedures *) STATIC PROCEDURE Init*(p0 : java_lang.Object; p1 : ReferenceQueue) : PhantomReference,CONSTRUCTOR; END; Reference* = POINTER TO ABSTRACT RECORD (java_lang.Object) (* Typebound Procedures *) END; ReferenceQueue* = POINTER TO EXTENSIBLE RECORD (java_lang.Object) (* Typebound Procedures *) STATIC PROCEDURE Init*() : ReferenceQueue,CONSTRUCTOR; END; SoftReference* = POINTER TO EXTENSIBLE RECORD (Reference) (* Typebound Procedures *) STATIC PROCEDURE Init*(p0 : java_lang.Object; p1 : ReferenceQueue) : SoftReference,CONSTRUCTOR; PROCEDURE Init*(p0 : java_lang.Object) : SoftReference,CONSTRUCTOR; END; WeakReference* = POINTER TO EXTENSIBLE RECORD (Reference) STATIC PROCEDURE Init*(p0 : java_lang.Object; p1 : ReferenceQueue) : WeakReference,CONSTRUCTOR; PROCEDURE Init*(p0 : java_lang.Object) : WeakReference,CONSTRUCTOR; END; PROCEDURE (self:PhantomReference) get*() : java_lang.Object,EXTENSIBLE; PROCEDURE (self:Reference) clear*(),NEW,EXTENSIBLE; PROCEDURE (self:Reference) enqueue*() : BOOLEAN,NEW,EXTENSIBLE; PROCEDURE (self:Reference) get*() : java_lang.Object,NEW,EXTENSIBLE; PROCEDURE (self:Reference) isEnqueued*() : BOOLEAN,NEW,EXTENSIBLE; PROCEDURE (self:ReferenceQueue) poll*() : Reference,NEW,EXTENSIBLE; PROCEDURE (self:ReferenceQueue) remove*() : Reference,NEW,EXTENSIBLE; PROCEDURE (self:ReferenceQueue) remove*(p0 : LONGINT) : Reference,NEW,EXTENSIBLE; PROCEDURE (self:SoftReference) get*() : java_lang.Object,EXTENSIBLE; END java_lang_ref.