FOREIGN MODULE sun_text_normalizer;

IMPORT
    java_text := "java.text",
    java_lang := "java.lang",
    java_io := "java.io",
    java_security := "java.security",
    java_util := "java.util";

TYPE

  CharacterIteratorWrapper* = POINTER TO EXTENSIBLE RECORD (UCharacterIterator)    (* Typebound Procedures *)
                              STATIC
                                PROCEDURE Init*(p0 : java_text.CharacterIterator) : CharacterIteratorWrapper,CONSTRUCTOR;
                              END;

  CharTrie* = POINTER TO EXTENSIBLE RECORD (Trie)    (* Typebound Procedures *)
              STATIC
                PROCEDURE Init*(p0 : java_io.InputStream;
                                p1 : Trie$DataManipulate) : CharTrie,CONSTRUCTOR;
              END;

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

  ICUBinary* = POINTER TO RECORD (java_lang.Object)
               STATIC
                 PROCEDURE Init*() : ICUBinary,CONSTRUCTOR;
                 PROCEDURE readHeader*(    p0 : java_io.InputStream;
                                       IN  p1 : ARRAY OF BYTE;
                                           p2 : ICUBinary$Authenticate) : POINTER TO ARRAY OF BYTE;
               END;

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

  ICUData* = POINTER TO RECORD (java_lang.Object)
             STATIC
               PROCEDURE getRequiredStream*(p0 : java_lang.String) : java_io.InputStream;
               PROCEDURE getStream*(p0 : java_lang.String) : java_io.InputStream;
               PROCEDURE Init*() : ICUData,CONSTRUCTOR;
             END;

  IntTrie* = POINTER TO EXTENSIBLE RECORD (Trie)    (* Typebound Procedures *)
             STATIC
               PROCEDURE Init*(p0 : java_io.InputStream;
                               p1 : Trie$DataManipulate) : IntTrie,CONSTRUCTOR;
             END;

  NormalizerBase* = POINTER TO RECORD (java_lang.Object + java_lang.Cloneable)    (* Typebound Procedures *)
                    STATIC
                      DONE*                   = -1;
                      MAYBE*                  : NormalizerBase$QuickCheckResult;
                      NFC*                    : NormalizerBase$Mode;
                      NFD*                    : NormalizerBase$Mode;
                      NFKC*                   : NormalizerBase$Mode;
                      NFKD*                   : NormalizerBase$Mode;
                      NO*                     : NormalizerBase$QuickCheckResult;
                      NONE*                   : NormalizerBase$Mode;
                      UNICODE_3_2*            = 32;
                      UNICODE_3_2_0_ORIGINAL* = 262432;
                      UNICODE_LATEST*         = 0;
                      YES*                    : NormalizerBase$QuickCheckResult;
                      PROCEDURE compose*(p0 : java_lang.String;
                                         p1 : BOOLEAN;
                                         p2 : INTEGER) : java_lang.String;
                      PROCEDURE decompose*(p0 : java_lang.String;
                                           p1 : BOOLEAN) : java_lang.String;
                      PROCEDURE decompose*(p0 : java_lang.String;
                                           p1 : BOOLEAN;
                                           p2 : INTEGER) : java_lang.String;
                      PROCEDURE Init*(p0 : java_lang.String;
                                      p1 : NormalizerBase$Mode;
                                      p2 : INTEGER) : NormalizerBase,CONSTRUCTOR;
                      PROCEDURE Init*(p0 : java_lang.String;
                                      p1 : NormalizerBase$Mode) : NormalizerBase,CONSTRUCTOR;
                      PROCEDURE Init*(p0 : java_text.CharacterIterator;
                                      p1 : NormalizerBase$Mode;
                                      p2 : INTEGER) : NormalizerBase,CONSTRUCTOR;
                      PROCEDURE Init*(p0 : java_text.CharacterIterator;
                                      p1 : NormalizerBase$Mode) : NormalizerBase,CONSTRUCTOR;
                      PROCEDURE isNFSkippable*(p0 : INTEGER;
                                               p1 : NormalizerBase$Mode) : BOOLEAN;
                      PROCEDURE isNormalized*(p0 : java_lang.String;
                                              p1 : java_text.Normalizer$Form) : BOOLEAN;
                      PROCEDURE isNormalized*(p0 : java_lang.String;
                                              p1 : java_text.Normalizer$Form;
                                              p2 : INTEGER) : BOOLEAN;
                      PROCEDURE normalize*(p0 : java_lang.String;
                                           p1 : java_text.Normalizer$Form;
                                           p2 : INTEGER) : java_lang.String;
                      PROCEDURE normalize*(IN  p0 : ARRAY OF CHAR;
                                               p1 : INTEGER;
                                               p2 : INTEGER;
                                           IN  p3 : ARRAY OF CHAR;
                                               p4 : INTEGER;
                                               p5 : INTEGER;
                                               p6 : NormalizerBase$Mode;
                                               p7 : INTEGER) : INTEGER;
                      PROCEDURE normalize*(p0 : java_lang.String;
                                           p1 : java_text.Normalizer$Form) : java_lang.String;
                    END;

  NormalizerBase$Mode* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                         END;

  NormalizerBase$QuickCheckResult* = POINTER TO RECORD (java_lang.Object)
                                     END;

  NormalizerImpl* = POINTER TO RECORD (java_lang.Object)
                    STATIC
                      BEFORE_PRI_29*                         = 256;
                      CC_MASK*                               = 65280;
                      COMBINES_ANY*                          = 192;
                      HANGUL_BASE*                           = 44032;
                      HANGUL_COUNT*                          = 11172;
                      INDEX_MIN_NFC_NO_MAYBE*                = 6;
                      INDEX_MIN_NFD_NO_MAYBE*                = 8;
                      INDEX_MIN_NFKC_NO_MAYBE*               = 7;
                      INDEX_MIN_NFKD_NO_MAYBE*               = 9;
                      JAMO_L_BASE*                           = 4352;
                      JAMO_L_COUNT*                          = 19;
                      JAMO_T_BASE*                           = 4519;
                      JAMO_T_COUNT*                          = 28;
                      JAMO_V_BASE*                           = 4449;
                      JAMO_V_COUNT*                          = 21;
                      MIN_WITH_LEAD_CC*                      = 768;
                      OPTIONS_COMPAT*                        = 4096;
                      OPTIONS_COMPOSE_CONTIGUOUS*            = 8192;
                      OPTIONS_SETS_MASK*                     = 255;
                      QC_ANY_MAYBE*                          = 48;
                      QC_ANY_NO*                             = 15;
                      QC_MASK*                               = 63;
                      QC_MAYBE*                              = 16;
                      QC_NFC*                                = 17;
                      QC_NFD*                                = 4;
                      QC_NFKC*                               = 34;
                      QC_NFKD*                               = 8;
                      WITHOUT_CORRIGENDUM4_CORRECTIONS*      = 262144;
                      PROCEDURE addPropertyStarts*(p0 : UnicodeSet) : UnicodeSet;
                      PROCEDURE canonicalDecomposeWithSingleQuotation*(p0 : java_lang.String) : java_lang.String;
                      PROCEDURE compose*(IN  p0 : ARRAY OF CHAR;
                                             p1 : INTEGER;
                                             p2 : INTEGER;
                                         IN  p3 : ARRAY OF CHAR;
                                             p4 : INTEGER;
                                             p5 : INTEGER;
                                             p6 : INTEGER;
                                             p7 : UnicodeSet) : INTEGER;
                      PROCEDURE convert*(p0 : java_lang.String) : java_lang.String;
                      PROCEDURE decompose*(IN  p0 : ARRAY OF CHAR;
                                               p1 : INTEGER;
                                               p2 : INTEGER;
                                           IN  p3 : ARRAY OF CHAR;
                                               p4 : INTEGER;
                                               p5 : INTEGER;
                                               p6 : BOOLEAN;
                                           IN  p7 : ARRAY OF INTEGER;
                                               p8 : UnicodeSet) : INTEGER;
                      PROCEDURE getCombiningClass*(p0 : INTEGER) : INTEGER;
                      PROCEDURE getDecompose*(IN  p0 : ARRAY OF INTEGER;
                                              IN  p1 : ARRAY OF java_lang.String) : INTEGER;
                      PROCEDURE getFCD16*(p0 : CHAR) : CHAR;
                      PROCEDURE getFCD16*(p0 : INTEGER) : INTEGER;
                      PROCEDURE getFCD16FromSurrogatePair*(p0 : CHAR;
                                                           p1 : CHAR) : CHAR;
                      PROCEDURE getFromIndexesArr*(p0 : INTEGER) : INTEGER;
                      PROCEDURE getNorm32*(p0 : CHAR) : LONGINT;
                      PROCEDURE getNorm32FromSurrogatePair*(p0 : LONGINT;
                                                            p1 : CHAR) : LONGINT;
                      PROCEDURE getNX*(p0 : INTEGER) : UnicodeSet;
                      PROCEDURE getUnicodeVersion*() : VersionInfo;
                      PROCEDURE isCanonSafeStart*(p0 : INTEGER) : BOOLEAN;
                      PROCEDURE isFullCompositionExclusion*(p0 : INTEGER) : BOOLEAN;
                      PROCEDURE isNFDSafe*(p0 : LONGINT;
                                           p1 : INTEGER;
                                           p2 : INTEGER) : BOOLEAN;
                      PROCEDURE isNFSkippable*(p0 : INTEGER;
                                               p1 : NormalizerBase$Mode;
                                               p2 : LONGINT) : BOOLEAN;
                      PROCEDURE isTrueStarter*(p0 : LONGINT;
                                               p1 : INTEGER;
                                               p2 : INTEGER) : BOOLEAN;
                      PROCEDURE quickCheck*(p0 : INTEGER;
                                            p1 : INTEGER) : INTEGER;
                      PROCEDURE quickCheck*(IN  p0 : ARRAY OF CHAR;
                                                p1 : INTEGER;
                                                p2 : INTEGER;
                                                p3 : INTEGER;
                                                p4 : INTEGER;
                                                p5 : INTEGER;
                                                p6 : BOOLEAN;
                                                p7 : UnicodeSet) : NormalizerBase$QuickCheckResult;
                    END;

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

  RangeValueIterator$Element* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                                  start* : INTEGER;
                                  limit* : INTEGER;
                                  value* : INTEGER;
                                STATIC
                                  PROCEDURE Init*() : RangeValueIterator$Element,CONSTRUCTOR;
                                END;

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

  ReplaceableString* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + Replaceable)    (* Typebound Procedures *)
                       STATIC
                         PROCEDURE Init*(p0 : java_lang.StringBuffer) : ReplaceableString,CONSTRUCTOR;
                         PROCEDURE Init*(p0 : java_lang.String) : ReplaceableString,CONSTRUCTOR;
                       END;

  ReplaceableUCharacterIterator* = POINTER TO EXTENSIBLE RECORD (UCharacterIterator)    (* Typebound Procedures *)
                                   STATIC
                                     PROCEDURE Init*(p0 : java_lang.StringBuffer) : ReplaceableUCharacterIterator,CONSTRUCTOR;
                                     PROCEDURE Init*(p0 : java_lang.String) : ReplaceableUCharacterIterator,CONSTRUCTOR;
                                   END;

  RuleCharacterIterator* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                           STATIC
                             DONE*            = -1;
                             PARSE_ESCAPES*   = 2;
                             PARSE_VARIABLES* = 1;
                             SKIP_WHITESPACE* = 4;
                             PROCEDURE Init*(p0 : java_lang.String;
                                             p1 : SymbolTable;
                                             p2 : java_text.ParsePosition) : RuleCharacterIterator,CONSTRUCTOR;
                           END;

  SymbolTable* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                 STATIC
                   SYMBOL_REF* = 36;
                 END;

  Trie* = POINTER TO ABSTRACT RECORD (java_lang.Object)    (* Typebound Procedures *)
            m_index_!          : POINTER TO ARRAY OF CHAR;
            m_dataManipulate_! : Trie$DataManipulate;
            m_dataOffset_!     : INTEGER;
            m_dataLength_!     : INTEGER;
          STATIC
            INDEX_STAGE_1_SHIFT_! = 5;
            INDEX_STAGE_2_SHIFT_! = 2;
            INDEX_STAGE_3_MASK_!  = 31;
            LEAD_INDEX_OFFSET_!   = 320;
            SURROGATE_MASK_!      = 1023;
            PROCEDURE Init!(IN  p0 : ARRAY OF CHAR;
                                p1 : INTEGER;
                                p2 : Trie$DataManipulate) : Trie,CONSTRUCTOR;
            PROCEDURE Init!(p0 : java_io.InputStream;
                            p1 : Trie$DataManipulate) : Trie,CONSTRUCTOR;
          END;

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

  TrieIterator* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + RangeValueIterator)    (* Typebound Procedures *)
                  STATIC
                    PROCEDURE Init*(p0 : Trie) : TrieIterator,CONSTRUCTOR;
                  END;

  UCharacter* = POINTER TO RECORD (java_lang.Object)
                STATIC
                  MAX_VALUE*               = 1114111;
                  MIN_VALUE*               = 0;
                  NO_NUMERIC_VALUE*        = -1.23456789E8;
                  SUPPLEMENTARY_MIN_VALUE* = 65536;
                  PROCEDURE digit*(p0 : INTEGER;
                                   p1 : INTEGER) : INTEGER;
                  PROCEDURE foldCase*(p0 : java_lang.String;
                                      p1 : BOOLEAN) : java_lang.String;
                  PROCEDURE getAge*(p0 : INTEGER) : VersionInfo;
                  PROCEDURE getCodePoint*(p0 : CHAR;
                                          p1 : CHAR) : INTEGER;
                  PROCEDURE getDirection*(p0 : INTEGER) : INTEGER;
                  PROCEDURE getIntPropertyValue*(p0 : INTEGER;
                                                 p1 : INTEGER) : INTEGER;
                  PROCEDURE getType*(p0 : INTEGER) : INTEGER;
                  PROCEDURE getUnicodeNumericValue*(p0 : INTEGER) : REAL;
                END;

  UCharacter$ECharacterCategory* = POINTER TO INTERFACE RECORD (java_lang.Object)
                                   STATIC
                                     OTHER_LETTER*     = 5;
                                     TITLECASE_LETTER* = 3;
                                     UPPERCASE_LETTER* = 1;
                                   END;

  UCharacter$HangulSyllableType* = POINTER TO INTERFACE RECORD (java_lang.Object)
                                   STATIC
                                     COUNT*          = 6;
                                     LEADING_JAMO*   = 1;
                                     LVT_SYLLABLE*   = 5;
                                     LV_SYLLABLE*    = 4;
                                     NOT_APPLICABLE* = 0;
                                     TRAILING_JAMO*  = 3;
                                     VOWEL_JAMO*     = 2;
                                   END;

  UCharacter$NumericType* = POINTER TO INTERFACE RECORD (java_lang.Object)
                            STATIC
                              COUNT*   = 4;
                              DECIMAL* = 1;
                              DIGIT*   = 2;
                              NONE*    = 0;
                              NUMERIC* = 3;
                            END;

  UCharacterIterator* = POINTER TO ABSTRACT RECORD (java_lang.Object + java_lang.Cloneable)    (* Typebound Procedures *)
                        STATIC
                          DONE*        = -1;
                          PROCEDURE getInstance*(p0 : java_lang.StringBuffer) : UCharacterIterator;
                          PROCEDURE getInstance*(p0 : java_text.CharacterIterator) : UCharacterIterator;
                          PROCEDURE getInstance*(p0 : java_lang.String) : UCharacterIterator;
                          PROCEDURE Init!() : UCharacterIterator,CONSTRUCTOR;
                        END;

  UCharacterProperty* = POINTER TO RECORD (java_lang.Object + Trie$DataManipulate)    (* Typebound Procedures *)
                          m_trie_*             : CharTrie;
                          m_trieIndex_*        : POINTER TO ARRAY OF CHAR;
                          m_trieData_*         : POINTER TO ARRAY OF CHAR;
                          m_trieInitialValue_* : INTEGER;
                          m_property_*         : POINTER TO ARRAY OF INTEGER;
                          m_unicodeVersion_*   : VersionInfo;
                        STATIC
                          EXCEPTION_MASK*         = 32;
                          EXC_CASE_FOLDING_*      = 8;
                          EXC_COMBINING_CLASS_*   = 9;
                          EXC_DENOMINATOR_VALUE_* = 5;
                          EXC_LOWERCASE_*         = 1;
                          EXC_MIRROR_MAPPING_*    = 6;
                          EXC_NUMERIC_VALUE_*     = 4;
                          EXC_SPECIAL_CASING_*    = 7;
                          EXC_TITLECASE_*         = 2;
                          EXC_UNUSED_*            = 3;
                          EXC_UPPERCASE_*         = 0;
                          LATIN_SMALL_LETTER_I_*  = 105;
                          TYPE_MASK*              = 31;
                          PROCEDURE getExceptionIndex*(p0 : INTEGER) : INTEGER;
                          PROCEDURE getInstance*() : UCharacterProperty;
                          PROCEDURE getRawSupplementary*(p0 : CHAR;
                                                         p1 : CHAR) : INTEGER;
                          PROCEDURE getSignedValue*(p0 : INTEGER) : INTEGER;
                          PROCEDURE isRuleWhiteSpace*(p0 : INTEGER) : BOOLEAN;
                        END;

  UnicodeMatcher* = POINTER TO INTERFACE RECORD (java_lang.Object)
                    STATIC
                      ETHER* = 65535;
                    END;

  UnicodeSet* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + UnicodeMatcher)    (* Typebound Procedures *)
                STATIC
                  IGNORE_SPACE* = 1;
                  MAX_VALUE*    = 1114111;
                  MIN_VALUE*    = 0;
                  PROCEDURE Init*(p0 : java_lang.String) : UnicodeSet,CONSTRUCTOR;
                  PROCEDURE Init*(p0 : INTEGER;
                                  p1 : INTEGER) : UnicodeSet,CONSTRUCTOR;
                  PROCEDURE Init*() : UnicodeSet,CONSTRUCTOR;
                END;

  UnicodeSetIterator* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                          codepoint*    : INTEGER;
                          codepointEnd* : INTEGER;
                          string*       : java_lang.String;
                          endElement!   : INTEGER;
                          nextElement!  : INTEGER;
                        STATIC
                          IS_STRING* : INTEGER;
                          PROCEDURE Init*(p0 : UnicodeSet) : UnicodeSetIterator,CONSTRUCTOR;
                        END;

  UProperty* = POINTER TO INTERFACE RECORD (java_lang.Object)
               STATIC
                 GENERAL_CATEGORY_MASK* = 8192;
                 HANGUL_SYLLABLE_TYPE*  = 4107;
               END;

  UTF16* = POINTER TO RECORD (java_lang.Object)
           STATIC
             CODEPOINT_MAX_VALUE*       = 1114111;
             CODEPOINT_MIN_VALUE*       = 0;
             LEAD_SURROGATE_MAX_VALUE*  = 56319;
             LEAD_SURROGATE_MIN_VALUE*  = 55296;
             SUPPLEMENTARY_MIN_VALUE*   = 65536;
             SURROGATE_MIN_VALUE*       = 55296;
             TRAIL_SURROGATE_MAX_VALUE* = 57343;
             TRAIL_SURROGATE_MIN_VALUE* = 56320;
             PROCEDURE append*(p0 : java_lang.StringBuffer;
                               p1 : INTEGER) : java_lang.StringBuffer;
             PROCEDURE charAt*(IN  p0 : ARRAY OF CHAR;
                                   p1 : INTEGER;
                                   p2 : INTEGER;
                                   p3 : INTEGER) : INTEGER;
             PROCEDURE charAt*(p0 : java_lang.String;
                               p1 : INTEGER) : INTEGER;
             PROCEDURE getCharCount*(p0 : INTEGER) : INTEGER;
             PROCEDURE getLeadSurrogate*(p0 : INTEGER) : CHAR;
             PROCEDURE getTrailSurrogate*(p0 : INTEGER) : CHAR;
             PROCEDURE Init*() : UTF16,CONSTRUCTOR;
             PROCEDURE isLeadSurrogate*(p0 : CHAR) : BOOLEAN;
             PROCEDURE isSurrogate*(p0 : CHAR) : BOOLEAN;
             PROCEDURE isTrailSurrogate*(p0 : CHAR) : BOOLEAN;
             PROCEDURE moveCodePointOffset*(IN  p0 : ARRAY OF CHAR;
                                                p1 : INTEGER;
                                                p2 : INTEGER;
                                                p3 : INTEGER;
                                                p4 : INTEGER) : INTEGER;
             PROCEDURE valueOf*(p0 : INTEGER) : java_lang.String;
           END;

  Utility* = POINTER TO RECORD (java_lang.Object)
             STATIC
               PROCEDURE appendNumber*(p0 : java_lang.StringBuffer;
                                       p1 : INTEGER;
                                       p2 : INTEGER;
                                       p3 : INTEGER) : java_lang.StringBuffer;
               PROCEDURE arrayRegionMatches*(IN  p0 : ARRAY OF CHAR;
                                                 p1 : INTEGER;
                                             IN  p2 : ARRAY OF CHAR;
                                                 p3 : INTEGER;
                                                 p4 : INTEGER) : BOOLEAN;
               PROCEDURE escape*(p0 : java_lang.String) : java_lang.String;
               PROCEDURE escapeUnprintable*(p0 : java_lang.StringBuffer;
                                            p1 : INTEGER) : BOOLEAN;
               PROCEDURE getChars*(    p0 : java_lang.StringBuffer;
                                       p1 : INTEGER;
                                       p2 : INTEGER;
                                   IN  p3 : ARRAY OF CHAR;
                                       p4 : INTEGER);
               PROCEDURE hex*(p0 : INTEGER;
                              p1 : INTEGER;
                              p2 : java_lang.StringBuffer) : java_lang.StringBuffer;
               PROCEDURE hex*(p0 : INTEGER;
                              p1 : INTEGER) : java_lang.String;
               PROCEDURE Init*() : Utility,CONSTRUCTOR;
               PROCEDURE isUnprintable*(p0 : INTEGER) : BOOLEAN;
               PROCEDURE skipWhitespace*(p0 : java_lang.String;
                                         p1 : INTEGER) : INTEGER;
               PROCEDURE unescapeAt*(    p0 : java_lang.String;
                                     IN  p1 : ARRAY OF INTEGER) : INTEGER;
             END;

  VersionInfo* = POINTER TO RECORD (java_lang.Object)    (* Typebound Procedures *)
                 STATIC
                   PROCEDURE getInstance*(p0 : INTEGER;
                                          p1 : INTEGER;
                                          p2 : INTEGER;
                                          p3 : INTEGER) : VersionInfo;
                   PROCEDURE getInstance*(p0 : java_lang.String) : VersionInfo;
                 END;




