FOREIGN MODULE sun_misc;

IMPORT
    java_util := "java.util",
    java_lang := "java.lang",
    java_io := "java.io",
    java_nio := "java.nio",
    java_lang_ref := "java.lang.ref",
    java_net := "java.net",
    java_security := "java.security",
    java_util_jar := "java.util.jar",
    java_util_concurrent_atomic := "java.util.concurrent.atomic",
    java_util_regex := "java.util.regex",
    sun_nio_ch := "sun.nio.ch",
    java_nio_charset := "java.nio.charset",
    sun_reflect := "sun.reflect",
    sun_reflect_annotation := "sun.reflect.annotation",
    java_lang_reflect := "java.lang.reflect",
    sun_security_util := "sun.security.util",
    java_security_cert := "java.security.cert";

TYPE

  ASCIICaseInsensitiveComparator* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + java_util.Comparator)    (* Typebound Procedures *)
                                    STATIC
                                      CASE_INSENSITIVE_ORDER* : java_util.Comparator;
                                      PROCEDURE Init*() : ASCIICaseInsensitiveComparator,CONSTRUCTOR;
                                      PROCEDURE lowerCaseHashCode*(p0 : java_lang.String) : INTEGER;
                                    END;

  AtomicLong* = POINTER TO ABSTRACT RECORD (java_lang.Object)    (* Typebound Procedures *)
                STATIC
                  PROCEDURE Init*() : AtomicLong,CONSTRUCTOR;
                  PROCEDURE newAtomicLong*(p0 : LONGINT) : AtomicLong;
                END;

  BASE64Decoder* = POINTER TO EXTENSIBLE RECORD (CharacterDecoder)    (* Typebound Procedures *)
                   STATIC
                     PROCEDURE Init*() : BASE64Decoder,CONSTRUCTOR;
                   END;

  BASE64Encoder* = POINTER TO EXTENSIBLE RECORD (CharacterEncoder)    (* Typebound Procedures *)
                   STATIC
                     PROCEDURE Init*() : BASE64Encoder,CONSTRUCTOR;
                   END;

  Cache* = POINTER TO EXTENSIBLE RECORD (java_util.Dictionary)    (* Typebound Procedures *)
           STATIC
             PROCEDURE Init*() : Cache,CONSTRUCTOR;
             PROCEDURE Init*(p0 : INTEGER) : Cache,CONSTRUCTOR;
             PROCEDURE Init*(p0 : INTEGER;
                             p1 : SHORTREAL) : Cache,CONSTRUCTOR;
           END;

  CEFormatException* = POINTER TO EXTENSIBLE RECORD (java_io.IOException)
                       STATIC
                         PROCEDURE Init*(p0 : java_lang.String) : CEFormatException,CONSTRUCTOR;
                       END;

  CEStreamExhausted* = POINTER TO EXTENSIBLE RECORD (java_io.IOException)
                       STATIC
                         PROCEDURE Init*() : CEStreamExhausted,CONSTRUCTOR;
                       END;

  CharacterDecoder* = POINTER TO ABSTRACT RECORD (java_lang.Object)    (* Typebound Procedures *)
                      STATIC
                        PROCEDURE Init*() : CharacterDecoder,CONSTRUCTOR;
                      END;

  CharacterEncoder* = POINTER TO ABSTRACT RECORD (java_lang.Object)    (* Typebound Procedures *)
                        pStream! : java_io.PrintStream;
                      STATIC
                        PROCEDURE Init*() : CharacterEncoder,CONSTRUCTOR;
                      END;

  ClassFileTransformer* = POINTER TO ABSTRACT RECORD (java_lang.Object)    (* Typebound Procedures *)
                          STATIC
                            PROCEDURE add*(p0 : ClassFileTransformer);
                            PROCEDURE getTransformers*() : POINTER TO ARRAY OF java_lang.Object;
                            PROCEDURE Init*() : ClassFileTransformer,CONSTRUCTOR;
                          END;

  ClassLoaderUtil* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                     STATIC
                       PROCEDURE Init*() : ClassLoaderUtil,CONSTRUCTOR;
                       PROCEDURE releaseLoader*(p0 : java_net.URLClassLoader;
                                                p1 : java_util.List) : java_util.List;
                       PROCEDURE releaseLoader*(p0 : java_net.URLClassLoader);
                     END;

  Cleaner* = POINTER TO EXTENSIBLE RECORD (java_lang_ref.PhantomReference)    (* Typebound Procedures *)
             STATIC
               PROCEDURE create*(p0 : java_lang.Object;
                                 p1 : java_lang.Runnable) : Cleaner;
             END;

  Compare* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
             END;

  CompoundEnumeration* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + java_util.Enumeration)    (* Typebound Procedures *)
                         STATIC
                           PROCEDURE Init*(IN  p0 : ARRAY OF java_util.Enumeration) : CompoundEnumeration,CONSTRUCTOR;
                         END;

  ConditionLock* = POINTER TO RECORD (Lock)    (* Typebound Procedures *)
                   STATIC
                     PROCEDURE Init*(p0 : INTEGER) : ConditionLock,CONSTRUCTOR;
                     PROCEDURE Init*() : ConditionLock,CONSTRUCTOR;
                   END;

  CRC16* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
             value* : INTEGER;
           STATIC
             PROCEDURE Init*() : CRC16,CONSTRUCTOR;
           END;

  DoubleConsts* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                  STATIC
                    EXP_BIAS*          = 1023;
                    EXP_BIT_MASK*      = 9218868437227405312;
                    MAX_EXPONENT*      = 1023;
                    MAX_VALUE*         = 1.7976931348623157E308;
                    MIN_EXPONENT*      = -1022;
                    MIN_NORMAL*        = 2.2250738585072014E-308;
                    MIN_SUB_EXPONENT*  = -1074;
                    MIN_VALUE*         = 4.9E-324;
                    NaN*               = NaN;
                    NEGATIVE_INFINITY* = -Infinity;
                    POSITIVE_INFINITY* = Infinity;
                    SIGNIFICAND_WIDTH* = 53;
                    SIGNIF_BIT_MASK*   = 4503599627370495;
                    SIGN_BIT_MASK*     = -9223372036854775808;
                  END;

  ExtensionDependency* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                         STATIC
                           PROCEDURE addExtensionInstallationProvider*(p0 : ExtensionInstallationProvider);
                           PROCEDURE checkExtensionsDependencies*(p0 : java_util_jar.JarFile) : BOOLEAN;
                           PROCEDURE Init*() : ExtensionDependency,CONSTRUCTOR;
                           PROCEDURE removeExtensionInstallationProvider*(p0 : ExtensionInstallationProvider);
                         END;

  ExtensionInfo* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                     title*                 : java_lang.String;
                     name*                  : java_lang.String;
                     specVersion*           : java_lang.String;
                     specVendor*            : java_lang.String;
                     implementationVersion* : java_lang.String;
                     vendor*                : java_lang.String;
                     vendorId*              : java_lang.String;
                     url*                   : java_lang.String;
                   STATIC
                     COMPATIBLE*                     = 0;
                     INCOMPATIBLE*                   = 4;
                     REQUIRE_IMPLEMENTATION_UPGRADE* = 2;
                     REQUIRE_SPECIFICATION_UPGRADE*  = 1;
                     REQUIRE_VENDOR_SWITCH*          = 3;
                     PROCEDURE Init*(p0 : java_lang.String;
                                     p1 : java_util_jar.Attributes) : ExtensionInfo,CONSTRUCTOR;
                     PROCEDURE Init*() : ExtensionInfo,CONSTRUCTOR;
                   END;

  ExtensionInstallationException* = POINTER TO EXTENSIBLE RECORD (java_lang.Exception)
                                    STATIC
                                      PROCEDURE Init*(p0 : java_lang.String) : ExtensionInstallationException,CONSTRUCTOR;
                                    END;

  ExtensionInstallationProvider* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                                   END;

  FileURLMapper* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                   STATIC
                     PROCEDURE Init*(p0 : java_net.URL) : FileURLMapper,CONSTRUCTOR;
                   END;

  FloatConsts* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                 STATIC
                   EXP_BIAS*          = 127;
                   EXP_BIT_MASK*      = 2139095040;
                   MAX_EXPONENT*      = 127;
                   MAX_VALUE*         = 3.4028234663852886E38;
                   MIN_EXPONENT*      = -126;
                   MIN_NORMAL*        = 1.1754943508222875E-38;
                   MIN_SUB_EXPONENT*  = -149;
                   MIN_VALUE*         = 1.401298464324817E-45;
                   NaN*               = NaN;
                   NEGATIVE_INFINITY* = -Infinity;
                   POSITIVE_INFINITY* = Infinity;
                   SIGNIFICAND_WIDTH* = 24;
                   SIGNIF_BIT_MASK*   = 8388607;
                   SIGN_BIT_MASK*     = -2147483648;
                 END;

  FloatingDecimal* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                     STATIC
                       PROCEDURE Init*(p0 : SHORTREAL) : FloatingDecimal,CONSTRUCTOR;
                       PROCEDURE Init*(p0 : REAL) : FloatingDecimal,CONSTRUCTOR;
                       PROCEDURE readJavaFormatString*(p0 : java_lang.String) : FloatingDecimal;
                     END;

  FormattedFloatingDecimal* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                              STATIC
                                PROCEDURE Init*(p0 : SHORTREAL) : FormattedFloatingDecimal,CONSTRUCTOR;
                                PROCEDURE Init*(p0 : SHORTREAL;
                                                p1 : INTEGER;
                                                p2 : FormattedFloatingDecimal$Form) : FormattedFloatingDecimal,CONSTRUCTOR;
                                PROCEDURE Init*(p0 : REAL) : FormattedFloatingDecimal,CONSTRUCTOR;
                                PROCEDURE Init*(p0 : REAL;
                                                p1 : INTEGER;
                                                p2 : FormattedFloatingDecimal$Form) : FormattedFloatingDecimal,CONSTRUCTOR;
                                PROCEDURE readJavaFormatString*(p0 : java_lang.String) : FormattedFloatingDecimal;
                              END;

  FormattedFloatingDecimal$Form* = POINTER TO RECORD (java_lang.Enum)
                                   STATIC
                                     COMPATIBLE*    : FormattedFloatingDecimal$Form;
                                     DECIMAL_FLOAT* : FormattedFloatingDecimal$Form;
                                     GENERAL*       : FormattedFloatingDecimal$Form;
                                     SCIENTIFIC*    : FormattedFloatingDecimal$Form;
                                     PROCEDURE valueOf*(p0 : java_lang.String) : FormattedFloatingDecimal$Form;
                                     PROCEDURE values*() : POINTER TO ARRAY OF FormattedFloatingDecimal$Form;
                                   END;

  FpUtils* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
             STATIC
               PROCEDURE copySign*(p0 : SHORTREAL;
                                   p1 : SHORTREAL) : SHORTREAL;
               PROCEDURE copySign*(p0 : REAL;
                                   p1 : REAL) : REAL;
               PROCEDURE getExponent*(p0 : REAL) : INTEGER;
               PROCEDURE getExponent*(p0 : SHORTREAL) : INTEGER;
               PROCEDURE ilogb*(p0 : REAL) : INTEGER;
               PROCEDURE ilogb*(p0 : SHORTREAL) : INTEGER;
               PROCEDURE isFinite*(p0 : SHORTREAL) : BOOLEAN;
               PROCEDURE isFinite*(p0 : REAL) : BOOLEAN;
               PROCEDURE isInfinite*(p0 : REAL) : BOOLEAN;
               PROCEDURE isInfinite*(p0 : SHORTREAL) : BOOLEAN;
               PROCEDURE isNaN*(p0 : REAL) : BOOLEAN;
               PROCEDURE isNaN*(p0 : SHORTREAL) : BOOLEAN;
               PROCEDURE isUnordered*(p0 : REAL;
                                      p1 : REAL) : BOOLEAN;
               PROCEDURE isUnordered*(p0 : SHORTREAL;
                                      p1 : SHORTREAL) : BOOLEAN;
               PROCEDURE nextAfter*(p0 : REAL;
                                    p1 : REAL) : REAL;
               PROCEDURE nextAfter*(p0 : SHORTREAL;
                                    p1 : REAL) : SHORTREAL;
               PROCEDURE nextDown*(p0 : REAL) : REAL;
               PROCEDURE nextDown*(p0 : SHORTREAL) : REAL;
               PROCEDURE nextUp*(p0 : SHORTREAL) : SHORTREAL;
               PROCEDURE nextUp*(p0 : REAL) : REAL;
               PROCEDURE rawCopySign*(p0 : SHORTREAL;
                                      p1 : SHORTREAL) : SHORTREAL;
               PROCEDURE rawCopySign*(p0 : REAL;
                                      p1 : REAL) : REAL;
               PROCEDURE scalb*(p0 : REAL;
                                p1 : INTEGER) : REAL;
               PROCEDURE scalb*(p0 : SHORTREAL;
                                p1 : INTEGER) : SHORTREAL;
               PROCEDURE signum*(p0 : REAL) : REAL;
               PROCEDURE signum*(p0 : SHORTREAL) : SHORTREAL;
               PROCEDURE ulp*(p0 : REAL) : REAL;
               PROCEDURE ulp*(p0 : SHORTREAL) : SHORTREAL;
             END;

  GC* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
        STATIC
          PROCEDURE currentLatencyTarget*() : LONGINT;
          PROCEDURE maxObjectInspectionAge*() : LONGINT;
          PROCEDURE requestLatency*(p0 : LONGINT) : GC$LatencyRequest;
        END;

  GC$LatencyRequest* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + java_lang.Comparable)    (* Typebound Procedures *)
                       END;

  HexDumpEncoder* = POINTER TO EXTENSIBLE RECORD (CharacterEncoder)    (* Typebound Procedures *)
                    STATIC
                      PROCEDURE Init*() : HexDumpEncoder,CONSTRUCTOR;
                    END;

  InvalidJarIndexException* = POINTER TO EXTENSIBLE RECORD (java_lang.RuntimeException)
                              STATIC
                                PROCEDURE Init*(p0 : java_lang.String) : InvalidJarIndexException,CONSTRUCTOR;
                                PROCEDURE Init*() : InvalidJarIndexException,CONSTRUCTOR;
                              END;

  IOUtils* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
             STATIC
               PROCEDURE Init*() : IOUtils,CONSTRUCTOR;
               PROCEDURE readFully*(p0 : java_io.InputStream;
                                    p1 : INTEGER;
                                    p2 : BOOLEAN) : POINTER TO ARRAY OF BYTE;
             END;

  JarFilter* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + java_io.FilenameFilter)    (* Typebound Procedures *)
               STATIC
                 PROCEDURE Init*() : JarFilter,CONSTRUCTOR;
               END;

  JarIndex* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
              STATIC
                INDEX_NAME*  = "META-INF/INDEX.LIST";
                PROCEDURE getJarIndex*(p0 : java_util_jar.JarFile) : JarIndex;
                PROCEDURE getJarIndex*(p0 : java_util_jar.JarFile;
                                       p1 : MetaIndex) : JarIndex;
                PROCEDURE Init*(IN  p0 : ARRAY OF java_lang.String) : JarIndex,CONSTRUCTOR;
                PROCEDURE Init*() : JarIndex,CONSTRUCTOR;
                PROCEDURE Init*(p0 : java_io.InputStream) : JarIndex,CONSTRUCTOR;
              END;

  JavaIOAccess* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                  END;

  JavaIOFileDescriptorAccess* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                                END;

  JavaLangAccess* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                    END;

  JavaNetAccess* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                   END;

  JavaSecurityAccess* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                        END;

  JavaSecurityProtectionDomainAccess* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                                        END;

  JavaSecurityProtectionDomainAccess$ProtectionDomainCache* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                                                              END;

  JavaUtilJarAccess* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                       END;

  Launcher* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
              STATIC
                PROCEDURE addURLToAppClassLoader*(p0 : java_net.URL);
                PROCEDURE addURLToExtClassLoader*(p0 : java_net.URL);
                PROCEDURE flushBootstrapClassPath*();
                PROCEDURE getBootstrapClassPath*() : URLClassPath;
                PROCEDURE getLauncher*() : Launcher;
                PROCEDURE Init*() : Launcher,CONSTRUCTOR;
              END;

  Lock* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
          STATIC
            PROCEDURE Init*() : Lock,CONSTRUCTOR;
          END;

  LRUCache* = POINTER TO ABSTRACT RECORD (java_lang.Object)    (* Typebound Procedures *)
              STATIC
                PROCEDURE Init*(p0 : INTEGER) : LRUCache,CONSTRUCTOR;
                PROCEDURE moveToFront*(IN  p0 : ARRAY OF java_lang.Object;
                                           p1 : INTEGER);
              END;

  MessageUtils* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                  STATIC
                    PROCEDURE err*(p0 : java_lang.String);
                    PROCEDURE Init*() : MessageUtils,CONSTRUCTOR;
                    PROCEDURE out*(p0 : java_lang.String);
                    PROCEDURE subst*(    p0 : java_lang.String;
                                     IN  p1 : ARRAY OF java_lang.String) : java_lang.String;
                    PROCEDURE subst*(p0 : java_lang.String;
                                     p1 : java_lang.String) : java_lang.String;
                    PROCEDURE subst*(p0 : java_lang.String;
                                     p1 : java_lang.String;
                                     p2 : java_lang.String) : java_lang.String;
                    PROCEDURE subst*(p0 : java_lang.String;
                                     p1 : java_lang.String;
                                     p2 : java_lang.String;
                                     p3 : java_lang.String) : java_lang.String;
                    PROCEDURE substProp*(p0 : java_lang.String;
                                         p1 : java_lang.String;
                                         p2 : java_lang.String;
                                         p3 : java_lang.String) : java_lang.String;
                    PROCEDURE substProp*(p0 : java_lang.String;
                                         p1 : java_lang.String;
                                         p2 : java_lang.String) : java_lang.String;
                    PROCEDURE substProp*(p0 : java_lang.String;
                                         p1 : java_lang.String) : java_lang.String;
                    PROCEDURE toStderr*(p0 : java_lang.String);
                    PROCEDURE toStdout*(p0 : java_lang.String);
                    PROCEDURE where*();
                  END;

  MetaIndex* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
               STATIC
                 PROCEDURE forJar*(p0 : java_io.File) : MetaIndex;
                 PROCEDURE registerDirectory*(p0 : java_io.File);
               END;

  OSEnvironment* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                   STATIC
                     PROCEDURE Init*() : OSEnvironment,CONSTRUCTOR;
                     PROCEDURE initialize*();
                   END;

  Perf* = POINTER TO RECORD (java_lang.Object)    (* Typebound Procedures *)
          STATIC
            PROCEDURE getPerf*() : Perf;
          END;

  Perf$GetPerfAction* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + java_security.PrivilegedAction)    (* Typebound Procedures *)
                        STATIC
                          PROCEDURE Init*() : Perf$GetPerfAction,CONSTRUCTOR;
                        END;

  PerformanceLogger* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                       STATIC
                         PROCEDURE getMessageAtIndex*(p0 : INTEGER) : java_lang.String;
                         PROCEDURE getStartTime*() : LONGINT;
                         PROCEDURE getTimeAtIndex*(p0 : INTEGER) : LONGINT;
                         PROCEDURE Init*() : PerformanceLogger,CONSTRUCTOR;
                         PROCEDURE loggingEnabled*() : BOOLEAN;
                         PROCEDURE outputLog*(p0 : java_io.Writer);
                         PROCEDURE outputLog*();
                         PROCEDURE setBaseTime*(p0 : LONGINT);
                         PROCEDURE setStartTime*(p0 : java_lang.String);
                         PROCEDURE setStartTime*(p0 : java_lang.String;
                                                 p1 : LONGINT);
                         PROCEDURE setTime*(p0 : java_lang.String) : INTEGER;
                         PROCEDURE setTime*(p0 : java_lang.String;
                                            p1 : LONGINT) : INTEGER;
                       END;

  PostVMInitHook* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                    STATIC
                      PROCEDURE Init*() : PostVMInitHook,CONSTRUCTOR;
                      PROCEDURE run*();
                    END;

  ProxyGenerator* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                    STATIC
                      PROCEDURE generateProxyClass*(    p0 : java_lang.String;
                                                    IN  p1 : ARRAY OF java_lang.Class) : POINTER TO ARRAY OF BYTE;
                    END;

  Queue* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
           STATIC
             PROCEDURE Init*() : Queue,CONSTRUCTOR;
           END;

  REException* = POINTER TO EXTENSIBLE RECORD (java_lang.Exception)
                 END;

  Ref* = POINTER TO ABSTRACT RECORD (java_lang.Object)    (* Typebound Procedures *)
         STATIC
           PROCEDURE Init*(p0 : java_lang.Object) : Ref,CONSTRUCTOR;
           PROCEDURE Init*() : Ref,CONSTRUCTOR;
         END;

  Regexp* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
              ignoreCase* : BOOLEAN;
              exp*        : java_lang.String;
              prefix*     : java_lang.String;
              suffix*     : java_lang.String;
              exact*      : BOOLEAN;
              prefixLen*  : INTEGER;
              suffixLen*  : INTEGER;
              totalLen*   : INTEGER;
              mids*       : POINTER TO ARRAY OF java_lang.String;
            STATIC
              PROCEDURE Init*(p0 : java_lang.String) : Regexp,CONSTRUCTOR;
            END;

  RegexpPool* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                STATIC
                  PROCEDURE Init*() : RegexpPool,CONSTRUCTOR;
                END;

  RegexpTarget* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                  END;

  Request* = POINTER TO ABSTRACT RECORD (java_lang.Object)    (* Typebound Procedures *)
             STATIC
               PROCEDURE Init*() : Request,CONSTRUCTOR;
             END;

  RequestProcessor* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + java_lang.Runnable)    (* Typebound Procedures *)
                      STATIC
                        PROCEDURE Init*() : RequestProcessor,CONSTRUCTOR;
                        PROCEDURE postRequest*(p0 : Request);
                        PROCEDURE startProcessing*();
                      END;

  Resource* = POINTER TO ABSTRACT RECORD (java_lang.Object)    (* Typebound Procedures *)
              STATIC
                PROCEDURE Init*() : Resource,CONSTRUCTOR;
              END;

  Service* = POINTER TO RECORD (java_lang.Object)
             STATIC
               PROCEDURE installedProviders*(p0 : java_lang.Class) : java_util.Iterator;
               PROCEDURE providers*(p0 : java_lang.Class) : java_util.Iterator;
               PROCEDURE providers*(p0 : java_lang.Class;
                                    p1 : java_lang.ClassLoader) : java_util.Iterator;
             END;

  ServiceConfigurationError* = POINTER TO EXTENSIBLE RECORD (java_lang.Error)
                               STATIC
                                 PROCEDURE Init*(p0 : java_lang.Throwable) : ServiceConfigurationError,CONSTRUCTOR;
                                 PROCEDURE Init*(p0 : java_lang.String) : ServiceConfigurationError,CONSTRUCTOR;
                               END;

  SharedSecrets* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                   STATIC
                     PROCEDURE getJavaIOAccess*() : JavaIOAccess;
                     PROCEDURE getJavaIOFileDescriptorAccess*() : JavaIOFileDescriptorAccess;
                     PROCEDURE getJavaLangAccess*() : JavaLangAccess;
                     PROCEDURE getJavaNetAccess*() : JavaNetAccess;
                     PROCEDURE getJavaSecurityAccess*() : JavaSecurityAccess;
                     PROCEDURE getJavaSecurityProtectionDomainAccess*() : JavaSecurityProtectionDomainAccess;
                     PROCEDURE Init*() : SharedSecrets,CONSTRUCTOR;
                     PROCEDURE javaUtilJarAccess*() : JavaUtilJarAccess;
                     PROCEDURE setJavaIOAccess*(p0 : JavaIOAccess);
                     PROCEDURE setJavaIOFileDescriptorAccess*(p0 : JavaIOFileDescriptorAccess);
                     PROCEDURE setJavaLangAccess*(p0 : JavaLangAccess);
                     PROCEDURE setJavaNetAccess*(p0 : JavaNetAccess);
                     PROCEDURE setJavaSecurityAccess*(p0 : JavaSecurityAccess);
                     PROCEDURE setJavaSecurityProtectionDomainAccess*(p0 : JavaSecurityProtectionDomainAccess);
                     PROCEDURE setJavaUtilJarAccess*(p0 : JavaUtilJarAccess);
                   END;

  Signal* = POINTER TO RECORD (java_lang.Object)    (* Typebound Procedures *)
            STATIC
              PROCEDURE handle*(p0 : Signal;
                                p1 : SignalHandler) : SignalHandler;
              PROCEDURE Init*(p0 : java_lang.String) : Signal,CONSTRUCTOR;
              PROCEDURE raise*(p0 : Signal);
            END;

  SignalHandler* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                   STATIC
                     SIG_DFL* : SignalHandler;
                     SIG_IGN* : SignalHandler;
                   END;

  SoftCache* = POINTER TO EXTENSIBLE RECORD (java_util.AbstractMap + java_util.Map)    (* Typebound Procedures *)
               STATIC
                 PROCEDURE Init*() : SoftCache,CONSTRUCTOR;
                 PROCEDURE Init*(p0 : INTEGER) : SoftCache,CONSTRUCTOR;
                 PROCEDURE Init*(p0 : INTEGER;
                                 p1 : SHORTREAL) : SoftCache,CONSTRUCTOR;
               END;

  Sort* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
          STATIC
            PROCEDURE Init*() : Sort,CONSTRUCTOR;
            PROCEDURE quicksort*(IN  p0 : ARRAY OF java_lang.Object;
                                     p1 : Compare);
            PROCEDURE quicksort*(IN  p0 : ARRAY OF java_lang.Object;
                                     p1 : INTEGER;
                                     p2 : INTEGER;
                                     p3 : Compare);
          END;

  Timeable* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
              END;

  Timer* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
             owner* : Timeable;
           STATIC
             PROCEDURE Init*(p0 : Timeable;
                             p1 : LONGINT) : Timer,CONSTRUCTOR;
           END;

  UCDecoder* = POINTER TO EXTENSIBLE RECORD (CharacterDecoder)    (* Typebound Procedures *)
               STATIC
                 PROCEDURE Init*() : UCDecoder,CONSTRUCTOR;
               END;

  UCEncoder* = POINTER TO EXTENSIBLE RECORD (CharacterEncoder)    (* Typebound Procedures *)
               STATIC
                 PROCEDURE Init*() : UCEncoder,CONSTRUCTOR;
               END;

  Unsafe* = POINTER TO RECORD (java_lang.Object)    (* Typebound Procedures *)
            STATIC
              INVALID_FIELD_OFFSET* = -1;
              PROCEDURE getUnsafe*() : Unsafe;
            END;

  URLClassPath* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                  STATIC
                    PROCEDURE Init*(IN  p0 : ARRAY OF java_net.URL) : URLClassPath,CONSTRUCTOR;
                    PROCEDURE Init*(IN  p0 : ARRAY OF java_net.URL;
                                        p1 : java_net.URLStreamHandlerFactory) : URLClassPath,CONSTRUCTOR;
                    PROCEDURE pathToURLs*(p0 : java_lang.String) : POINTER TO ARRAY OF java_net.URL;
                  END;

  UUDecoder* = POINTER TO EXTENSIBLE RECORD (CharacterDecoder)    (* Typebound Procedures *)
                 bufferName* : java_lang.String;
                 mode*       : INTEGER;
               STATIC
                 PROCEDURE Init*() : UUDecoder,CONSTRUCTOR;
               END;

  UUEncoder* = POINTER TO EXTENSIBLE RECORD (CharacterEncoder)    (* Typebound Procedures *)
               STATIC
                 PROCEDURE Init*(p0 : java_lang.String;
                                 p1 : INTEGER) : UUEncoder,CONSTRUCTOR;
                 PROCEDURE Init*(p0 : java_lang.String) : UUEncoder,CONSTRUCTOR;
                 PROCEDURE Init*() : UUEncoder,CONSTRUCTOR;
               END;

  Version* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
             STATIC
               PROCEDURE getJdkSpecialVersion*() : java_lang.String;
               PROCEDURE getJvmSpecialVersion*() : java_lang.String;
               PROCEDURE Init*() : Version,CONSTRUCTOR;
               PROCEDURE init*();
               PROCEDURE jdkBuildNumber*() : INTEGER;
               PROCEDURE jdkMajorVersion*() : INTEGER;
               PROCEDURE jdkMicroVersion*() : INTEGER;
               PROCEDURE jdkMinorVersion*() : INTEGER;
               PROCEDURE jdkSpecialVersion*() : java_lang.String;
               PROCEDURE jdkUpdateVersion*() : INTEGER;
               PROCEDURE jvmBuildNumber*() : INTEGER;
               PROCEDURE jvmMajorVersion*() : INTEGER;
               PROCEDURE jvmMicroVersion*() : INTEGER;
               PROCEDURE jvmMinorVersion*() : INTEGER;
               PROCEDURE jvmSpecialVersion*() : java_lang.String;
               PROCEDURE jvmUpdateVersion*() : INTEGER;
               PROCEDURE print*();
               PROCEDURE print*(p0 : java_io.PrintStream);
             END;

  VM* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
        STATIC
          STATE_GREEN*             = 1;
          STATE_RED*               = 3;
          STATE_YELLOW*            = 2;
          PROCEDURE addFinalRefCount*(p0 : INTEGER);
          PROCEDURE allowArraySyntax*() : BOOLEAN;
          PROCEDURE allowThreadSuspension*(p0 : java_lang.ThreadGroup;
                                           p1 : BOOLEAN) : BOOLEAN;
          PROCEDURE asChange*(p0 : INTEGER;
                              p1 : INTEGER);
          PROCEDURE asChange_otherthread*(p0 : INTEGER;
                                          p1 : INTEGER);
          PROCEDURE booted*();
          PROCEDURE getFinalRefCount*() : INTEGER;
          PROCEDURE getPeakFinalRefCount*() : INTEGER;
          PROCEDURE getState*() : INTEGER;
          PROCEDURE Init*() : VM,CONSTRUCTOR;
          PROCEDURE initializeOSEnvironment*();
          PROCEDURE isBooted*() : BOOLEAN;
          PROCEDURE maxDirectMemory*() : LONGINT;
          PROCEDURE registerVMNotification*(p0 : VMNotification);
          PROCEDURE suspendThreads*() : BOOLEAN;
          PROCEDURE threadsSuspended*() : BOOLEAN;
          PROCEDURE toThreadState*(p0 : INTEGER) : java_lang.Thread$State;
          PROCEDURE unsuspendSomeThreads*();
          PROCEDURE unsuspendThreads*();
        END;

  VMNotification* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                    END;

  VMSupport* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
               STATIC
                 PROCEDURE getAgentProperties*() : java_util.Properties;
                 PROCEDURE Init*() : VMSupport,CONSTRUCTOR;
                 PROCEDURE isClassPathAttributePresent*(p0 : java_lang.String) : BOOLEAN;
                 PROCEDURE serializeAgentPropertiesToByteArray*() : POINTER TO ARRAY OF BYTE;
                 PROCEDURE serializePropertiesToByteArray*() : POINTER TO ARRAY OF BYTE;
               END;




