FOREIGN MODULE sun_util;

IMPORT
    java_util := "java.util",
    java_lang := "java.lang",
    sun_util_calendar := "sun.util.calendar",
    java_io := "java.io",
    java_text := "java.text",
    java_util_concurrent := "java.util.concurrent",
    java_lang_ref := "java.lang.ref",
    java_security := "java.security",
    java_util_spi := "java.util.spi",
    sun_util_resources := "sun.util.resources";

TYPE

  BuddhistCalendar* = POINTER TO EXTENSIBLE RECORD (java_util.GregorianCalendar)    (* Typebound Procedures *)
                      STATIC
                        PROCEDURE Init*(p0 : java_util.Locale) : BuddhistCalendar,CONSTRUCTOR;
                        PROCEDURE Init*(p0 : java_util.TimeZone;
                                        p1 : java_util.Locale) : BuddhistCalendar,CONSTRUCTOR;
                        PROCEDURE Init*() : BuddhistCalendar,CONSTRUCTOR;
                        PROCEDURE Init*(p0 : java_util.TimeZone) : BuddhistCalendar,CONSTRUCTOR;
                      END;

  CoreResourceBundleControl* = POINTER TO EXTENSIBLE RECORD (java_util.ResourceBundle$Control)    (* Typebound Procedures *)
                               STATIC
                                 PROCEDURE getRBControlInstance*(p0 : java_lang.String) : CoreResourceBundleControl;
                                 PROCEDURE getRBControlInstance*() : CoreResourceBundleControl;
                                 PROCEDURE Init!() : CoreResourceBundleControl,CONSTRUCTOR;
                               END;

  EmptyListResourceBundle* = POINTER TO EXTENSIBLE RECORD (java_util.ListResourceBundle)    (* Typebound Procedures *)
                             STATIC
                               PROCEDURE Init*() : EmptyListResourceBundle,CONSTRUCTOR;
                             END;

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

  LocaleServiceProviderPool* = POINTER TO RECORD (java_lang.Object)    (* Typebound Procedures *)
                               STATIC
                                 PROCEDURE getAllAvailableLocales*() : POINTER TO ARRAY OF java_util.Locale;
                                 PROCEDURE getPool*(p0 : java_lang.Class) : LocaleServiceProviderPool;
                               END;

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

  PreHashedMap* = POINTER TO ABSTRACT RECORD (java_util.AbstractMap)    (* Typebound Procedures *)
                  STATIC
                    PROCEDURE Init!(p0 : INTEGER;
                                    p1 : INTEGER;
                                    p2 : INTEGER;
                                    p3 : INTEGER) : PreHashedMap,CONSTRUCTOR;
                  END;

  ResourceBundleEnumeration* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + java_util.Enumeration)    (* Typebound Procedures *)
                               STATIC
                                 PROCEDURE Init*(p0 : java_util.Set;
                                                 p1 : java_util.Enumeration) : ResourceBundleEnumeration,CONSTRUCTOR;
                               END;

  TimeZoneNameUtility* = POINTER TO RECORD (java_lang.Object)
                         STATIC
                           PROCEDURE getZoneStrings*(p0 : java_util.Locale) : POINTER TO ARRAY OF java_lang.String;
                           PROCEDURE Init*() : TimeZoneNameUtility,CONSTRUCTOR;
                           PROCEDURE retrieveDisplayNames*(p0 : java_lang.String;
                                                           p1 : java_util.Locale) : POINTER TO ARRAY OF java_lang.String;
                         END;




PROCEDURE (self:BuddhistCalendar) add*(p0 : INTEGER;
                                       p1 : INTEGER),EXTENSIBLE;

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

PROCEDURE (self:BuddhistCalendar) get*(p0 : INTEGER) : INTEGER,EXTENSIBLE;

PROCEDURE (self:BuddhistCalendar) getActualMaximum*(p0 : INTEGER) : INTEGER,EXTENSIBLE;

PROCEDURE (self:BuddhistCalendar) getDisplayName*(p0 : INTEGER;
                                                  p1 : INTEGER;
                                                  p2 : java_util.Locale) : java_lang.String,EXTENSIBLE;

PROCEDURE (self:BuddhistCalendar) getDisplayNames*(p0 : INTEGER;
                                                   p1 : INTEGER;
                                                   p2 : java_util.Locale) : java_util.Map,EXTENSIBLE;

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

PROCEDURE (self:BuddhistCalendar) roll*(p0 : INTEGER;
                                        p1 : INTEGER),EXTENSIBLE;

PROCEDURE (self:BuddhistCalendar) set*(p0 : INTEGER;
                                       p1 : INTEGER),EXTENSIBLE;

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

PROCEDURE (self:CoreResourceBundleControl) getCandidateLocales*(p0 : java_lang.String;
                                                                p1 : java_util.Locale) : java_util.List,EXTENSIBLE;

PROCEDURE (self:CoreResourceBundleControl) getTimeToLive*(p0 : java_lang.String;
                                                          p1 : java_util.Locale) : LONGINT,EXTENSIBLE;

PROCEDURE (self:EmptyListResourceBundle) getContents!() : POINTER TO ARRAY OF java_lang.Object;

PROCEDURE (self:LocaleServiceProviderPool) getAvailableLocales*() : POINTER TO ARRAY OF java_util.Locale,NEW,EXTENSIBLE;

PROCEDURE (self:LocaleServiceProviderPool) getLocalizedObject*(    p0 : LocaleServiceProviderPool$LocalizedObjectGetter;
                                                                   p1 : java_util.Locale;
                                                               IN  p2 : ARRAY OF java_lang.Object) : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:LocaleServiceProviderPool) getLocalizedObject*(    p0 : LocaleServiceProviderPool$LocalizedObjectGetter;
                                                                   p1 : java_util.Locale;
                                                                   p2 : sun_util_resources.OpenListResourceBundle;
                                                                   p3 : java_lang.String;
                                                               IN  p4 : ARRAY OF java_lang.Object) : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:LocaleServiceProviderPool) hasProviders*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:LocaleServiceProviderPool$LocalizedObjectGetter) getObject*(    p0 : java_lang.Object;
                                                                                p1 : java_util.Locale;
                                                                                p2 : java_lang.String;
                                                                            IN  p3 : ARRAY OF java_lang.Object) : java_lang.Object,NEW,ABSTRACT;

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

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

PROCEDURE (self:PreHashedMap) init!(IN  p0 : ARRAY OF java_lang.Object),NEW,ABSTRACT;

PROCEDURE (self:PreHashedMap) keySet*() : java_util.Set,EXTENSIBLE;

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

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

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

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

PROCEDURE (self:ResourceBundleEnumeration) nextElement*() : java_lang.String,NEW,EXTENSIBLE;

END sun_util.