PROCEDURE (self:CharacterIteratorWrapper) clone*() : java_lang.Object,EXTENSIBLE;

PROCEDURE (self:CharacterIteratorWrapper) current*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:CharacterIteratorWrapper) getIndex*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:CharacterIteratorWrapper) getLength*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:CharacterIteratorWrapper) getText*(IN  p0 : ARRAY OF CHAR;
                                                       p1 : INTEGER) : INTEGER,EXTENSIBLE;

PROCEDURE (self:CharacterIteratorWrapper) next*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:CharacterIteratorWrapper) previous*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:CharacterIteratorWrapper) setIndex*(p0 : INTEGER),EXTENSIBLE;

PROCEDURE (self:CharTrie) getCodePointValue*(p0 : INTEGER) : CHAR,NEW;

PROCEDURE (self:CharTrie) getInitialValue!() : INTEGER;

PROCEDURE (self:CharTrie) getLeadValue*(p0 : CHAR) : CHAR,NEW;

PROCEDURE (self:CharTrie) getSurrogateOffset!(p0 : CHAR;
                                              p1 : CHAR) : INTEGER;

PROCEDURE (self:CharTrie) getSurrogateValue*(p0 : CHAR;
                                             p1 : CHAR) : CHAR,NEW;

PROCEDURE (self:CharTrie) getTrailValue*(p0 : INTEGER;
                                         p1 : CHAR) : CHAR,NEW;