PROCEDURE (self:ASCIICaseInsensitiveComparator) compare*(p0 : java_lang.Object;
                                                         p1 : java_lang.Object) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:AtomicLong) attemptAdd*(p0 : LONGINT) : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:AtomicLong) attemptIncrememt*() : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:AtomicLong) attemptSet*(p0 : LONGINT) : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:AtomicLong) attemptUpdate*(p0 : LONGINT;
                                           p1 : LONGINT) : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:AtomicLong) get*() : LONGINT,NEW,ABSTRACT;

PROCEDURE (self:BASE64Decoder) bytesPerAtom!() : INTEGER,EXTENSIBLE;

PROCEDURE (self:BASE64Decoder) bytesPerLine!() : INTEGER,EXTENSIBLE;

PROCEDURE (self:BASE64Decoder) decodeAtom!(p0 : java_io.PushbackInputStream;
                                           p1 : java_io.OutputStream;
                                           p2 : INTEGER),EXTENSIBLE;

PROCEDURE (self:BASE64Encoder) bytesPerAtom!() : INTEGER,EXTENSIBLE;

PROCEDURE (self:BASE64Encoder) bytesPerLine!() : INTEGER,EXTENSIBLE;

PROCEDURE (self:BASE64Encoder) encodeAtom!(    p0 : java_io.OutputStream;
                                           IN  p1 : ARRAY OF BYTE;
                                               p2 : INTEGER;
                                               p3 : INTEGER),EXTENSIBLE;

