summaryrefslogtreecommitdiff
path: root/deps/node/deps/icu-small/source/tools/genrb/reslist.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/node/deps/icu-small/source/tools/genrb/reslist.h')
-rw-r--r--deps/node/deps/icu-small/source/tools/genrb/reslist.h423
1 files changed, 0 insertions, 423 deletions
diff --git a/deps/node/deps/icu-small/source/tools/genrb/reslist.h b/deps/node/deps/icu-small/source/tools/genrb/reslist.h
deleted file mode 100644
index 53ade5b8..00000000
--- a/deps/node/deps/icu-small/source/tools/genrb/reslist.h
+++ /dev/null
@@ -1,423 +0,0 @@
-// © 2016 and later: Unicode, Inc. and others.
-// License & terms of use: http://www.unicode.org/copyright.html
-/*
-*******************************************************************************
-*
-* Copyright (C) 2000-2015, International Business Machines
-* Corporation and others. All Rights Reserved.
-*
-*******************************************************************************
-*
-* File reslist.h
-*
-* Modification History:
-*
-* Date Name Description
-* 02/21/00 weiv Creation.
-*******************************************************************************
-*/
-
-#ifndef RESLIST_H
-#define RESLIST_H
-
-#define KEY_SPACE_SIZE 65536
-#define RESLIST_MAX_INT_VECTOR 2048
-
-#include "unicode/utypes.h"
-#include "unicode/unistr.h"
-#include "unicode/ures.h"
-#include "unicode/ustring.h"
-#include "cmemory.h"
-#include "cstring.h"
-#include "uhash.h"
-#include "unewdata.h"
-#include "uresdata.h"
-#include "ustr.h"
-
-U_CDECL_BEGIN
-
-class PseudoListResource;
-
-struct ResFile {
- ResFile()
- : fBytes(NULL), fIndexes(NULL),
- fKeys(NULL), fKeysLength(0), fKeysCount(0),
- fStrings(NULL), fStringIndexLimit(0),
- fChecksum(0) {}
- ~ResFile() { close(); }
-
- void close();
-
- uint8_t *fBytes;
- const int32_t *fIndexes;
- const char *fKeys;
- int32_t fKeysLength;
- int32_t fKeysCount;
-
- PseudoListResource *fStrings;
- int32_t fStringIndexLimit;
-
- int32_t fChecksum;
-};
-
-struct SResource;
-
-typedef struct KeyMapEntry {
- int32_t oldpos, newpos;
-} KeyMapEntry;
-
-/* Resource bundle root table */
-struct SRBRoot {
- SRBRoot(const UString *comment, UBool isPoolBundle, UErrorCode &errorCode);
- ~SRBRoot();
-
- void write(const char *outputDir, const char *outputPkg,
- char *writtenFilename, int writtenFilenameLen, UErrorCode &errorCode);
-
- void setLocale(UChar *locale, UErrorCode &errorCode);
- int32_t addTag(const char *tag, UErrorCode &errorCode);
-
- const char *getKeyString(int32_t key) const;
- const char *getKeyBytes(int32_t *pLength) const;
-
- int32_t addKeyBytes(const char *keyBytes, int32_t length, UErrorCode &errorCode);
-
- void compactKeys(UErrorCode &errorCode);
-
- int32_t makeRes16(uint32_t resWord) const;
- int32_t mapKey(int32_t oldpos) const;
-
-private:
- void compactStringsV2(UHashtable *stringSet, UErrorCode &errorCode);
-
-public:
- // TODO: private
-
- SResource *fRoot; // Normally a TableResource.
- char *fLocale;
- int32_t fIndexLength;
- int32_t fMaxTableLength;
- UBool fNoFallback; /* see URES_ATT_NO_FALLBACK */
- int8_t fStringsForm; /* default STRINGS_UTF16_V1 */
- UBool fIsPoolBundle;
-
- char *fKeys;
- KeyMapEntry *fKeyMap;
- int32_t fKeysBottom, fKeysTop;
- int32_t fKeysCapacity;
- int32_t fKeysCount;
- int32_t fLocalKeyLimit; /* key offset < limit fits into URES_TABLE */
-
- icu::UnicodeString f16BitUnits;
- int32_t f16BitStringsLength;
-
- const ResFile *fUsePoolBundle;
- int32_t fPoolStringIndexLimit;
- int32_t fPoolStringIndex16Limit;
- int32_t fLocalStringIndexLimit;
- SRBRoot *fWritePoolBundle;
-};
-
-/* write a java resource file */
-// TODO: C++ify
-void bundle_write_java(struct SRBRoot *bundle, const char *outputDir, const char* outputEnc, char *writtenFilename,
- int writtenFilenameLen, const char* packageName, const char* bundleName, UErrorCode *status);
-
-/* write a xml resource file */
-// TODO: C++ify
-void bundle_write_xml(struct SRBRoot *bundle, const char *outputDir,const char* outputEnc, const char* rbname,
- char *writtenFilename, int writtenFilenameLen, const char* language, const char* package, UErrorCode *status);
-
-/* Various resource types */
-
-/*
- * Return a unique pointer to a dummy object,
- * for use in non-error cases when no resource is to be added to the bundle.
- * (NULL is used in error cases.)
- */
-struct SResource* res_none(void);
-
-class ArrayResource;
-class TableResource;
-class IntVectorResource;
-
-TableResource *table_open(struct SRBRoot *bundle, const char *tag, const struct UString* comment, UErrorCode *status);
-
-ArrayResource *array_open(struct SRBRoot *bundle, const char *tag, const struct UString* comment, UErrorCode *status);
-
-struct SResource *string_open(struct SRBRoot *bundle, const char *tag, const UChar *value, int32_t len, const struct UString* comment, UErrorCode *status);
-
-struct SResource *alias_open(struct SRBRoot *bundle, const char *tag, UChar *value, int32_t len, const struct UString* comment, UErrorCode *status);
-
-IntVectorResource *intvector_open(struct SRBRoot *bundle, const char *tag, const struct UString* comment, UErrorCode *status);
-
-struct SResource *int_open(struct SRBRoot *bundle, const char *tag, int32_t value, const struct UString* comment, UErrorCode *status);
-
-struct SResource *bin_open(struct SRBRoot *bundle, const char *tag, uint32_t length, uint8_t *data, const char* fileName, const struct UString* comment, UErrorCode *status);
-
-/* Resource place holder */
-
-struct SResource {
- SResource();
- SResource(SRBRoot *bundle, const char *tag, int8_t type, const UString* comment,
- UErrorCode &errorCode);
- virtual ~SResource();
-
- UBool isTable() const { return fType == URES_TABLE; }
- UBool isString() const { return fType == URES_STRING; }
-
- const char *getKeyString(const SRBRoot *bundle) const;
-
- /**
- * Preflights strings.
- * Finds duplicates and counts the total number of string code units
- * so that they can be written first to the 16-bit array,
- * for minimal string and container storage.
- *
- * We walk the final parse tree, rather than collecting this information while building it,
- * so that we need not deal with changes to the parse tree (especially removing resources).
- */
- void preflightStrings(SRBRoot *bundle, UHashtable *stringSet, UErrorCode &errorCode);
- virtual void handlePreflightStrings(SRBRoot *bundle, UHashtable *stringSet, UErrorCode &errorCode);
-
- /**
- * Writes resource values into f16BitUnits
- * and determines the resource item word, if possible.
- */
- void write16(SRBRoot *bundle);
- virtual void handleWrite16(SRBRoot *bundle);
-
- /**
- * Calculates ("preflights") and advances the *byteOffset
- * by the size of the resource's data in the binary file and
- * determines the resource item word.
- *
- * Most handlePreWrite() functions may add any number of bytes, but preWrite()
- * will always pad it to a multiple of 4.
- * The resource item type may be a related subtype of the fType.
- *
- * The preWrite() and write() functions start and end at the same
- * byteOffset values.
- * Prewriting allows bundle.write() to determine the root resource item word,
- * before actually writing the bundle contents to the file,
- * which is necessary because the root item is stored at the beginning.
- */
- void preWrite(uint32_t *byteOffset);
- virtual void handlePreWrite(uint32_t *byteOffset);
-
- /**
- * Writes the resource's data to mem and updates the byteOffset
- * in parallel.
- */
- void write(UNewDataMemory *mem, uint32_t *byteOffset);
- virtual void handleWrite(UNewDataMemory *mem, uint32_t *byteOffset);
-
- int8_t fType; /* nominal type: fRes (when != 0xffffffff) may use subtype */
- UBool fWritten; /* res_write() can exit early */
- uint32_t fRes; /* resource item word; RES_BOGUS=0xffffffff if not known yet */
- int32_t fRes16; /* Res16 version of fRes for Table, Table16, Array16; -1 if it does not fit. */
- int32_t fKey; /* Index into bundle->fKeys; -1 if no key. */
- int32_t fKey16; /* Key16 version of fKey for Table & Table16; -1 if no key or it does not fit. */
- int line; /* used internally to report duplicate keys in tables */
- SResource *fNext; /* This is for internal chaining while building */
- struct UString fComment;
-};
-
-class ContainerResource : public SResource {
-public:
- ContainerResource(SRBRoot *bundle, const char *tag, int8_t type,
- const UString* comment, UErrorCode &errorCode)
- : SResource(bundle, tag, type, comment, errorCode),
- fCount(0), fFirst(NULL) {}
- virtual ~ContainerResource();
-
- virtual void handlePreflightStrings(SRBRoot *bundle, UHashtable *stringSet, UErrorCode &errorCode);
-protected:
- void writeAllRes16(SRBRoot *bundle);
- void preWriteAllRes(uint32_t *byteOffset);
- void writeAllRes(UNewDataMemory *mem, uint32_t *byteOffset);
- void writeAllRes32(UNewDataMemory *mem, uint32_t *byteOffset);
-
-public:
- // TODO: private with getter?
- uint32_t fCount;
- SResource *fFirst;
-};
-
-class TableResource : public ContainerResource {
-public:
- TableResource(SRBRoot *bundle, const char *tag,
- const UString* comment, UErrorCode &errorCode)
- : ContainerResource(bundle, tag, URES_TABLE, comment, errorCode),
- fTableType(URES_TABLE), fRoot(bundle) {}
- virtual ~TableResource();
-
- void add(SResource *res, int linenumber, UErrorCode &errorCode);
-
- virtual void handleWrite16(SRBRoot *bundle);
- virtual void handlePreWrite(uint32_t *byteOffset);
- virtual void handleWrite(UNewDataMemory *mem, uint32_t *byteOffset);
-
- int8_t fTableType; // determined by table_write16() for table_preWrite() & table_write()
- SRBRoot *fRoot;
-};
-
-class ArrayResource : public ContainerResource {
-public:
- ArrayResource(SRBRoot *bundle, const char *tag,
- const UString* comment, UErrorCode &errorCode)
- : ContainerResource(bundle, tag, URES_ARRAY, comment, errorCode),
- fLast(NULL) {}
- virtual ~ArrayResource();
-
- void add(SResource *res);
-
- virtual void handleWrite16(SRBRoot *bundle);
- virtual void handlePreWrite(uint32_t *byteOffset);
- virtual void handleWrite(UNewDataMemory *mem, uint32_t *byteOffset);
-
- SResource *fLast;
-};
-
-/**
- * List of resources for a pool bundle.
- * Writes an empty table resource, rather than a container structure.
- */
-class PseudoListResource : public ContainerResource {
-public:
- PseudoListResource(SRBRoot *bundle, UErrorCode &errorCode)
- : ContainerResource(bundle, NULL, URES_TABLE, NULL, errorCode) {}
- virtual ~PseudoListResource();
-
- void add(SResource *res);
-
- virtual void handleWrite16(SRBRoot *bundle);
-};
-
-class StringBaseResource : public SResource {
-public:
- StringBaseResource(SRBRoot *bundle, const char *tag, int8_t type,
- const UChar *value, int32_t len,
- const UString* comment, UErrorCode &errorCode);
- StringBaseResource(SRBRoot *bundle, int8_t type,
- const icu::UnicodeString &value, UErrorCode &errorCode);
- StringBaseResource(int8_t type, const UChar *value, int32_t len, UErrorCode &errorCode);
- virtual ~StringBaseResource();
-
- const UChar *getBuffer() const { return icu::toUCharPtr(fString.getBuffer()); }
- int32_t length() const { return fString.length(); }
-
- virtual void handlePreWrite(uint32_t *byteOffset);
- virtual void handleWrite(UNewDataMemory *mem, uint32_t *byteOffset);
-
- // TODO: private with getter?
- icu::UnicodeString fString;
-};
-
-class StringResource : public StringBaseResource {
-public:
- StringResource(SRBRoot *bundle, const char *tag, const UChar *value, int32_t len,
- const UString* comment, UErrorCode &errorCode)
- : StringBaseResource(bundle, tag, URES_STRING, value, len, comment, errorCode),
- fSame(NULL), fSuffixOffset(0),
- fNumCopies(0), fNumUnitsSaved(0), fNumCharsForLength(0) {}
- StringResource(SRBRoot *bundle, const icu::UnicodeString &value, UErrorCode &errorCode)
- : StringBaseResource(bundle, URES_STRING, value, errorCode),
- fSame(NULL), fSuffixOffset(0),
- fNumCopies(0), fNumUnitsSaved(0), fNumCharsForLength(0) {}
- StringResource(int32_t poolStringIndex, int8_t numCharsForLength,
- const UChar *value, int32_t length,
- UErrorCode &errorCode)
- : StringBaseResource(URES_STRING, value, length, errorCode),
- fSame(NULL), fSuffixOffset(0),
- fNumCopies(0), fNumUnitsSaved(0), fNumCharsForLength(numCharsForLength) {
- // v3 pool string encoded as string-v2 with low offset
- fRes = URES_MAKE_RESOURCE(URES_STRING_V2, poolStringIndex);
- fWritten = TRUE;
- }
- virtual ~StringResource();
-
- int32_t get16BitStringsLength() const {
- return fNumCharsForLength + length() + 1; // +1 for the NUL
- }
-
- virtual void handlePreflightStrings(SRBRoot *bundle, UHashtable *stringSet, UErrorCode &errorCode);
- virtual void handleWrite16(SRBRoot *bundle);
-
- void writeUTF16v2(int32_t base, icu::UnicodeString &dest);
-
- StringResource *fSame; // used for duplicates
- int32_t fSuffixOffset; // this string is a suffix of fSame at this offset
- int32_t fNumCopies; // number of equal strings represented by one stringSet element
- int32_t fNumUnitsSaved; // from not writing duplicates and suffixes
- int8_t fNumCharsForLength;
-};
-
-class AliasResource : public StringBaseResource {
-public:
- AliasResource(SRBRoot *bundle, const char *tag, const UChar *value, int32_t len,
- const UString* comment, UErrorCode &errorCode)
- : StringBaseResource(bundle, tag, URES_ALIAS, value, len, comment, errorCode) {}
- virtual ~AliasResource();
-};
-
-class IntResource : public SResource {
-public:
- IntResource(SRBRoot *bundle, const char *tag, int32_t value,
- const UString* comment, UErrorCode &errorCode);
- virtual ~IntResource();
-
- // TODO: private with getter?
- int32_t fValue;
-};
-
-class IntVectorResource : public SResource {
-public:
- IntVectorResource(SRBRoot *bundle, const char *tag,
- const UString* comment, UErrorCode &errorCode);
- virtual ~IntVectorResource();
-
- void add(int32_t value, UErrorCode &errorCode);
-
- virtual void handlePreWrite(uint32_t *byteOffset);
- virtual void handleWrite(UNewDataMemory *mem, uint32_t *byteOffset);
-
- // TODO: UVector32
- uint32_t fCount;
- uint32_t *fArray;
-};
-
-class BinaryResource : public SResource {
-public:
- BinaryResource(SRBRoot *bundle, const char *tag,
- uint32_t length, uint8_t *data, const char* fileName,
- const UString* comment, UErrorCode &errorCode);
- virtual ~BinaryResource();
-
- virtual void handlePreWrite(uint32_t *byteOffset);
- virtual void handleWrite(UNewDataMemory *mem, uint32_t *byteOffset);
-
- // TODO: CharString?
- uint32_t fLength;
- uint8_t *fData;
- // TODO: CharString
- char* fFileName; // file name for binary or import binary tags if any
-};
-
-// TODO: use LocalPointer or delete
-void res_close(struct SResource *res);
-
-void setIncludeCopyright(UBool val);
-UBool getIncludeCopyright(void);
-
-void setFormatVersion(int32_t formatVersion);
-
-int32_t getFormatVersion();
-
-void setUsePoolBundle(UBool use);
-
-/* in wrtxml.cpp */
-uint32_t computeCRC(const char *ptr, uint32_t len, uint32_t lastcrc);
-
-U_CDECL_END
-#endif /* #ifndef RESLIST_H */