PROCEDURE (self:CharTrie) getValue!(p0 : INTEGER) : INTEGER;

PROCEDURE (self:CharTrie) putIndexData*(p0 : UCharacterProperty),NEW,EXTENSIBLE;

PROCEDURE (self:CharTrie) unserialize!(p0 : java_io.InputStream);

PROCEDURE (self:CharTrie$FriendAgent) getPrivateData*() : POINTER TO ARRAY OF CHAR,NEW,EXTENSIBLE;

PROCEDURE (self:CharTrie$FriendAgent) getPrivateIndex*() : POINTER TO ARRAY OF CHAR,NEW,EXTENSIBLE;

PROCEDURE (self:CharTrie$FriendAgent) getPrivateInitialValue*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:ICUBinary$Authenticate) isDataVersionAcceptable*(IN  p0 : ARRAY OF BYTE) : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:IntTrie) getCodePointValue*(p0 : INTEGER) : INTEGER,NEW;

PROCEDURE (self:IntTrie) getInitialValue!() : INTEGER;

PROCEDURE (self:IntTrie) getLeadValue*(p0 : CHAR) : INTEGER,NEW;

PROCEDURE (self:IntTrie) getSurrogateOffset!(p0 : CHAR;
                                             p1 : CHAR) : INTEGER;