PROCEDURE (self:Cache) elements*() : java_util.Enumeration,EXTENSIBLE;

PROCEDURE (self:Cache) get*(p0 : java_lang.Object) : java_lang.Object,EXTENSIBLE;

PROCEDURE (self:Cache) isEmpty*() : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:Cache) keys*() : java_util.Enumeration,EXTENSIBLE;

PROCEDURE (self:Cache) put*(p0 : java_lang.Object;
                            p1 : java_lang.Object) : java_lang.Object,EXTENSIBLE;

PROCEDURE (self:Cache) rehash!(),NEW,EXTENSIBLE;

PROCEDURE (self:Cache) remove*(p0 : java_lang.Object) : java_lang.Object,EXTENSIBLE;

PROCEDURE (self:Cache) size*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:CharacterDecoder) bytesPerAtom!() : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:CharacterDecoder) bytesPerLine!() : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:CharacterDecoder) decodeAtom!(p0 : java_io.PushbackInputStream;
                                              p1 : java_io.OutputStream;
                                              p2 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:CharacterDecoder) decodeBuffer*(p0 : java_lang.String) : POINTER TO ARRAY OF BYTE,NEW,EXTENSIBLE;

PROCEDURE (self:CharacterDecoder) decodeBuffer*(p0 : java_io.InputStream;
                                                p1 : java_io.OutputStream),NEW,EXTENSIBLE;