PROCEDURE (self:IntTrie) getTrailValue*(p0 : INTEGER;
                                        p1 : CHAR) : INTEGER,NEW;

PROCEDURE (self:IntTrie) getValue!(p0 : INTEGER) : INTEGER;

PROCEDURE (self:IntTrie) unserialize!(p0 : java_io.InputStream);

PROCEDURE (self:NormalizerBase) clone*() : java_lang.Object,EXTENSIBLE;

PROCEDURE (self:NormalizerBase) current*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:NormalizerBase) endIndex*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:NormalizerBase) getBeginIndex*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:NormalizerBase) getEndIndex*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:NormalizerBase) getIndex*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:NormalizerBase) getMode*() : NormalizerBase$Mode,NEW,EXTENSIBLE;

PROCEDURE (self:NormalizerBase) next*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:NormalizerBase) previous*() : INTEGER,NEW,EXTENSIBLE;

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

PROCEDURE (self:NormalizerBase) setIndex*(p0 : INTEGER) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:NormalizerBase) setIndexOnly*(p0 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:NormalizerBase) setMode*(p0 : NormalizerBase$Mode),NEW,EXTENSIBLE;

PROCEDURE (self:NormalizerBase) setText*(p0 : java_text.CharacterIterator),NEW,EXTENSIBLE;

PROCEDURE (self:NormalizerBase) setText*(p0 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:NormalizerBase$Mode) getMask!() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:NormalizerBase$Mode) getMinC!() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:NormalizerBase$Mode) getNextBoundary!() : NormalizerBase$IsNextBoundary,NEW,EXTENSIBLE;

PROCEDURE (self:NormalizerBase$Mode) getPrevBoundary!() : NormalizerBase$IsPrevBoundary,NEW,EXTENSIBLE;

PROCEDURE (self:NormalizerBase$Mode) isNFSkippable!(p0 : INTEGER) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:NormalizerBase$Mode) normalize!(IN  p0 : ARRAY OF CHAR;
                                                    p1 : INTEGER;
                                                    p2 : INTEGER;
                                                IN  p3 : ARRAY OF CHAR;
                                                    p4 : INTEGER;
                                                    p5 : INTEGER;
                                                    p6 : INTEGER) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:NormalizerBase$Mode) normalize!(p0 : java_lang.String;
                                                p1 : INTEGER) : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:NormalizerBase$Mode) normalize!(IN  p0 : ARRAY OF CHAR;
                                                    p1 : INTEGER;
                                                    p2 : INTEGER;
                                                IN  p3 : ARRAY OF CHAR;
                                                    p4 : INTEGER;
                                                    p5 : INTEGER;
                                                    p6 : UnicodeSet) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:NormalizerBase$Mode) quickCheck!(IN  p0 : ARRAY OF CHAR;
                                                     p1 : INTEGER;
                                                     p2 : INTEGER;
                                                     p3 : BOOLEAN;
                                                     p4 : UnicodeSet) : NormalizerBase$QuickCheckResult,NEW,EXTENSIBLE;