PROCEDURE (self:CharacterDecoder) decodeBuffer*(p0 : java_io.InputStream) : POINTER TO ARRAY OF BYTE,NEW,EXTENSIBLE;

PROCEDURE (self:CharacterDecoder) decodeBufferPrefix!(p0 : java_io.PushbackInputStream;
                                                      p1 : java_io.OutputStream),NEW,EXTENSIBLE;

PROCEDURE (self:CharacterDecoder) decodeBufferSuffix!(p0 : java_io.PushbackInputStream;
                                                      p1 : java_io.OutputStream),NEW,EXTENSIBLE;

PROCEDURE (self:CharacterDecoder) decodeBufferToByteBuffer*(p0 : java_lang.String) : java_nio.ByteBuffer,NEW,EXTENSIBLE;

PROCEDURE (self:CharacterDecoder) decodeBufferToByteBuffer*(p0 : java_io.InputStream) : java_nio.ByteBuffer,NEW,EXTENSIBLE;

PROCEDURE (self:CharacterDecoder) decodeLinePrefix!(p0 : java_io.PushbackInputStream;
                                                    p1 : java_io.OutputStream) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:CharacterDecoder) decodeLineSuffix!(p0 : java_io.PushbackInputStream;
                                                    p1 : java_io.OutputStream),NEW,EXTENSIBLE;