PROCEDURE (self:RangeValueIterator) next*(p0 : RangeValueIterator$Element) : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:RangeValueIterator) reset*(),NEW,ABSTRACT;

PROCEDURE (self:Replaceable) charAt*(p0 : INTEGER) : CHAR,NEW,ABSTRACT;

PROCEDURE (self:Replaceable) getChars*(    p0 : INTEGER;
                                           p1 : INTEGER;
                                       IN  p2 : ARRAY OF CHAR;
                                           p3 : INTEGER),NEW,ABSTRACT;

PROCEDURE (self:Replaceable) length*() : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:ReplaceableString) charAt*(p0 : INTEGER) : CHAR,NEW,EXTENSIBLE;

PROCEDURE (self:ReplaceableString) getChars*(    p0 : INTEGER;
                                                 p1 : INTEGER;
                                             IN  p2 : ARRAY OF CHAR;
                                                 p3 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:ReplaceableString) length*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:ReplaceableUCharacterIterator) clone*() : java_lang.Object,EXTENSIBLE;

PROCEDURE (self:ReplaceableUCharacterIterator) current*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:ReplaceableUCharacterIterator) getIndex*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:ReplaceableUCharacterIterator) getLength*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:ReplaceableUCharacterIterator) getText*(IN  p0 : ARRAY OF CHAR;
                                                            p1 : INTEGER) : INTEGER,EXTENSIBLE;

PROCEDURE (self:ReplaceableUCharacterIterator) next*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:ReplaceableUCharacterIterator) previous*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:ReplaceableUCharacterIterator) setIndex*(p0 : INTEGER),EXTENSIBLE;

PROCEDURE (self:RuleCharacterIterator) atEnd*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:RuleCharacterIterator) getPos*(p0 : java_lang.Object) : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:RuleCharacterIterator) inVariable*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:RuleCharacterIterator) isEscaped*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:RuleCharacterIterator) jumpahead*(p0 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:RuleCharacterIterator) lookahead*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:RuleCharacterIterator) next*(p0 : INTEGER) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:RuleCharacterIterator) setPos*(p0 : java_lang.Object),NEW,EXTENSIBLE;

PROCEDURE (self:RuleCharacterIterator) skipIgnored*(p0 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:SymbolTable) lookup*(p0 : java_lang.String) : POINTER TO ARRAY OF CHAR,NEW,ABSTRACT;

PROCEDURE (self:SymbolTable) lookupMatcher*(p0 : INTEGER) : UnicodeMatcher,NEW,ABSTRACT;

PROCEDURE (self:SymbolTable) parseReference*(p0 : java_lang.String;
                                             p1 : java_text.ParsePosition;
                                             p2 : INTEGER) : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:Trie) getBMPOffset!(p0 : CHAR) : INTEGER,NEW;

PROCEDURE (self:Trie) getCodePointOffset!(p0 : INTEGER) : INTEGER,NEW;

PROCEDURE (self:Trie) getInitialValue!() : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:Trie) getLeadOffset!(p0 : CHAR) : INTEGER,NEW;

PROCEDURE (self:Trie) getRawOffset!(p0 : INTEGER;
                                    p1 : CHAR) : INTEGER,NEW;

PROCEDURE (self:Trie) getSurrogateOffset!(p0 : CHAR;
                                          p1 : CHAR) : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:Trie) getValue!(p0 : INTEGER) : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:Trie) isCharTrie!() : BOOLEAN,NEW;

PROCEDURE (self:Trie) isIntTrie!() : BOOLEAN,NEW;

PROCEDURE (self:Trie) unserialize!(p0 : java_io.InputStream),NEW,EXTENSIBLE;

PROCEDURE (self:Trie$DataManipulate) getFoldingOffset*(p0 : INTEGER) : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:TrieIterator) extract!(p0 : INTEGER) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:TrieIterator) next*(p0 : RangeValueIterator$Element) : BOOLEAN,NEW;