PROCEDURE (self:CharacterDecoder) readFully!(    p0 : java_io.InputStream;
                                             IN  p1 : ARRAY OF BYTE;
                                                 p2 : INTEGER;
                                                 p3 : INTEGER) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:CharacterEncoder) bytesPerAtom!() : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:CharacterEncoder) bytesPerLine!() : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:CharacterEncoder) encode*(IN  p0 : ARRAY OF BYTE;
                                              p1 : java_io.OutputStream),NEW,EXTENSIBLE;

PROCEDURE (self:CharacterEncoder) encode*(p0 : java_io.InputStream;
                                          p1 : java_io.OutputStream),NEW,EXTENSIBLE;

PROCEDURE (self:CharacterEncoder) encode*(IN  p0 : ARRAY OF BYTE) : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:CharacterEncoder) encode*(p0 : java_nio.ByteBuffer) : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:CharacterEncoder) encode*(p0 : java_nio.ByteBuffer;
                                          p1 : java_io.OutputStream),NEW,EXTENSIBLE;

PROCEDURE (self:CharacterEncoder) encodeAtom!(    p0 : java_io.OutputStream;
                                              IN  p1 : ARRAY OF BYTE;
                                                  p2 : INTEGER;
                                                  p3 : INTEGER),NEW,ABSTRACT;

PROCEDURE (self:CharacterEncoder) encodeBuffer*(IN  p0 : ARRAY OF BYTE;
                                                    p1 : java_io.OutputStream),NEW,EXTENSIBLE;

PROCEDURE (self:CharacterEncoder) encodeBuffer*(p0 : java_io.InputStream;
                                                p1 : java_io.OutputStream),NEW,EXTENSIBLE;

PROCEDURE (self:CharacterEncoder) encodeBuffer*(IN  p0 : ARRAY OF BYTE) : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:CharacterEncoder) encodeBuffer*(p0 : java_nio.ByteBuffer) : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:CharacterEncoder) encodeBuffer*(p0 : java_nio.ByteBuffer;
                                                p1 : java_io.OutputStream),NEW,EXTENSIBLE;

PROCEDURE (self:CharacterEncoder) encodeBufferPrefix!(p0 : java_io.OutputStream),NEW,EXTENSIBLE;

PROCEDURE (self:CharacterEncoder) encodeBufferSuffix!(p0 : java_io.OutputStream),NEW,EXTENSIBLE;

PROCEDURE (self:CharacterEncoder) encodeLinePrefix!(p0 : java_io.OutputStream;
                                                    p1 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:CharacterEncoder) encodeLineSuffix!(p0 : java_io.OutputStream),NEW,EXTENSIBLE;

PROCEDURE (self:CharacterEncoder) readFully!(    p0 : java_io.InputStream;
                                             IN  p1 : ARRAY OF BYTE) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:ClassFileTransformer) transform*(IN  p0 : ARRAY OF BYTE;
                                                     p1 : INTEGER;
                                                     p2 : INTEGER) : POINTER TO ARRAY OF BYTE,NEW,ABSTRACT;

PROCEDURE (self:Cleaner) clean*(),NEW,EXTENSIBLE;

PROCEDURE (self:Compare) doCompare*(p0 : java_lang.Object;
                                    p1 : java_lang.Object) : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:CompoundEnumeration) hasMoreElements*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:CompoundEnumeration) nextElement*() : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:ConditionLock) lockWhen*(p0 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:ConditionLock) unlockWith*(p0 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:CRC16) reset*(),NEW,EXTENSIBLE;

PROCEDURE (self:CRC16) update*(p0 : BYTE),NEW,EXTENSIBLE;

PROCEDURE (self:ExtensionDependency) checkExtension!(p0 : java_lang.String;
                                                     p1 : java_util_jar.Attributes) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:ExtensionDependency) checkExtensionAgainst!(p0 : java_lang.String;
                                                            p1 : java_util_jar.Attributes;
                                                            p2 : java_io.File) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:ExtensionDependency) checkExtensions!(p0 : java_util_jar.JarFile) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:ExtensionDependency) installExtension!(p0 : ExtensionInfo;
                                                       p1 : ExtensionInfo) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:ExtensionInfo) isCompatibleWith*(p0 : ExtensionInfo) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:ExtensionInfo) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:ExtensionInstallationProvider) installExtension*(p0 : ExtensionInfo;
                                                                 p1 : ExtensionInfo) : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:FileURLMapper) exists*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:FileURLMapper) getPath*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:FloatingDecimal) appendTo*(p0 : java_lang.Appendable),NEW,EXTENSIBLE;

PROCEDURE (self:FloatingDecimal) doubleValue*() : REAL,NEW,EXTENSIBLE;

PROCEDURE (self:FloatingDecimal) floatValue*() : SHORTREAL,NEW,EXTENSIBLE;

PROCEDURE (self:FloatingDecimal) toJavaFormatString*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:FloatingDecimal) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:FormattedFloatingDecimal) appendTo*(p0 : java_lang.Appendable),NEW,EXTENSIBLE;

PROCEDURE (self:FormattedFloatingDecimal) doubleValue*() : REAL,NEW,EXTENSIBLE;

PROCEDURE (self:FormattedFloatingDecimal) floatValue*() : SHORTREAL,NEW,EXTENSIBLE;

PROCEDURE (self:FormattedFloatingDecimal) getChars*(IN  p0 : ARRAY OF CHAR) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:FormattedFloatingDecimal) getExponent*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:FormattedFloatingDecimal) getExponentRounded*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:FormattedFloatingDecimal) toJavaFormatString*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:FormattedFloatingDecimal) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:GC$LatencyRequest) cancel*(),NEW,EXTENSIBLE;

PROCEDURE (self:GC$LatencyRequest) compareTo*(p0 : java_lang.Object) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:GC$LatencyRequest) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:HexDumpEncoder) bytesPerAtom!() : INTEGER,EXTENSIBLE;

PROCEDURE (self:HexDumpEncoder) bytesPerLine!() : INTEGER,EXTENSIBLE;

PROCEDURE (self:HexDumpEncoder) encodeAtom!(    p0 : java_io.OutputStream;
                                            IN  p1 : ARRAY OF BYTE;
                                                p2 : INTEGER;
                                                p3 : INTEGER),EXTENSIBLE;

PROCEDURE (self:HexDumpEncoder) encodeBufferPrefix!(p0 : java_io.OutputStream),EXTENSIBLE;

PROCEDURE (self:HexDumpEncoder) encodeLinePrefix!(p0 : java_io.OutputStream;
                                                  p1 : INTEGER),EXTENSIBLE;

PROCEDURE (self:HexDumpEncoder) encodeLineSuffix!(p0 : java_io.OutputStream),EXTENSIBLE;

PROCEDURE (self:JarFilter) accept*(p0 : java_io.File;
                                   p1 : java_lang.String) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:JarIndex) add*(p0 : java_lang.String;
                               p1 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:JarIndex) get*(p0 : java_lang.String) : java_util.LinkedList,NEW,EXTENSIBLE;

PROCEDURE (self:JarIndex) getJarFiles*() : POINTER TO ARRAY OF java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:JarIndex) merge*(p0 : JarIndex;
                                 p1 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:JarIndex) read*(p0 : java_io.InputStream),NEW,EXTENSIBLE;

PROCEDURE (self:JarIndex) write*(p0 : java_io.OutputStream),NEW,EXTENSIBLE;

PROCEDURE (self:JavaIOAccess) charset*() : java_nio_charset.Charset,NEW,ABSTRACT;

PROCEDURE (self:JavaIOAccess) console*() : java_io.Console,NEW,ABSTRACT;

PROCEDURE (self:JavaIOFileDescriptorAccess) get*(p0 : java_io.FileDescriptor) : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:JavaIOFileDescriptorAccess) getHandle*(p0 : java_io.FileDescriptor) : LONGINT,NEW,ABSTRACT;

PROCEDURE (self:JavaIOFileDescriptorAccess) set*(p0 : java_io.FileDescriptor;
                                                 p1 : INTEGER),NEW,ABSTRACT;

PROCEDURE (self:JavaIOFileDescriptorAccess) setHandle*(p0 : java_io.FileDescriptor;
                                                       p1 : LONGINT),NEW,ABSTRACT;

PROCEDURE (self:JavaLangAccess) blockedOn*(p0 : java_lang.Thread;
                                           p1 : sun_nio_ch.Interruptible),NEW,ABSTRACT;

PROCEDURE (self:JavaLangAccess) getAnnotationType*(p0 : java_lang.Class) : sun_reflect_annotation.AnnotationType,NEW,ABSTRACT;

PROCEDURE (self:JavaLangAccess) getConstantPool*(p0 : java_lang.Class) : sun_reflect.ConstantPool,NEW,ABSTRACT;