PROCEDURE (self:TrieIterator) reset*(),NEW;

PROCEDURE (self:UCharacterIterator) clone*() : java_lang.Object,EXTENSIBLE;

PROCEDURE (self:UCharacterIterator) current*() : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:UCharacterIterator) getIndex*() : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:UCharacterIterator) getLength*() : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:UCharacterIterator) getText*(IN  p0 : ARRAY OF CHAR;
                                                 p1 : INTEGER) : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:UCharacterIterator) getText*(IN  p0 : ARRAY OF CHAR) : INTEGER,NEW;

PROCEDURE (self:UCharacterIterator) getText*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:UCharacterIterator) moveIndex*(p0 : INTEGER) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:UCharacterIterator) next*() : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:UCharacterIterator) nextCodePoint*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:UCharacterIterator) previous*() : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:UCharacterIterator) setIndex*(p0 : INTEGER),NEW,ABSTRACT;

PROCEDURE (self:UCharacterProperty) addPropertyStarts*(p0 : UnicodeSet) : UnicodeSet,NEW,EXTENSIBLE;

PROCEDURE (self:UCharacterProperty) getAdditional*(p0 : INTEGER) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:UCharacterProperty) getAge*(p0 : INTEGER) : VersionInfo,NEW,EXTENSIBLE;

PROCEDURE (self:UCharacterProperty) getException*(p0 : INTEGER;
                                                  p1 : INTEGER) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:UCharacterProperty) getFoldCase*(p0 : INTEGER;
                                                 p1 : INTEGER;
                                                 p2 : java_lang.StringBuffer),NEW,EXTENSIBLE;

PROCEDURE (self:UCharacterProperty) getFoldingOffset*(p0 : INTEGER) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:UCharacterProperty) getInclusions*() : UnicodeSet,NEW,EXTENSIBLE;

PROCEDURE (self:UCharacterProperty) getProperty*(p0 : INTEGER) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:UCharacterProperty) hasExceptionValue*(p0 : INTEGER;
                                                       p1 : INTEGER) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:UCharacterProperty) setIndexData*(p0 : CharTrie$FriendAgent),NEW,EXTENSIBLE;

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

PROCEDURE (self:UnicodeSet) add*(p0 : INTEGER) : UnicodeSet,NEW;

PROCEDURE (self:UnicodeSet) add*(p0 : java_lang.String) : UnicodeSet,NEW;

PROCEDURE (self:UnicodeSet) addAll*(p0 : UnicodeSet) : UnicodeSet,NEW,EXTENSIBLE;

PROCEDURE (self:UnicodeSet) applyPattern*(p0 : java_lang.String) : UnicodeSet,NEW;

PROCEDURE (self:UnicodeSet) applyPropertyAlias*(p0 : java_lang.String;
                                                p1 : java_lang.String;
                                                p2 : SymbolTable) : UnicodeSet,NEW,EXTENSIBLE;

PROCEDURE (self:UnicodeSet) clear*() : UnicodeSet,NEW,EXTENSIBLE;

PROCEDURE (self:UnicodeSet) complement*() : UnicodeSet,NEW,EXTENSIBLE;

PROCEDURE (self:UnicodeSet) complement*(p0 : INTEGER;
                                        p1 : INTEGER) : UnicodeSet,NEW,EXTENSIBLE;

PROCEDURE (self:UnicodeSet) contains*(p0 : INTEGER) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:UnicodeSet) getRangeCount*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:UnicodeSet) getRangeEnd*(p0 : INTEGER) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:UnicodeSet) getRangeStart*(p0 : INTEGER) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:UnicodeSet) removeAll*(p0 : UnicodeSet) : UnicodeSet,NEW,EXTENSIBLE;

PROCEDURE (self:UnicodeSet) retainAll*(p0 : UnicodeSet) : UnicodeSet,NEW,EXTENSIBLE;

PROCEDURE (self:UnicodeSet) set*(p0 : UnicodeSet) : UnicodeSet,NEW,EXTENSIBLE;

PROCEDURE (self:UnicodeSet) _generatePattern*(p0 : java_lang.StringBuffer;
                                              p1 : BOOLEAN) : java_lang.StringBuffer,NEW,EXTENSIBLE;

PROCEDURE (self:UnicodeSetIterator) loadRange!(p0 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:UnicodeSetIterator) nextRange*() : BOOLEAN,NEW,EXTENSIBLE;

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

PROCEDURE (self:UnicodeSetIterator) reset*(p0 : UnicodeSet),NEW,EXTENSIBLE;

PROCEDURE (self:VersionInfo) compareTo*(p0 : VersionInfo) : INTEGER,NEW,EXTENSIBLE;

END sun_text_normalizer.