PROCEDURE (self:JavaLangAccess) getEnumConstantsShared*(p0 : java_lang.Class) : POINTER TO ARRAY OF java_lang.Enum,NEW,ABSTRACT;

PROCEDURE (self:JavaLangAccess) getStackTraceDepth*(p0 : java_lang.Throwable) : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:JavaLangAccess) getStackTraceElement*(p0 : java_lang.Throwable;
                                                      p1 : INTEGER) : java_lang.StackTraceElement,NEW,ABSTRACT;

PROCEDURE (self:JavaLangAccess) registerShutdownHook*(p0 : INTEGER;
                                                      p1 : java_lang.Runnable),NEW,ABSTRACT;

PROCEDURE (self:JavaLangAccess) setAnnotationType*(p0 : java_lang.Class;
                                                   p1 : sun_reflect_annotation.AnnotationType),NEW,ABSTRACT;

PROCEDURE (self:JavaNetAccess) getURLClassPath*(p0 : java_net.URLClassLoader) : URLClassPath,NEW,ABSTRACT;

PROCEDURE (self:JavaSecurityAccess) doIntersectionPrivilege*(p0 : java_security.PrivilegedAction;
                                                             p1 : java_security.AccessControlContext) : java_lang.Object,NEW,ABSTRACT;

PROCEDURE (self:JavaSecurityAccess) doIntersectionPrivilege*(p0 : java_security.PrivilegedAction;
                                                             p1 : java_security.AccessControlContext;
                                                             p2 : java_security.AccessControlContext) : java_lang.Object,NEW,ABSTRACT;

PROCEDURE (self:JavaSecurityProtectionDomainAccess) getProtectionDomainCache*() : JavaSecurityProtectionDomainAccess$ProtectionDomainCache,NEW,ABSTRACT;

PROCEDURE (self:JavaSecurityProtectionDomainAccess$ProtectionDomainCache) get*(p0 : java_security.ProtectionDomain) : java_security.PermissionCollection,NEW,ABSTRACT;

PROCEDURE (self:JavaSecurityProtectionDomainAccess$ProtectionDomainCache) put*(p0 : java_security.ProtectionDomain;
                                                                               p1 : java_security.PermissionCollection),NEW,ABSTRACT;

PROCEDURE (self:JavaUtilJarAccess) entries2*(p0 : java_util_jar.JarFile) : java_util.Enumeration,NEW,ABSTRACT;

PROCEDURE (self:JavaUtilJarAccess) entryNames*(    p0 : java_util_jar.JarFile;
                                               IN  p1 : ARRAY OF java_security.CodeSource) : java_util.Enumeration,NEW,ABSTRACT;

PROCEDURE (self:JavaUtilJarAccess) getCodeSource*(p0 : java_util_jar.JarFile;
                                                  p1 : java_net.URL;
                                                  p2 : java_lang.String) : java_security.CodeSource,NEW,ABSTRACT;

PROCEDURE (self:JavaUtilJarAccess) getCodeSources*(p0 : java_util_jar.JarFile;
                                                   p1 : java_net.URL) : POINTER TO ARRAY OF java_security.CodeSource,NEW,ABSTRACT;

PROCEDURE (self:JavaUtilJarAccess) getManifestDigests*(p0 : java_util_jar.JarFile) : java_util.List,NEW,ABSTRACT;

PROCEDURE (self:JavaUtilJarAccess) jarFileHasClassPathAttribute*(p0 : java_util_jar.JarFile) : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:JavaUtilJarAccess) setEagerValidation*(p0 : java_util_jar.JarFile;
                                                       p1 : BOOLEAN),NEW,ABSTRACT;

PROCEDURE (self:Launcher) getClassLoader*() : java_lang.ClassLoader,NEW,EXTENSIBLE;

PROCEDURE (self:Lock) lock*(),NEW;

PROCEDURE (self:Lock) unlock*(),NEW;

PROCEDURE (self:LRUCache) create!(p0 : java_lang.Object) : java_lang.Object,NEW,ABSTRACT;

PROCEDURE (self:LRUCache) forName*(p0 : java_lang.Object) : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:LRUCache) hasName!(p0 : java_lang.Object;
                                   p1 : java_lang.Object) : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:MetaIndex) mayContain*(p0 : java_lang.String) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Perf) attach*(p0 : java_lang.String;
                              p1 : INTEGER;
                              p2 : java_lang.String) : java_nio.ByteBuffer,NEW,EXTENSIBLE;

PROCEDURE (self:Perf) attach*(p0 : INTEGER;
                              p1 : java_lang.String) : java_nio.ByteBuffer,NEW,EXTENSIBLE;

PROCEDURE (self:Perf) createByteArray*(    p0 : java_lang.String;
                                           p1 : INTEGER;
                                           p2 : INTEGER;
                                       IN  p3 : ARRAY OF BYTE;
                                           p4 : INTEGER) : java_nio.ByteBuffer,NEW,EXTENSIBLE;

PROCEDURE (self:Perf) createLong*(p0 : java_lang.String;
                                  p1 : INTEGER;
                                  p2 : INTEGER;
                                  p3 : LONGINT) : java_nio.ByteBuffer,NEW,EXTENSIBLE;

PROCEDURE (self:Perf) createString*(p0 : java_lang.String;
                                    p1 : INTEGER;
                                    p2 : INTEGER;
                                    p3 : java_lang.String) : java_nio.ByteBuffer,NEW,EXTENSIBLE;

PROCEDURE (self:Perf) createString*(p0 : java_lang.String;
                                    p1 : INTEGER;
                                    p2 : INTEGER;
                                    p3 : java_lang.String;
                                    p4 : INTEGER) : java_nio.ByteBuffer,NEW,EXTENSIBLE;

PROCEDURE (self:Perf) highResCounter*() : LONGINT,NEW,EXTENSIBLE;

PROCEDURE (self:Perf) highResFrequency*() : LONGINT,NEW,EXTENSIBLE;

PROCEDURE (self:Perf$GetPerfAction) run*() : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:Queue) dequeue*(p0 : LONGINT) : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:Queue) dequeue*() : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:Queue) dump*(p0 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:Queue) elements*() : java_util.Enumeration,NEW;

PROCEDURE (self:Queue) enqueue*(p0 : java_lang.Object),NEW,EXTENSIBLE;

PROCEDURE (self:Queue) isEmpty*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Queue) reverseElements*() : java_util.Enumeration,NEW;

PROCEDURE (self:Ref) check*() : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:Ref) flush*(),NEW,EXTENSIBLE;

PROCEDURE (self:Ref) get*() : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:Ref) reconstitute*() : java_lang.Object,NEW,ABSTRACT;

PROCEDURE (self:Ref) setThing*(p0 : java_lang.Object),NEW,EXTENSIBLE;

PROCEDURE (self:RegexpPool) add*(p0 : java_lang.String;
                                 p1 : java_lang.Object),NEW,EXTENSIBLE;

PROCEDURE (self:RegexpPool) delete*(p0 : java_lang.String) : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:RegexpPool) match*(p0 : java_lang.String) : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:RegexpPool) matchNext*(p0 : java_lang.String) : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:RegexpPool) print*(p0 : java_io.PrintStream),NEW,EXTENSIBLE;

PROCEDURE (self:RegexpPool) replace*(p0 : java_lang.String;
                                     p1 : java_lang.Object),NEW,EXTENSIBLE;

PROCEDURE (self:RegexpPool) reset*(),NEW,EXTENSIBLE;

PROCEDURE (self:RegexpTarget) found*(p0 : java_lang.String) : java_lang.Object,NEW,ABSTRACT;

PROCEDURE (self:Request) execute*(),NEW,ABSTRACT;

PROCEDURE (self:RequestProcessor) run*(),NEW,EXTENSIBLE;

PROCEDURE (self:Resource) getByteBuffer*() : java_nio.ByteBuffer,NEW,EXTENSIBLE;

PROCEDURE (self:Resource) getBytes*() : POINTER TO ARRAY OF BYTE,NEW,EXTENSIBLE;

PROCEDURE (self:Resource) getCertificates*() : POINTER TO ARRAY OF java_security_cert.Certificate,NEW,EXTENSIBLE;

PROCEDURE (self:Resource) getCodeSigners*() : POINTER TO ARRAY OF java_security.CodeSigner,NEW,EXTENSIBLE;

PROCEDURE (self:Resource) getCodeSourceURL*() : java_net.URL,NEW,ABSTRACT;

PROCEDURE (self:Resource) getContentLength*() : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:Resource) getInputStream*() : java_io.InputStream,NEW,ABSTRACT;

PROCEDURE (self:Resource) getManifest*() : java_util_jar.Manifest,NEW,EXTENSIBLE;

PROCEDURE (self:Resource) getName*() : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:Resource) getURL*() : java_net.URL,NEW,ABSTRACT;

PROCEDURE (self:Signal) equals*(p0 : java_lang.Object) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:Signal) getName*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:Signal) getNumber*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Signal) hashCode*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:Signal) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:SignalHandler) handle*(p0 : Signal),NEW,ABSTRACT;

PROCEDURE (self:SoftCache) clear*(),EXTENSIBLE;

PROCEDURE (self:SoftCache) containsKey*(p0 : java_lang.Object) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:SoftCache) entrySet*() : java_util.Set,EXTENSIBLE;

PROCEDURE (self:SoftCache) fill!(p0 : java_lang.Object) : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:SoftCache) get*(p0 : java_lang.Object) : java_lang.Object,EXTENSIBLE;

PROCEDURE (self:SoftCache) isEmpty*() : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:SoftCache) put*(p0 : java_lang.Object;
                                p1 : java_lang.Object) : java_lang.Object,EXTENSIBLE;

PROCEDURE (self:SoftCache) remove*(p0 : java_lang.Object) : java_lang.Object,EXTENSIBLE;

PROCEDURE (self:SoftCache) size*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:Timeable) tick*(p0 : Timer),NEW,ABSTRACT;

PROCEDURE (self:Timer) cont*(),NEW,EXTENSIBLE;

PROCEDURE (self:Timer) getInterval*() : LONGINT,NEW,EXTENSIBLE;

PROCEDURE (self:Timer) getRemainingTime*() : LONGINT,NEW,EXTENSIBLE;

PROCEDURE (self:Timer) getStopTime*() : LONGINT,NEW,EXTENSIBLE;

PROCEDURE (self:Timer) getTimerThread!() : java_lang.Thread,NEW,EXTENSIBLE;

PROCEDURE (self:Timer) isStopped*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Timer) reset*(),NEW,EXTENSIBLE;

PROCEDURE (self:Timer) setInterval*(p0 : LONGINT),NEW,EXTENSIBLE;

PROCEDURE (self:Timer) setRegular*(p0 : BOOLEAN),NEW,EXTENSIBLE;

PROCEDURE (self:Timer) setRemainingTime*(p0 : LONGINT),NEW,EXTENSIBLE;

PROCEDURE (self:Timer) stop*(),NEW,EXTENSIBLE;

PROCEDURE (self:UCDecoder) bytesPerAtom!() : INTEGER,EXTENSIBLE;

PROCEDURE (self:UCDecoder) bytesPerLine!() : INTEGER,EXTENSIBLE;

PROCEDURE (self:UCDecoder) decodeAtom!(p0 : java_io.PushbackInputStream;
                                       p1 : java_io.OutputStream;
                                       p2 : INTEGER),EXTENSIBLE;

PROCEDURE (self:UCDecoder) decodeBufferPrefix!(p0 : java_io.PushbackInputStream;
                                               p1 : java_io.OutputStream),EXTENSIBLE;

PROCEDURE (self:UCDecoder) decodeLinePrefix!(p0 : java_io.PushbackInputStream;
                                             p1 : java_io.OutputStream) : INTEGER,EXTENSIBLE;

PROCEDURE (self:UCDecoder) decodeLineSuffix!(p0 : java_io.PushbackInputStream;
                                             p1 : java_io.OutputStream),EXTENSIBLE;

PROCEDURE (self:UCEncoder) bytesPerAtom!() : INTEGER,EXTENSIBLE;

PROCEDURE (self:UCEncoder) bytesPerLine!() : INTEGER,EXTENSIBLE;

PROCEDURE (self:UCEncoder) encodeAtom!(    p0 : java_io.OutputStream;
                                       IN  p1 : ARRAY OF BYTE;
                                           p2 : INTEGER;
                                           p3 : INTEGER),EXTENSIBLE;

PROCEDURE (self:UCEncoder) encodeBufferPrefix!(p0 : java_io.OutputStream),EXTENSIBLE;

PROCEDURE (self:UCEncoder) encodeLinePrefix!(p0 : java_io.OutputStream;
                                             p1 : INTEGER),EXTENSIBLE;

PROCEDURE (self:UCEncoder) encodeLineSuffix!(p0 : java_io.OutputStream),EXTENSIBLE;

PROCEDURE (self:Unsafe) addressSize*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) allocateInstance*(p0 : java_lang.Class) : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) allocateMemory*(p0 : LONGINT) : LONGINT,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) arrayBaseOffset*(p0 : java_lang.Class) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) arrayIndexScale*(p0 : java_lang.Class) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) compareAndSwapInt*(p0 : java_lang.Object;
                                           p1 : LONGINT;
                                           p2 : INTEGER;
                                           p3 : INTEGER) : BOOLEAN,NEW;

PROCEDURE (self:Unsafe) compareAndSwapLong*(p0 : java_lang.Object;
                                            p1 : LONGINT;
                                            p2 : LONGINT;
                                            p3 : LONGINT) : BOOLEAN,NEW;

PROCEDURE (self:Unsafe) compareAndSwapObject*(p0 : java_lang.Object;
                                              p1 : LONGINT;
                                              p2 : java_lang.Object;
                                              p3 : java_lang.Object) : BOOLEAN,NEW;

PROCEDURE (self:Unsafe) copyMemory*(p0 : LONGINT;
                                    p1 : LONGINT;
                                    p2 : LONGINT),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) copyMemory*(p0 : java_lang.Object;
                                    p1 : LONGINT;
                                    p2 : java_lang.Object;
                                    p3 : LONGINT;
                                    p4 : LONGINT),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) defineClass*(    p0 : java_lang.String;
                                     IN  p1 : ARRAY OF BYTE;
                                         p2 : INTEGER;
                                         p3 : INTEGER) : java_lang.Class,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) defineClass*(    p0 : java_lang.String;
                                     IN  p1 : ARRAY OF BYTE;
                                         p2 : INTEGER;
                                         p3 : INTEGER;
                                         p4 : java_lang.ClassLoader;
                                         p5 : java_security.ProtectionDomain) : java_lang.Class,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) ensureClassInitialized*(p0 : java_lang.Class),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) fieldOffset*(p0 : java_lang_reflect.Field) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) freeMemory*(p0 : LONGINT),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getAddress*(p0 : LONGINT) : LONGINT,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getBoolean*(p0 : java_lang.Object;
                                    p1 : LONGINT) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getBoolean*(p0 : java_lang.Object;
                                    p1 : INTEGER) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getBooleanVolatile*(p0 : java_lang.Object;
                                            p1 : LONGINT) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getByte*(p0 : java_lang.Object;
                                 p1 : INTEGER) : BYTE,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getByte*(p0 : LONGINT) : BYTE,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getByte*(p0 : java_lang.Object;
                                 p1 : LONGINT) : BYTE,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getByteVolatile*(p0 : java_lang.Object;
                                         p1 : LONGINT) : BYTE,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getChar*(p0 : java_lang.Object;
                                 p1 : INTEGER) : CHAR,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getChar*(p0 : java_lang.Object;
                                 p1 : LONGINT) : CHAR,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getChar*(p0 : LONGINT) : CHAR,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getCharVolatile*(p0 : java_lang.Object;
                                         p1 : LONGINT) : CHAR,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getDouble*(p0 : LONGINT) : REAL,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getDouble*(p0 : java_lang.Object;
                                   p1 : INTEGER) : REAL,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getDouble*(p0 : java_lang.Object;
                                   p1 : LONGINT) : REAL,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getDoubleVolatile*(p0 : java_lang.Object;
                                           p1 : LONGINT) : REAL,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getFloat*(p0 : java_lang.Object;
                                  p1 : INTEGER) : SHORTREAL,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getFloat*(p0 : LONGINT) : SHORTREAL,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getFloat*(p0 : java_lang.Object;
                                  p1 : LONGINT) : SHORTREAL,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getFloatVolatile*(p0 : java_lang.Object;
                                          p1 : LONGINT) : SHORTREAL,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getInt*(p0 : LONGINT) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getInt*(p0 : java_lang.Object;
                                p1 : LONGINT) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getInt*(p0 : java_lang.Object;
                                p1 : INTEGER) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getIntVolatile*(p0 : java_lang.Object;
                                        p1 : LONGINT) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getLoadAverage*(IN  p0 : ARRAY OF REAL;
                                            p1 : INTEGER) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getLong*(p0 : java_lang.Object;
                                 p1 : LONGINT) : LONGINT,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getLong*(p0 : LONGINT) : LONGINT,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getLong*(p0 : java_lang.Object;
                                 p1 : INTEGER) : LONGINT,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getLongVolatile*(p0 : java_lang.Object;
                                         p1 : LONGINT) : LONGINT,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getObject*(p0 : java_lang.Object;
                                   p1 : INTEGER) : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getObject*(p0 : java_lang.Object;
                                   p1 : LONGINT) : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getObjectVolatile*(p0 : java_lang.Object;
                                           p1 : LONGINT) : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getShort*(p0 : LONGINT) : SHORTINT,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getShort*(p0 : java_lang.Object;
                                  p1 : LONGINT) : SHORTINT,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getShort*(p0 : java_lang.Object;
                                  p1 : INTEGER) : SHORTINT,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) getShortVolatile*(p0 : java_lang.Object;
                                          p1 : LONGINT) : SHORTINT,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) monitorEnter*(p0 : java_lang.Object),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) monitorExit*(p0 : java_lang.Object),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) objectFieldOffset*(p0 : java_lang_reflect.Field) : LONGINT,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) pageSize*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) park*(p0 : BOOLEAN;
                              p1 : LONGINT),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putAddress*(p0 : LONGINT;
                                    p1 : LONGINT),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putBoolean*(p0 : java_lang.Object;
                                    p1 : INTEGER;
                                    p2 : BOOLEAN),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putBoolean*(p0 : java_lang.Object;
                                    p1 : LONGINT;
                                    p2 : BOOLEAN),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putBooleanVolatile*(p0 : java_lang.Object;
                                            p1 : LONGINT;
                                            p2 : BOOLEAN),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putByte*(p0 : java_lang.Object;
                                 p1 : INTEGER;
                                 p2 : BYTE),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putByte*(p0 : LONGINT;
                                 p1 : BYTE),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putByte*(p0 : java_lang.Object;
                                 p1 : LONGINT;
                                 p2 : BYTE),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putByteVolatile*(p0 : java_lang.Object;
                                         p1 : LONGINT;
                                         p2 : BYTE),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putChar*(p0 : java_lang.Object;
                                 p1 : INTEGER;
                                 p2 : CHAR),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putChar*(p0 : java_lang.Object;
                                 p1 : LONGINT;
                                 p2 : CHAR),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putChar*(p0 : LONGINT;
                                 p1 : CHAR),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putCharVolatile*(p0 : java_lang.Object;
                                         p1 : LONGINT;
                                         p2 : CHAR),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putDouble*(p0 : LONGINT;
                                   p1 : REAL),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putDouble*(p0 : java_lang.Object;
                                   p1 : LONGINT;
                                   p2 : REAL),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putDouble*(p0 : java_lang.Object;
                                   p1 : INTEGER;
                                   p2 : REAL),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putDoubleVolatile*(p0 : java_lang.Object;
                                           p1 : LONGINT;
                                           p2 : REAL),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putFloat*(p0 : LONGINT;
                                  p1 : SHORTREAL),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putFloat*(p0 : java_lang.Object;
                                  p1 : LONGINT;
                                  p2 : SHORTREAL),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putFloat*(p0 : java_lang.Object;
                                  p1 : INTEGER;
                                  p2 : SHORTREAL),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putFloatVolatile*(p0 : java_lang.Object;
                                          p1 : LONGINT;
                                          p2 : SHORTREAL),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putInt*(p0 : LONGINT;
                                p1 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putInt*(p0 : java_lang.Object;
                                p1 : INTEGER;
                                p2 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putInt*(p0 : java_lang.Object;
                                p1 : LONGINT;
                                p2 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putIntVolatile*(p0 : java_lang.Object;
                                        p1 : LONGINT;
                                        p2 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putLong*(p0 : java_lang.Object;
                                 p1 : INTEGER;
                                 p2 : LONGINT),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putLong*(p0 : java_lang.Object;
                                 p1 : LONGINT;
                                 p2 : LONGINT),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putLong*(p0 : LONGINT;
                                 p1 : LONGINT),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putLongVolatile*(p0 : java_lang.Object;
                                         p1 : LONGINT;
                                         p2 : LONGINT),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putObject*(p0 : java_lang.Object;
                                   p1 : LONGINT;
                                   p2 : java_lang.Object),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putObject*(p0 : java_lang.Object;
                                   p1 : INTEGER;
                                   p2 : java_lang.Object),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putObjectVolatile*(p0 : java_lang.Object;
                                           p1 : LONGINT;
                                           p2 : java_lang.Object),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putOrderedInt*(p0 : java_lang.Object;
                                       p1 : LONGINT;
                                       p2 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putOrderedLong*(p0 : java_lang.Object;
                                        p1 : LONGINT;
                                        p2 : LONGINT),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putOrderedObject*(p0 : java_lang.Object;
                                          p1 : LONGINT;
                                          p2 : java_lang.Object),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putShort*(p0 : LONGINT;
                                  p1 : SHORTINT),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putShort*(p0 : java_lang.Object;
                                  p1 : LONGINT;
                                  p2 : SHORTINT),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putShort*(p0 : java_lang.Object;
                                  p1 : INTEGER;
                                  p2 : SHORTINT),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) putShortVolatile*(p0 : java_lang.Object;
                                          p1 : LONGINT;
                                          p2 : SHORTINT),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) reallocateMemory*(p0 : LONGINT;
                                          p1 : LONGINT) : LONGINT,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) setMemory*(p0 : LONGINT;
                                   p1 : LONGINT;
                                   p2 : BYTE),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) staticFieldBase*(p0 : java_lang.Class) : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) staticFieldBase*(p0 : java_lang_reflect.Field) : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) staticFieldOffset*(p0 : java_lang_reflect.Field) : LONGINT,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) throwException*(p0 : java_lang.Throwable),NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) tryMonitorEnter*(p0 : java_lang.Object) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Unsafe) unpark*(p0 : java_lang.Object),NEW,EXTENSIBLE;

PROCEDURE (self:URLClassPath) addURL*(p0 : java_net.URL),NEW,EXTENSIBLE;

PROCEDURE (self:URLClassPath) checkURL*(p0 : java_net.URL) : java_net.URL,NEW,EXTENSIBLE;

PROCEDURE (self:URLClassPath) findResource*(p0 : java_lang.String;
                                            p1 : BOOLEAN) : java_net.URL,NEW,EXTENSIBLE;

PROCEDURE (self:URLClassPath) findResources*(p0 : java_lang.String;
                                             p1 : BOOLEAN) : java_util.Enumeration,NEW,EXTENSIBLE;

PROCEDURE (self:URLClassPath) getResource*(p0 : java_lang.String) : Resource,NEW,EXTENSIBLE;

PROCEDURE (self:URLClassPath) getResource*(p0 : java_lang.String;
                                           p1 : BOOLEAN) : Resource,NEW,EXTENSIBLE;

PROCEDURE (self:URLClassPath) getResources*(p0 : java_lang.String) : java_util.Enumeration,NEW,EXTENSIBLE;

PROCEDURE (self:URLClassPath) getResources*(p0 : java_lang.String;
                                            p1 : BOOLEAN) : java_util.Enumeration,NEW,EXTENSIBLE;

PROCEDURE (self:URLClassPath) getURLs*() : POINTER TO ARRAY OF java_net.URL,NEW,EXTENSIBLE;

PROCEDURE (self:UUDecoder) bytesPerAtom!() : INTEGER,EXTENSIBLE;

PROCEDURE (self:UUDecoder) bytesPerLine!() : INTEGER,EXTENSIBLE;

PROCEDURE (self:UUDecoder) decodeAtom!(p0 : java_io.PushbackInputStream;
                                       p1 : java_io.OutputStream;
                                       p2 : INTEGER),EXTENSIBLE;

PROCEDURE (self:UUDecoder) decodeBufferPrefix!(p0 : java_io.PushbackInputStream;
                                               p1 : java_io.OutputStream),EXTENSIBLE;

PROCEDURE (self:UUDecoder) decodeBufferSuffix!(p0 : java_io.PushbackInputStream;
                                               p1 : java_io.OutputStream),EXTENSIBLE;

PROCEDURE (self:UUDecoder) decodeLinePrefix!(p0 : java_io.PushbackInputStream;
                                             p1 : java_io.OutputStream) : INTEGER,EXTENSIBLE;

PROCEDURE (self:UUDecoder) decodeLineSuffix!(p0 : java_io.PushbackInputStream;
                                             p1 : java_io.OutputStream),EXTENSIBLE;

PROCEDURE (self:UUEncoder) bytesPerAtom!() : INTEGER,EXTENSIBLE;

PROCEDURE (self:UUEncoder) bytesPerLine!() : INTEGER,EXTENSIBLE;

PROCEDURE (self:UUEncoder) encodeAtom!(    p0 : java_io.OutputStream;
                                       IN  p1 : ARRAY OF BYTE;
                                           p2 : INTEGER;
                                           p3 : INTEGER),EXTENSIBLE;

PROCEDURE (self:UUEncoder) encodeBufferPrefix!(p0 : java_io.OutputStream),EXTENSIBLE;

PROCEDURE (self:UUEncoder) encodeBufferSuffix!(p0 : java_io.OutputStream),EXTENSIBLE;

PROCEDURE (self:UUEncoder) encodeLinePrefix!(p0 : java_io.OutputStream;
                                             p1 : INTEGER),EXTENSIBLE;

PROCEDURE (self:UUEncoder) encodeLineSuffix!(p0 : java_io.OutputStream),EXTENSIBLE;

PROCEDURE (self:VMNotification) newAllocState*(p0 : INTEGER;
                                               p1 : INTEGER;
                                               p2 : BOOLEAN),NEW,ABSTRACT;

END sun_misc.