#include <OOC/SymbolTable.oh>
#include <Exception.oh>
#include <Strings.oh>
#include <URI/Parser.oh>
#include <URI/Scheme/File.oh>
static OOC_SymbolTable__Position OOC_SymbolTable__importPosition;
static OOC_SymbolTable__TypeClosure OOC_SymbolTable__emptyClosure;
static OOC_SymbolTable__Name OOC_SymbolTable__predefName;
OOC_SymbolTable__PredefType *OOC_SymbolTable__predefIdToType;
static URI__HierarchicalURI OOC_SymbolTable__emptyBaseURI;
static void OOC_SymbolTable__WriteType(ADT_Storable__Writer w, OOC_SymbolTable__Type type, OOC_SymbolTable__Type srcCodeType);
static void OOC_SymbolTable__ReadType(ADT_Storable__Reader r, OOC_SymbolTable__Type *type, OOC_SymbolTable__Type *srcCodeType);
static void OOC_SymbolTable__WriteItemList(ADT_Storable__Writer w, OOC_SymbolTable__Item item);
static void OOC_SymbolTable__ReadItemList(ADT_Storable__Reader r, OOC_SymbolTable__Item *list, OOC_SymbolTable__Item *last);
static OOC_CHAR8 OOC_SymbolTable__ExportTypePosition(OOC_SymbolTable__Type type);
static void OOC_SymbolTable__InitLinkDirective(OOC_SymbolTable__LinkDirective l);
static Object__String OOC_SymbolTable__ReadString8(ADT_Storable__Reader r);
static OOC_SymbolTable__LinkFile OOC_SymbolTable__NewLinkFile(URI__HierarchicalURI file, Object__String prefixOption, Object__String suffixOption);
static OOC_SymbolTable__LinkLib OOC_SymbolTable__NewLinkLib(Object__String libraryName, Object__StringArrayPtr dependencies, Object__String prefixOption, Object__String suffixOption, OOC_INT32 type);
static void OOC_SymbolTable__AddLinkDirective(OOC_SymbolTable__LinkDirective *list, OOC_SymbolTable__LinkDirective l);
static void OOC_SymbolTable__StoreTypeRef(ADT_Storable__Writer w, struct OOC_SymbolTable__TypeRef *typeRef, RT0__Struct typeRef__tag);
static void OOC_SymbolTable__LoadTypeRef(ADT_Storable__Reader r, struct OOC_SymbolTable__TypeRef *typeRef, RT0__Struct typeRef__tag);
static void OOC_SymbolTable__InitTypeClosure(OOC_SymbolTable__TypeClosure tc, OOC_SymbolTable__Position position, OOC_SymbolTable__Type baseType, OOC_SymbolTable__TypeVarArray params, OOC_SymbolTable__TypeRefArray arguments);
static void OOC_SymbolTable__Init(void);

/* run-time meta data */
static RT0__ModuleDesc _mid;
RT0__StructDesc _td_OOC_SymbolTable__Position = { (RT0__Struct[]){&_td_OOC_SymbolTable__PositionDesc}, NULL, &_mid, "Position", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__PositionDesc = { (RT0__Struct[]){&_td_Object__ObjectDesc,&_td_ADT_Storable__ObjectDesc,&_td_OOC_SymbolTable__PositionDesc}, (void*[]){(void*)Object__ObjectDesc_Equals,(void*)Object__ObjectDesc_HashCode,(void*)Object__ObjectDesc_ToString,(void*)OOC_SymbolTable__PositionDesc_Load,(void*)OOC_SymbolTable__PositionDesc_Store}, &_mid, "PositionDesc", 12, 2, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__Name = { (RT0__Struct[]){&_td_OOC_SymbolTable__NameDesc}, NULL, &_mid, "Name", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__NameDesc = { (RT0__Struct[]){&_td_Object__ObjectDesc,&_td_ADT_Storable__ObjectDesc,&_td_OOC_SymbolTable__PositionDesc,&_td_OOC_SymbolTable__NameDesc}, (void*[]){(void*)Object__ObjectDesc_Equals,(void*)Object__ObjectDesc_HashCode,(void*)Object__ObjectDesc_ToString,(void*)OOC_SymbolTable__NameDesc_Load,(void*)OOC_SymbolTable__NameDesc_Store}, &_mid, "NameDesc", 24, 3, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__Flag = { (RT0__Struct[]){&_td_OOC_SymbolTable__FlagDesc}, NULL, &_mid, "Flag", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__FlagDesc = { (RT0__Struct[]){&_td_OOC_SymbolTable__FlagDesc}, (void*[]){}, &_mid, "FlagDesc", 24, 0, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__Item = { (RT0__Struct[]){&_td_OOC_SymbolTable__ItemDesc}, NULL, &_mid, "Item", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__ItemDesc = { (RT0__Struct[]){&_td_Object__ObjectDesc,&_td_ADT_Storable__ObjectDesc,&_td_OOC_SymbolTable__ItemDesc}, (void*[]){(void*)Object__ObjectDesc_Equals,(void*)Object__ObjectDesc_HashCode,(void*)Object__ObjectDesc_ToString,(void*)OOC_SymbolTable__ItemDesc_Load,(void*)OOC_SymbolTable__ItemDesc_Store,(void*)OOC_SymbolTable__ItemDesc_AddFlag,(void*)OOC_SymbolTable__ItemDesc_Module,(void*)OOC_SymbolTable__ItemDesc_Namespace,(void*)OOC_SymbolTable__ItemDesc_Procedure}, &_mid, "ItemDesc", 40, 2, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__Declaration = { (RT0__Struct[]){&_td_OOC_SymbolTable__DeclarationDesc}, NULL, &_mid, "Declaration", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__DeclarationDesc = { (RT0__Struct[]){&_td_Object__ObjectDesc,&_td_ADT_Storable__ObjectDesc,&_td_OOC_SymbolTable__ItemDesc,&_td_OOC_SymbolTable__DeclarationDesc}, (void*[]){(void*)Object__ObjectDesc_Equals,(void*)Object__ObjectDesc_HashCode,(void*)Object__ObjectDesc_ToString,(void*)OOC_SymbolTable__DeclarationDesc_Load,(void*)OOC_SymbolTable__DeclarationDesc_Store,(void*)OOC_SymbolTable__ItemDesc_AddFlag,(void*)OOC_SymbolTable__ItemDesc_Module,(void*)OOC_SymbolTable__ItemDesc_Namespace,(void*)OOC_SymbolTable__ItemDesc_Procedure,(void*)OOC_SymbolTable__DeclarationDesc_GetEmbeddedNamespace,(void*)OOC_SymbolTable__DeclarationDesc_GetId,(void*)OOC_SymbolTable__DeclarationDesc_IncrUsageCounter}, &_mid, "DeclarationDesc", 88, 3, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__9339 = { (RT0__Struct[]){&_td_OOC_SymbolTable__Declaration}, NULL, &_mid, NULL, 8, 1, RT0__strOpenArray };
RT0__StructDesc _td_OOC_SymbolTable__DeclarationArray = { (RT0__Struct[]){&_td_OOC_SymbolTable__9339}, NULL, &_mid, "DeclarationArray", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__Namespace = { (RT0__Struct[]){&_td_OOC_SymbolTable__NamespaceDesc}, NULL, &_mid, "Namespace", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__NamespaceDesc = { (RT0__Struct[]){&_td_OOC_SymbolTable__NamespaceDesc}, (void*[]){(void*)OOC_SymbolTable__NamespaceDesc_GetSuperProcByIndex,(void*)OOC_SymbolTable__NamespaceDesc_Identify,(void*)OOC_SymbolTable__NamespaceDesc_Identify2,(void*)OOC_SymbolTable__NamespaceDesc_IdentifyLocal,(void*)OOC_SymbolTable__NamespaceDesc_IdentifyLocal2}, &_mid, "NamespaceDesc", 0, 0, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__TypePars = { (RT0__Struct[]){&_td_OOC_SymbolTable__TypeParsDesc}, NULL, &_mid, "TypePars", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__TypeVar = { (RT0__Struct[]){&_td_OOC_SymbolTable__TypeVarDesc}, NULL, &_mid, "TypeVar", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__10063 = { (RT0__Struct[]){&_td_OOC_SymbolTable__TypeVar}, NULL, &_mid, NULL, 8, 1, RT0__strOpenArray };
RT0__StructDesc _td_OOC_SymbolTable__TypeVarArray = { (RT0__Struct[]){&_td_OOC_SymbolTable__10063}, NULL, &_mid, "TypeVarArray", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__TypeParsDesc = { (RT0__Struct[]){&_td_Object__ObjectDesc,&_td_ADT_Storable__ObjectDesc,&_td_OOC_SymbolTable__ItemDesc,&_td_OOC_SymbolTable__TypeParsDesc}, (void*[]){(void*)Object__ObjectDesc_Equals,(void*)Object__ObjectDesc_HashCode,(void*)Object__ObjectDesc_ToString,(void*)OOC_SymbolTable__TypeParsDesc_Load,(void*)OOC_SymbolTable__TypeParsDesc_Store,(void*)OOC_SymbolTable__ItemDesc_AddFlag,(void*)OOC_SymbolTable__ItemDesc_Module,(void*)OOC_SymbolTable__TypeParsDesc_Namespace,(void*)OOC_SymbolTable__ItemDesc_Procedure,(void*)OOC_SymbolTable__TypeParsDesc_SetNamespace}, &_mid, "TypeParsDesc", 56, 3, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__Type = { (RT0__Struct[]){&_td_OOC_SymbolTable__TypeDesc}, NULL, &_mid, "Type", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__TypeDecl = { (RT0__Struct[]){&_td_OOC_SymbolTable__TypeDeclDesc}, NULL, &_mid, "TypeDecl", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__TypeDesc = { (RT0__Struct[]){&_td_Object__ObjectDesc,&_td_ADT_Storable__ObjectDesc,&_td_OOC_SymbolTable__ItemDesc,&_td_OOC_SymbolTable__TypeDesc}, (void*[]){(void*)Object__ObjectDesc_Equals,(void*)Object__ObjectDesc_HashCode,(void*)Object__ObjectDesc_ToString,(void*)OOC_SymbolTable__TypeDesc_Load,(void*)OOC_SymbolTable__TypeDesc_Store,(void*)OOC_SymbolTable__ItemDesc_AddFlag,(void*)OOC_SymbolTable__ItemDesc_Module,(void*)OOC_SymbolTable__ItemDesc_Namespace,(void*)OOC_SymbolTable__ItemDesc_Procedure,(void*)OOC_SymbolTable__TypeDesc_ArrayDimensions,(void*)OOC_SymbolTable__TypeDesc_Bound,(void*)OOC_SymbolTable__TypeDesc_Closure,(void*)OOC_SymbolTable__TypeDesc_Deparam,(void*)OOC_SymbolTable__TypeDesc_PreciousTypePars,(void*)OOC_SymbolTable__TypeDesc_SetNamingDecl,(void*)OOC_SymbolTable__TypeDesc_SetSize,(void*)OOC_SymbolTable__TypeDesc_SetTypePars}, &_mid, "TypeDesc", 72, 3, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__LinkDirective = { (RT0__Struct[]){&_td_OOC_SymbolTable__LinkDirectiveDesc}, NULL, &_mid, "LinkDirective", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__LinkDirectiveDesc = { (RT0__Struct[]){&_td_Object__ObjectDesc,&_td_ADT_Storable__ObjectDesc,&_td_OOC_SymbolTable__LinkDirectiveDesc}, (void*[]){(void*)Object__ObjectDesc_Equals,(void*)Object__ObjectDesc_HashCode,(void*)Object__ObjectDesc_ToString,(void*)OOC_SymbolTable__LinkDirectiveDesc_Load,(void*)OOC_SymbolTable__LinkDirectiveDesc_Store}, &_mid, "LinkDirectiveDesc", 8, 2, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__LinkFile = { (RT0__Struct[]){&_td_OOC_SymbolTable__LinkFileDesc}, NULL, &_mid, "LinkFile", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__LinkFileDesc = { (RT0__Struct[]){&_td_Object__ObjectDesc,&_td_ADT_Storable__ObjectDesc,&_td_OOC_SymbolTable__LinkDirectiveDesc,&_td_OOC_SymbolTable__LinkFileDesc}, (void*[]){(void*)Object__ObjectDesc_Equals,(void*)Object__ObjectDesc_HashCode,(void*)Object__ObjectDesc_ToString,(void*)OOC_SymbolTable__LinkFileDesc_Load,(void*)OOC_SymbolTable__LinkFileDesc_Store}, &_mid, "LinkFileDesc", 32, 3, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__LinkLib = { (RT0__Struct[]){&_td_OOC_SymbolTable__LinkLibDesc}, NULL, &_mid, "LinkLib", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__LinkLibDesc = { (RT0__Struct[]){&_td_Object__ObjectDesc,&_td_ADT_Storable__ObjectDesc,&_td_OOC_SymbolTable__LinkDirectiveDesc,&_td_OOC_SymbolTable__LinkLibDesc}, (void*[]){(void*)Object__ObjectDesc_Equals,(void*)Object__ObjectDesc_HashCode,(void*)Object__ObjectDesc_ToString,(void*)OOC_SymbolTable__LinkLibDesc_Load,(void*)OOC_SymbolTable__LinkLibDesc_Store}, &_mid, "LinkLibDesc", 48, 3, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__Module = { (RT0__Struct[]){&_td_OOC_SymbolTable__ModuleDesc}, NULL, &_mid, "Module", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__ModuleRef = { (RT0__Struct[]){&_td_OOC_SymbolTable__ModuleRefDesc}, NULL, &_mid, "ModuleRef", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__ModuleRefDesc = { (RT0__Struct[]){&_td_OOC_SymbolTable__ModuleRefDesc}, (void*[]){}, &_mid, "ModuleRefDesc", 16, 0, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__16969 = { (RT0__Struct[]){&_td_OOC_SymbolTable__ModuleRef}, NULL, &_mid, NULL, 8, 1, RT0__strOpenArray };
RT0__StructDesc _td_OOC_SymbolTable__ModuleRefArray = { (RT0__Struct[]){&_td_OOC_SymbolTable__16969}, NULL, &_mid, "ModuleRefArray", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__ProcDecl = { (RT0__Struct[]){&_td_OOC_SymbolTable__ProcDeclDesc}, NULL, &_mid, "ProcDecl", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__ModuleDesc = { (RT0__Struct[]){&_td_Object__ObjectDesc,&_td_ADT_Storable__ObjectDesc,&_td_OOC_SymbolTable__ItemDesc,&_td_OOC_SymbolTable__DeclarationDesc,&_td_OOC_SymbolTable__ModuleDesc}, (void*[]){(void*)Object__ObjectDesc_Equals,(void*)Object__ObjectDesc_HashCode,(void*)Object__ObjectDesc_ToString,(void*)OOC_SymbolTable__ModuleDesc_Load,(void*)OOC_SymbolTable__ModuleDesc_Store,(void*)OOC_SymbolTable__ItemDesc_AddFlag,(void*)OOC_SymbolTable__ItemDesc_Module,(void*)OOC_SymbolTable__ModuleDesc_Namespace,(void*)OOC_SymbolTable__ItemDesc_Procedure,(void*)OOC_SymbolTable__DeclarationDesc_GetEmbeddedNamespace,(void*)OOC_SymbolTable__DeclarationDesc_GetId,(void*)OOC_SymbolTable__DeclarationDesc_IncrUsageCounter,(void*)OOC_SymbolTable__ModuleDesc_AddLinkFile,(void*)OOC_SymbolTable__ModuleDesc_AddLinkLib,(void*)OOC_SymbolTable__ModuleDesc_CallConvToString,(void*)OOC_SymbolTable__ModuleDesc_ClassToString,(void*)OOC_SymbolTable__ModuleDesc_GetExternalSource,(void*)OOC_SymbolTable__ModuleDesc_NoObjectFile,(void*)OOC_SymbolTable__ModuleDesc_SetLibraryName,(void*)OOC_SymbolTable__ModuleDesc_SetNamespace}, &_mid, "ModuleDesc", 160, 4, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__Import = { (RT0__Struct[]){&_td_OOC_SymbolTable__ImportDesc}, NULL, &_mid, "Import", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__ImportDesc = { (RT0__Struct[]){&_td_Object__ObjectDesc,&_td_ADT_Storable__ObjectDesc,&_td_OOC_SymbolTable__ItemDesc,&_td_OOC_SymbolTable__DeclarationDesc,&_td_OOC_SymbolTable__ImportDesc}, (void*[]){(void*)Object__ObjectDesc_Equals,(void*)Object__ObjectDesc_HashCode,(void*)Object__ObjectDesc_ToString,(void*)OOC_SymbolTable__ImportDesc_Load,(void*)OOC_SymbolTable__ImportDesc_Store,(void*)OOC_SymbolTable__ItemDesc_AddFlag,(void*)OOC_SymbolTable__ItemDesc_Module,(void*)OOC_SymbolTable__ItemDesc_Namespace,(void*)OOC_SymbolTable__ItemDesc_Procedure,(void*)OOC_SymbolTable__DeclarationDesc_GetEmbeddedNamespace,(void*)OOC_SymbolTable__DeclarationDesc_GetId,(void*)OOC_SymbolTable__DeclarationDesc_IncrUsageCounter,(void*)OOC_SymbolTable__ImportDesc_IsInternalImport,(void*)OOC_SymbolTable__ImportDesc_SetExternalSymTab}, &_mid, "ImportDesc", 112, 4, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__PredefType = { (RT0__Struct[]){&_td_OOC_SymbolTable__PredefTypeDesc}, NULL, &_mid, "PredefType", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__PredefTypeDesc = { (RT0__Struct[]){&_td_Object__ObjectDesc,&_td_ADT_Storable__ObjectDesc,&_td_OOC_SymbolTable__ItemDesc,&_td_OOC_SymbolTable__TypeDesc,&_td_OOC_SymbolTable__PredefTypeDesc}, (void*[]){(void*)Object__ObjectDesc_Equals,(void*)Object__ObjectDesc_HashCode,(void*)Object__ObjectDesc_ToString,(void*)OOC_SymbolTable__PredefTypeDesc_Load,(void*)OOC_SymbolTable__PredefTypeDesc_Store,(void*)OOC_SymbolTable__ItemDesc_AddFlag,(void*)OOC_SymbolTable__ItemDesc_Module,(void*)OOC_SymbolTable__ItemDesc_Namespace,(void*)OOC_SymbolTable__ItemDesc_Procedure,(void*)OOC_SymbolTable__TypeDesc_ArrayDimensions,(void*)OOC_SymbolTable__TypeDesc_Bound,(void*)OOC_SymbolTable__TypeDesc_Closure,(void*)OOC_SymbolTable__TypeDesc_Deparam,(void*)OOC_SymbolTable__TypeDesc_PreciousTypePars,(void*)OOC_SymbolTable__TypeDesc_SetNamingDecl,(void*)OOC_SymbolTable__TypeDesc_SetSize,(void*)OOC_SymbolTable__TypeDesc_SetTypePars}, &_mid, "PredefTypeDesc", 80, 4, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__TypeName = { (RT0__Struct[]){&_td_OOC_SymbolTable__TypeNameDesc}, NULL, &_mid, "TypeName", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__TypeNameDesc = { (RT0__Struct[]){&_td_Object__ObjectDesc,&_td_ADT_Storable__ObjectDesc,&_td_OOC_SymbolTable__ItemDesc,&_td_OOC_SymbolTable__TypeDesc,&_td_OOC_SymbolTable__TypeNameDesc}, (void*[]){(void*)Object__ObjectDesc_Equals,(void*)Object__ObjectDesc_HashCode,(void*)Object__ObjectDesc_ToString,(void*)OOC_SymbolTable__TypeNameDesc_Load,(void*)OOC_SymbolTable__TypeNameDesc_Store,(void*)OOC_SymbolTable__ItemDesc_AddFlag,(void*)OOC_SymbolTable__ItemDesc_Module,(void*)OOC_SymbolTable__ItemDesc_Namespace,(void*)OOC_SymbolTable__ItemDesc_Procedure,(void*)OOC_SymbolTable__TypeDesc_ArrayDimensions,(void*)OOC_SymbolTable__TypeDesc_Bound,(void*)OOC_SymbolTable__TypeDesc_Closure,(void*)OOC_SymbolTable__TypeDesc_Deparam,(void*)OOC_SymbolTable__TypeDesc_PreciousTypePars,(void*)OOC_SymbolTable__TypeDesc_SetNamingDecl,(void*)OOC_SymbolTable__TypeDesc_SetSize,(void*)OOC_SymbolTable__TypeDesc_SetTypePars,(void*)OOC_SymbolTable__TypeNameDesc_GetImport,(void*)OOC_SymbolTable__TypeNameDesc_IsPredefReference,(void*)OOC_SymbolTable__TypeNameDesc_MarkAsPredefReference}, &_mid, "TypeNameDesc", 88, 4, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__Pointer = { (RT0__Struct[]){&_td_OOC_SymbolTable__PointerDesc}, NULL, &_mid, "Pointer", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__PointerDesc = { (RT0__Struct[]){&_td_Object__ObjectDesc,&_td_ADT_Storable__ObjectDesc,&_td_OOC_SymbolTable__ItemDesc,&_td_OOC_SymbolTable__TypeDesc,&_td_OOC_SymbolTable__PointerDesc}, (void*[]){(void*)Object__ObjectDesc_Equals,(void*)Object__ObjectDesc_HashCode,(void*)Object__ObjectDesc_ToString,(void*)OOC_SymbolTable__PointerDesc_Load,(void*)OOC_SymbolTable__PointerDesc_Store,(void*)OOC_SymbolTable__ItemDesc_AddFlag,(void*)OOC_SymbolTable__ItemDesc_Module,(void*)OOC_SymbolTable__ItemDesc_Namespace,(void*)OOC_SymbolTable__ItemDesc_Procedure,(void*)OOC_SymbolTable__TypeDesc_ArrayDimensions,(void*)OOC_SymbolTable__TypeDesc_Bound,(void*)OOC_SymbolTable__TypeDesc_Closure,(void*)OOC_SymbolTable__TypeDesc_Deparam,(void*)OOC_SymbolTable__TypeDesc_PreciousTypePars,(void*)OOC_SymbolTable__TypeDesc_SetNamingDecl,(void*)OOC_SymbolTable__TypeDesc_SetSize,(void*)OOC_SymbolTable__TypeDesc_SetTypePars}, &_mid, "PointerDesc", 96, 4, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__ExceptionName = { (RT0__Struct[]){&_td_OOC_SymbolTable__ExceptionNameDesc}, NULL, &_mid, "ExceptionName", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__22618 = { (RT0__Struct[]){&_td_OOC_SymbolTable__ExceptionName}, NULL, &_mid, NULL, 8, 1, RT0__strOpenArray };
RT0__StructDesc _td_OOC_SymbolTable__ExceptionNameArray = { (RT0__Struct[]){&_td_OOC_SymbolTable__22618}, NULL, &_mid, "ExceptionNameArray", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__ExceptionNameDesc = { (RT0__Struct[]){&_td_Object__ObjectDesc,&_td_ADT_Storable__ObjectDesc,&_td_OOC_SymbolTable__ItemDesc,&_td_OOC_SymbolTable__ExceptionNameDesc}, (void*[]){(void*)Object__ObjectDesc_Equals,(void*)Object__ObjectDesc_HashCode,(void*)Object__ObjectDesc_ToString,(void*)OOC_SymbolTable__ExceptionNameDesc_Load,(void*)OOC_SymbolTable__ExceptionNameDesc_Store,(void*)OOC_SymbolTable__ItemDesc_AddFlag,(void*)OOC_SymbolTable__ItemDesc_Module,(void*)OOC_SymbolTable__ItemDesc_Namespace,(void*)OOC_SymbolTable__ItemDesc_Procedure}, &_mid, "ExceptionNameDesc", 56, 3, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__VarDecl = { (RT0__Struct[]){&_td_OOC_SymbolTable__VarDeclDesc}, NULL, &_mid, "VarDecl", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__23236 = { (RT0__Struct[]){&_td_OOC_SymbolTable__VarDecl}, NULL, &_mid, NULL, 8, 1, RT0__strOpenArray };
RT0__StructDesc _td_OOC_SymbolTable__VarDeclArray = { (RT0__Struct[]){&_td_OOC_SymbolTable__23236}, NULL, &_mid, "VarDeclArray", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__FormalPars = { (RT0__Struct[]){&_td_OOC_SymbolTable__FormalParsDesc}, NULL, &_mid, "FormalPars", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__FormalParsDesc = { (RT0__Struct[]){&_td_Object__ObjectDesc,&_td_ADT_Storable__ObjectDesc,&_td_OOC_SymbolTable__ItemDesc,&_td_OOC_SymbolTable__TypeDesc,&_td_OOC_SymbolTable__FormalParsDesc}, (void*[]){(void*)Object__ObjectDesc_Equals,(void*)Object__ObjectDesc_HashCode,(void*)Object__ObjectDesc_ToString,(void*)OOC_SymbolTable__FormalParsDesc_Load,(void*)OOC_SymbolTable__FormalParsDesc_Store,(void*)OOC_SymbolTable__ItemDesc_AddFlag,(void*)OOC_SymbolTable__ItemDesc_Module,(void*)OOC_SymbolTable__FormalParsDesc_Namespace,(void*)OOC_SymbolTable__ItemDesc_Procedure,(void*)OOC_SymbolTable__TypeDesc_ArrayDimensions,(void*)OOC_SymbolTable__TypeDesc_Bound,(void*)OOC_SymbolTable__TypeDesc_Closure,(void*)OOC_SymbolTable__TypeDesc_Deparam,(void*)OOC_SymbolTable__TypeDesc_PreciousTypePars,(void*)OOC_SymbolTable__TypeDesc_SetNamingDecl,(void*)OOC_SymbolTable__TypeDesc_SetSize,(void*)OOC_SymbolTable__TypeDesc_SetTypePars,(void*)OOC_SymbolTable__FormalParsDesc_EnableRestParameters,(void*)OOC_SymbolTable__FormalParsDesc_SetNamespace,(void*)OOC_SymbolTable__FormalParsDesc_SetResultType}, &_mid, "FormalParsDesc", 128, 4, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__Array = { (RT0__Struct[]){&_td_OOC_SymbolTable__ArrayDesc}, NULL, &_mid, "Array", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__ArrayDesc = { (RT0__Struct[]){&_td_Object__ObjectDesc,&_td_ADT_Storable__ObjectDesc,&_td_OOC_SymbolTable__ItemDesc,&_td_OOC_SymbolTable__TypeDesc,&_td_OOC_SymbolTable__ArrayDesc}, (void*[]){(void*)Object__ObjectDesc_Equals,(void*)Object__ObjectDesc_HashCode,(void*)Object__ObjectDesc_ToString,(void*)OOC_SymbolTable__ArrayDesc_Load,(void*)OOC_SymbolTable__ArrayDesc_Store,(void*)OOC_SymbolTable__ItemDesc_AddFlag,(void*)OOC_SymbolTable__ItemDesc_Module,(void*)OOC_SymbolTable__ItemDesc_Namespace,(void*)OOC_SymbolTable__ItemDesc_Procedure,(void*)OOC_SymbolTable__TypeDesc_ArrayDimensions,(void*)OOC_SymbolTable__TypeDesc_Bound,(void*)OOC_SymbolTable__TypeDesc_Closure,(void*)OOC_SymbolTable__TypeDesc_Deparam,(void*)OOC_SymbolTable__TypeDesc_PreciousTypePars,(void*)OOC_SymbolTable__TypeDesc_SetNamingDecl,(void*)OOC_SymbolTable__TypeDesc_SetSize,(void*)OOC_SymbolTable__TypeDesc_SetTypePars,(void*)OOC_SymbolTable__ArrayDesc_GetInnermostElementType,(void*)OOC_SymbolTable__ArrayDesc_GetNonOpenElementType,(void*)OOC_SymbolTable__ArrayDesc_GetNthElementType,(void*)OOC_SymbolTable__ArrayDesc_GetOpenDimensions,(void*)OOC_SymbolTable__ArrayDesc_SetLength}, &_mid, "ArrayDesc", 112, 4, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__Record = { (RT0__Struct[]){&_td_OOC_SymbolTable__RecordDesc}, NULL, &_mid, "Record", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__RecordDesc = { (RT0__Struct[]){&_td_Object__ObjectDesc,&_td_ADT_Storable__ObjectDesc,&_td_OOC_SymbolTable__ItemDesc,&_td_OOC_SymbolTable__TypeDesc,&_td_OOC_SymbolTable__RecordDesc}, (void*[]){(void*)Object__ObjectDesc_Equals,(void*)Object__ObjectDesc_HashCode,(void*)Object__ObjectDesc_ToString,(void*)OOC_SymbolTable__RecordDesc_Load,(void*)OOC_SymbolTable__RecordDesc_Store,(void*)OOC_SymbolTable__ItemDesc_AddFlag,(void*)OOC_SymbolTable__ItemDesc_Module,(void*)OOC_SymbolTable__RecordDesc_Namespace,(void*)OOC_SymbolTable__ItemDesc_Procedure,(void*)OOC_SymbolTable__TypeDesc_ArrayDimensions,(void*)OOC_SymbolTable__TypeDesc_Bound,(void*)OOC_SymbolTable__TypeDesc_Closure,(void*)OOC_SymbolTable__TypeDesc_Deparam,(void*)OOC_SymbolTable__TypeDesc_PreciousTypePars,(void*)OOC_SymbolTable__TypeDesc_SetNamingDecl,(void*)OOC_SymbolTable__TypeDesc_SetSize,(void*)OOC_SymbolTable__TypeDesc_SetTypePars,(void*)OOC_SymbolTable__RecordDesc_AssignTBProcIndex,(void*)OOC_SymbolTable__RecordDesc_SetNamespace}, &_mid, "RecordDesc", 120, 4, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__TypeVarDesc = { (RT0__Struct[]){&_td_Object__ObjectDesc,&_td_ADT_Storable__ObjectDesc,&_td_OOC_SymbolTable__ItemDesc,&_td_OOC_SymbolTable__TypeDesc,&_td_OOC_SymbolTable__TypeVarDesc}, (void*[]){(void*)Object__ObjectDesc_Equals,(void*)Object__ObjectDesc_HashCode,(void*)Object__ObjectDesc_ToString,(void*)OOC_SymbolTable__TypeVarDesc_Load,(void*)OOC_SymbolTable__TypeVarDesc_Store,(void*)OOC_SymbolTable__ItemDesc_AddFlag,(void*)OOC_SymbolTable__ItemDesc_Module,(void*)OOC_SymbolTable__ItemDesc_Namespace,(void*)OOC_SymbolTable__ItemDesc_Procedure,(void*)OOC_SymbolTable__TypeDesc_ArrayDimensions,(void*)OOC_SymbolTable__TypeVarDesc_Bound,(void*)OOC_SymbolTable__TypeDesc_Closure,(void*)OOC_SymbolTable__TypeDesc_Deparam,(void*)OOC_SymbolTable__TypeDesc_PreciousTypePars,(void*)OOC_SymbolTable__TypeDesc_SetNamingDecl,(void*)OOC_SymbolTable__TypeDesc_SetSize,(void*)OOC_SymbolTable__TypeDesc_SetTypePars}, &_mid, "TypeVarDesc", 88, 4, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__QualType = { (RT0__Struct[]){&_td_OOC_SymbolTable__QualTypeDesc}, NULL, &_mid, "QualType", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__TypeRef = { (RT0__Struct[]){&_td_OOC_SymbolTable__TypeRef}, (void*[]){}, &_mid, "TypeRef", 16, 0, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__32443 = { (RT0__Struct[]){&_td_OOC_SymbolTable__TypeRef}, NULL, &_mid, NULL, 16, 1, RT0__strOpenArray };
RT0__StructDesc _td_OOC_SymbolTable__TypeRefArray = { (RT0__Struct[]){&_td_OOC_SymbolTable__32443}, NULL, &_mid, "TypeRefArray", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__QualTypeDesc = { (RT0__Struct[]){&_td_Object__ObjectDesc,&_td_ADT_Storable__ObjectDesc,&_td_OOC_SymbolTable__ItemDesc,&_td_OOC_SymbolTable__TypeDesc,&_td_OOC_SymbolTable__QualTypeDesc}, (void*[]){(void*)Object__ObjectDesc_Equals,(void*)Object__ObjectDesc_HashCode,(void*)Object__ObjectDesc_ToString,(void*)OOC_SymbolTable__QualTypeDesc_Load,(void*)OOC_SymbolTable__QualTypeDesc_Store,(void*)OOC_SymbolTable__ItemDesc_AddFlag,(void*)OOC_SymbolTable__ItemDesc_Module,(void*)OOC_SymbolTable__QualTypeDesc_Namespace,(void*)OOC_SymbolTable__ItemDesc_Procedure,(void*)OOC_SymbolTable__TypeDesc_ArrayDimensions,(void*)OOC_SymbolTable__TypeDesc_Bound,(void*)OOC_SymbolTable__TypeDesc_Closure,(void*)OOC_SymbolTable__QualTypeDesc_Deparam,(void*)OOC_SymbolTable__TypeDesc_PreciousTypePars,(void*)OOC_SymbolTable__TypeDesc_SetNamingDecl,(void*)OOC_SymbolTable__TypeDesc_SetSize,(void*)OOC_SymbolTable__TypeDesc_SetTypePars}, &_mid, "QualTypeDesc", 96, 4, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__TypeClosure = { (RT0__Struct[]){&_td_OOC_SymbolTable__TypeClosureDesc}, NULL, &_mid, "TypeClosure", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__TypeClosureDesc = { (RT0__Struct[]){&_td_Object__ObjectDesc,&_td_ADT_Storable__ObjectDesc,&_td_OOC_SymbolTable__ItemDesc,&_td_OOC_SymbolTable__TypeDesc,&_td_OOC_SymbolTable__TypeClosureDesc}, (void*[]){(void*)Object__ObjectDesc_Equals,(void*)Object__ObjectDesc_HashCode,(void*)Object__ObjectDesc_ToString,(void*)OOC_SymbolTable__TypeDesc_Load,(void*)OOC_SymbolTable__TypeDesc_Store,(void*)OOC_SymbolTable__ItemDesc_AddFlag,(void*)OOC_SymbolTable__ItemDesc_Module,(void*)OOC_SymbolTable__ItemDesc_Namespace,(void*)OOC_SymbolTable__ItemDesc_Procedure,(void*)OOC_SymbolTable__TypeDesc_ArrayDimensions,(void*)OOC_SymbolTable__TypeDesc_Bound,(void*)OOC_SymbolTable__TypeClosureDesc_Closure,(void*)OOC_SymbolTable__TypeClosureDesc_Deparam,(void*)OOC_SymbolTable__TypeDesc_PreciousTypePars,(void*)OOC_SymbolTable__TypeDesc_SetNamingDecl,(void*)OOC_SymbolTable__TypeDesc_SetSize,(void*)OOC_SymbolTable__TypeDesc_SetTypePars,(void*)OOC_SymbolTable__TypeClosureDesc_ArgumentsInduced,(void*)OOC_SymbolTable__TypeClosureDesc_Lookup}, &_mid, "TypeClosureDesc", 96, 4, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__ProcDeclDesc = { (RT0__Struct[]){&_td_Object__ObjectDesc,&_td_ADT_Storable__ObjectDesc,&_td_OOC_SymbolTable__ItemDesc,&_td_OOC_SymbolTable__DeclarationDesc,&_td_OOC_SymbolTable__ProcDeclDesc}, (void*[]){(void*)Object__ObjectDesc_Equals,(void*)Object__ObjectDesc_HashCode,(void*)Object__ObjectDesc_ToString,(void*)OOC_SymbolTable__ProcDeclDesc_Load,(void*)OOC_SymbolTable__ProcDeclDesc_Store,(void*)OOC_SymbolTable__ItemDesc_AddFlag,(void*)OOC_SymbolTable__ItemDesc_Module,(void*)OOC_SymbolTable__ProcDeclDesc_Namespace,(void*)OOC_SymbolTable__ItemDesc_Procedure,(void*)OOC_SymbolTable__DeclarationDesc_GetEmbeddedNamespace,(void*)OOC_SymbolTable__DeclarationDesc_GetId,(void*)OOC_SymbolTable__DeclarationDesc_IncrUsageCounter,(void*)OOC_SymbolTable__ProcDeclDesc_Class,(void*)OOC_SymbolTable__ProcDeclDesc_CopyTBProcIndex,(void*)OOC_SymbolTable__ProcDeclDesc_IsModuleBody,(void*)OOC_SymbolTable__ProcDeclDesc_IsTypeBound,(void*)OOC_SymbolTable__ProcDeclDesc_RegisterForwardDecl,(void*)OOC_SymbolTable__ProcDeclDesc_SetLinkName,(void*)OOC_SymbolTable__ProcDeclDesc_SetNamespace}, &_mid, "ProcDeclDesc", 144, 4, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__PredefProc = { (RT0__Struct[]){&_td_OOC_SymbolTable__PredefProcDesc}, NULL, &_mid, "PredefProc", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__PredefProcDesc = { (RT0__Struct[]){&_td_Object__ObjectDesc,&_td_ADT_Storable__ObjectDesc,&_td_OOC_SymbolTable__ItemDesc,&_td_OOC_SymbolTable__DeclarationDesc,&_td_OOC_SymbolTable__PredefProcDesc}, (void*[]){(void*)Object__ObjectDesc_Equals,(void*)Object__ObjectDesc_HashCode,(void*)Object__ObjectDesc_ToString,(void*)OOC_SymbolTable__PredefProcDesc_Load,(void*)OOC_SymbolTable__PredefProcDesc_Store,(void*)OOC_SymbolTable__ItemDesc_AddFlag,(void*)OOC_SymbolTable__ItemDesc_Module,(void*)OOC_SymbolTable__ItemDesc_Namespace,(void*)OOC_SymbolTable__ItemDesc_Procedure,(void*)OOC_SymbolTable__DeclarationDesc_GetEmbeddedNamespace,(void*)OOC_SymbolTable__DeclarationDesc_GetId,(void*)OOC_SymbolTable__DeclarationDesc_IncrUsageCounter}, &_mid, "PredefProcDesc", 96, 4, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__ConstDecl = { (RT0__Struct[]){&_td_OOC_SymbolTable__ConstDeclDesc}, NULL, &_mid, "ConstDecl", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__ConstDeclDesc = { (RT0__Struct[]){&_td_Object__ObjectDesc,&_td_ADT_Storable__ObjectDesc,&_td_OOC_SymbolTable__ItemDesc,&_td_OOC_SymbolTable__DeclarationDesc,&_td_OOC_SymbolTable__ConstDeclDesc}, (void*[]){(void*)Object__ObjectDesc_Equals,(void*)Object__ObjectDesc_HashCode,(void*)Object__ObjectDesc_ToString,(void*)OOC_SymbolTable__ConstDeclDesc_Load,(void*)OOC_SymbolTable__ConstDeclDesc_Store,(void*)OOC_SymbolTable__ItemDesc_AddFlag,(void*)OOC_SymbolTable__ItemDesc_Module,(void*)OOC_SymbolTable__ItemDesc_Namespace,(void*)OOC_SymbolTable__ItemDesc_Procedure,(void*)OOC_SymbolTable__DeclarationDesc_GetEmbeddedNamespace,(void*)OOC_SymbolTable__DeclarationDesc_GetId,(void*)OOC_SymbolTable__DeclarationDesc_IncrUsageCounter,(void*)OOC_SymbolTable__ConstDeclDesc_SetValueType}, &_mid, "ConstDeclDesc", 112, 4, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__VarDeclDesc = { (RT0__Struct[]){&_td_Object__ObjectDesc,&_td_ADT_Storable__ObjectDesc,&_td_OOC_SymbolTable__ItemDesc,&_td_OOC_SymbolTable__DeclarationDesc,&_td_OOC_SymbolTable__VarDeclDesc}, (void*[]){(void*)Object__ObjectDesc_Equals,(void*)Object__ObjectDesc_HashCode,(void*)Object__ObjectDesc_ToString,(void*)OOC_SymbolTable__VarDeclDesc_Load,(void*)OOC_SymbolTable__VarDeclDesc_Store,(void*)OOC_SymbolTable__ItemDesc_AddFlag,(void*)OOC_SymbolTable__ItemDesc_Module,(void*)OOC_SymbolTable__ItemDesc_Namespace,(void*)OOC_SymbolTable__ItemDesc_Procedure,(void*)OOC_SymbolTable__DeclarationDesc_GetEmbeddedNamespace,(void*)OOC_SymbolTable__DeclarationDesc_GetId,(void*)OOC_SymbolTable__DeclarationDesc_IncrUsageCounter,(void*)OOC_SymbolTable__VarDeclDesc_SetType}, &_mid, "VarDeclDesc", 120, 4, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__FieldDecl = { (RT0__Struct[]){&_td_OOC_SymbolTable__FieldDeclDesc}, NULL, &_mid, "FieldDecl", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__FieldDeclDesc = { (RT0__Struct[]){&_td_Object__ObjectDesc,&_td_ADT_Storable__ObjectDesc,&_td_OOC_SymbolTable__ItemDesc,&_td_OOC_SymbolTable__DeclarationDesc,&_td_OOC_SymbolTable__FieldDeclDesc}, (void*[]){(void*)Object__ObjectDesc_Equals,(void*)Object__ObjectDesc_HashCode,(void*)Object__ObjectDesc_ToString,(void*)OOC_SymbolTable__FieldDeclDesc_Load,(void*)OOC_SymbolTable__FieldDeclDesc_Store,(void*)OOC_SymbolTable__ItemDesc_AddFlag,(void*)OOC_SymbolTable__ItemDesc_Module,(void*)OOC_SymbolTable__ItemDesc_Namespace,(void*)OOC_SymbolTable__ItemDesc_Procedure,(void*)OOC_SymbolTable__DeclarationDesc_GetEmbeddedNamespace,(void*)OOC_SymbolTable__DeclarationDesc_GetId,(void*)OOC_SymbolTable__DeclarationDesc_IncrUsageCounter,(void*)OOC_SymbolTable__FieldDeclDesc_SetOffset}, &_mid, "FieldDeclDesc", 112, 4, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__TypeDeclDesc = { (RT0__Struct[]){&_td_Object__ObjectDesc,&_td_ADT_Storable__ObjectDesc,&_td_OOC_SymbolTable__ItemDesc,&_td_OOC_SymbolTable__DeclarationDesc,&_td_OOC_SymbolTable__TypeDeclDesc}, (void*[]){(void*)Object__ObjectDesc_Equals,(void*)Object__ObjectDesc_HashCode,(void*)Object__ObjectDesc_ToString,(void*)OOC_SymbolTable__TypeDeclDesc_Load,(void*)OOC_SymbolTable__TypeDeclDesc_Store,(void*)OOC_SymbolTable__ItemDesc_AddFlag,(void*)OOC_SymbolTable__ItemDesc_Module,(void*)OOC_SymbolTable__ItemDesc_Namespace,(void*)OOC_SymbolTable__ItemDesc_Procedure,(void*)OOC_SymbolTable__DeclarationDesc_GetEmbeddedNamespace,(void*)OOC_SymbolTable__DeclarationDesc_GetId,(void*)OOC_SymbolTable__DeclarationDesc_IncrUsageCounter,(void*)OOC_SymbolTable__TypeDeclDesc_HasTypeParameters,(void*)OOC_SymbolTable__TypeDeclDesc_IsTypeParameter,(void*)OOC_SymbolTable__TypeDeclDesc_ParametricType}, &_mid, "TypeDeclDesc", 112, 4, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__Redirect = { (RT0__Struct[]){&_td_OOC_SymbolTable__RedirectDesc}, NULL, &_mid, "Redirect", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__RedirectDesc = { (RT0__Struct[]){&_td_Object__ObjectDesc,&_td_ADT_Storable__ObjectDesc,&_td_OOC_SymbolTable__ItemDesc,&_td_OOC_SymbolTable__DeclarationDesc,&_td_OOC_SymbolTable__RedirectDesc}, (void*[]){(void*)Object__ObjectDesc_Equals,(void*)Object__ObjectDesc_HashCode,(void*)Object__ObjectDesc_ToString,(void*)OOC_SymbolTable__RedirectDesc_Load,(void*)OOC_SymbolTable__RedirectDesc_Store,(void*)OOC_SymbolTable__ItemDesc_AddFlag,(void*)OOC_SymbolTable__ItemDesc_Module,(void*)OOC_SymbolTable__ItemDesc_Namespace,(void*)OOC_SymbolTable__ItemDesc_Procedure,(void*)OOC_SymbolTable__DeclarationDesc_GetEmbeddedNamespace,(void*)OOC_SymbolTable__DeclarationDesc_GetId,(void*)OOC_SymbolTable__DeclarationDesc_IncrUsageCounter}, &_mid, "RedirectDesc", 104, 4, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__43025 = { (RT0__Struct[]){&_td_OOC_SymbolTable__PredefType}, NULL, &_mid, NULL, 8, 1, RT0__strOpenArray };
RT0__StructDesc _td_OOC_SymbolTable__43014 = { (RT0__Struct[]){&_td_OOC_SymbolTable__43025}, NULL, &_mid, NULL, 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__Writer = { (RT0__Struct[]){&_td_OOC_SymbolTable__WriterDesc}, NULL, &_mid, "Writer", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__WriterDesc = { (RT0__Struct[]){&_td_IO_BinaryRider__WriterDesc,&_td_ADT_Storable__WriterDesc,&_td_ADT_Object_Storage__WriterDesc,&_td_OOC_SymbolTable__WriterDesc}, (void*[]){(void*)IO_BinaryRider__WriterDesc_SetByteOrder,(void*)IO_BinaryRider__WriterDesc_SetPos,(void*)IO_BinaryRider__WriterDesc_WriteBool,(void*)IO_BinaryRider__WriterDesc_WriteBytes,(void*)IO_BinaryRider__WriterDesc_WriteChar,(void*)IO_BinaryRider__WriterDesc_WriteInt,(void*)IO_BinaryRider__WriterDesc_WriteLChar,(void*)IO_BinaryRider__WriterDesc_WriteLInt,(void*)IO_BinaryRider__WriterDesc_WriteLReal,(void*)IO_BinaryRider__WriterDesc_WriteLString,(void*)IO_BinaryRider__WriterDesc_WriteNum,(void*)IO_BinaryRider__WriterDesc_WriteOrdered,(void*)IO_BinaryRider__WriterDesc_WriteReal,(void*)IO_BinaryRider__WriterDesc_WriteSInt,(void*)IO_BinaryRider__WriterDesc_WriteSet,(void*)IO_BinaryRider__WriterDesc_WriteStr,(void*)IO_BinaryRider__WriterDesc_WriteString,(void*)ADT_Object_Storage__WriterDesc_Disconnect,(void*)ADT_Object_Storage__WriterDesc_WriteObject,(void*)OOC_SymbolTable__WriterDesc_INIT}, &_mid, "WriterDesc", 312, 3, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__Reader = { (RT0__Struct[]){&_td_OOC_SymbolTable__ReaderDesc}, NULL, &_mid, "Reader", 8, -1, RT0__strPointer };
RT0__StructDesc _td_OOC_SymbolTable__ReaderDesc = { (RT0__Struct[]){&_td_IO_BinaryRider__ReaderDesc,&_td_ADT_Storable__ReaderDesc,&_td_ADT_Object_Storage__ReaderDesc,&_td_OOC_SymbolTable__ReaderDesc}, (void*[]){(void*)IO_BinaryRider__ReaderDesc_ReadBool,(void*)IO_BinaryRider__ReaderDesc_ReadBytes,(void*)IO_BinaryRider__ReaderDesc_ReadBytesOrdered,(void*)IO_BinaryRider__ReaderDesc_ReadChar,(void*)IO_BinaryRider__ReaderDesc_ReadInt,(void*)IO_BinaryRider__ReaderDesc_ReadLChar,(void*)IO_BinaryRider__ReaderDesc_ReadLInt,(void*)IO_BinaryRider__ReaderDesc_ReadLReal,(void*)IO_BinaryRider__ReaderDesc_ReadLString,(void*)IO_BinaryRider__ReaderDesc_ReadNum,(void*)IO_BinaryRider__ReaderDesc_ReadReal,(void*)IO_BinaryRider__ReaderDesc_ReadSInt,(void*)IO_BinaryRider__ReaderDesc_ReadSet,(void*)IO_BinaryRider__ReaderDesc_ReadStr,(void*)IO_BinaryRider__ReaderDesc_ReadString,(void*)IO_BinaryRider__ReaderDesc_SetByteOrder,(void*)IO_BinaryRider__ReaderDesc_SetPos,(void*)ADT_Object_Storage__ReaderDesc_Disconnect,(void*)ADT_Object_Storage__ReaderDesc_ReadObject,(void*)OOC_SymbolTable__ReaderDesc_INIT}, &_mid, "ReaderDesc", 312, 3, RT0__strRecord };
RT0__StructDesc _td_OOC_SymbolTable__61693 = { (RT0__Struct[]){&RT0__char}, NULL, &_mid, NULL, 1024, 1024, RT0__strArray };
static RT0__ModuleDesc _mid = { (OOC_CHAR8*)"OOC:SymbolTable", (RT0__Struct[]) { &_td_OOC_SymbolTable__Position, &_td_OOC_SymbolTable__PositionDesc, &_td_OOC_SymbolTable__Name, &_td_OOC_SymbolTable__NameDesc, &_td_OOC_SymbolTable__Flag, &_td_OOC_SymbolTable__FlagDesc, &_td_OOC_SymbolTable__Item, &_td_OOC_SymbolTable__ItemDesc, &_td_OOC_SymbolTable__Declaration, &_td_OOC_SymbolTable__DeclarationDesc, &_td_OOC_SymbolTable__DeclarationArray, &_td_OOC_SymbolTable__Namespace, &_td_OOC_SymbolTable__NamespaceDesc, &_td_OOC_SymbolTable__TypePars, &_td_OOC_SymbolTable__TypeVar, &_td_OOC_SymbolTable__TypeVarArray, &_td_OOC_SymbolTable__TypeParsDesc, &_td_OOC_SymbolTable__Type, &_td_OOC_SymbolTable__TypeDecl, &_td_OOC_SymbolTable__TypeDesc, &_td_OOC_SymbolTable__LinkDirective, &_td_OOC_SymbolTable__LinkDirectiveDesc, &_td_OOC_SymbolTable__LinkFile, &_td_OOC_SymbolTable__LinkFileDesc, &_td_OOC_SymbolTable__LinkLib, &_td_OOC_SymbolTable__LinkLibDesc, &_td_OOC_SymbolTable__Module, &_td_OOC_SymbolTable__ModuleRef, &_td_OOC_SymbolTable__ModuleRefDesc, &_td_OOC_SymbolTable__ModuleRefArray, &_td_OOC_SymbolTable__ProcDecl, &_td_OOC_SymbolTable__ModuleDesc, &_td_OOC_SymbolTable__Import, &_td_OOC_SymbolTable__ImportDesc, &_td_OOC_SymbolTable__PredefType, &_td_OOC_SymbolTable__PredefTypeDesc, &_td_OOC_SymbolTable__TypeName, &_td_OOC_SymbolTable__TypeNameDesc, &_td_OOC_SymbolTable__Pointer, &_td_OOC_SymbolTable__PointerDesc, &_td_OOC_SymbolTable__ExceptionName, &_td_OOC_SymbolTable__ExceptionNameArray, &_td_OOC_SymbolTable__ExceptionNameDesc, &_td_OOC_SymbolTable__VarDecl, &_td_OOC_SymbolTable__VarDeclArray, &_td_OOC_SymbolTable__FormalPars, &_td_OOC_SymbolTable__FormalParsDesc, &_td_OOC_SymbolTable__Array, &_td_OOC_SymbolTable__ArrayDesc, &_td_OOC_SymbolTable__Record, &_td_OOC_SymbolTable__RecordDesc, &_td_OOC_SymbolTable__TypeVarDesc, &_td_OOC_SymbolTable__QualType, &_td_OOC_SymbolTable__TypeRef, &_td_OOC_SymbolTable__TypeRefArray, &_td_OOC_SymbolTable__QualTypeDesc, &_td_OOC_SymbolTable__TypeClosure, &_td_OOC_SymbolTable__TypeClosureDesc, &_td_OOC_SymbolTable__ProcDeclDesc, &_td_OOC_SymbolTable__PredefProc, &_td_OOC_SymbolTable__PredefProcDesc, &_td_OOC_SymbolTable__ConstDecl, &_td_OOC_SymbolTable__ConstDeclDesc, &_td_OOC_SymbolTable__VarDeclDesc, &_td_OOC_SymbolTable__FieldDecl, &_td_OOC_SymbolTable__FieldDeclDesc, &_td_OOC_SymbolTable__TypeDeclDesc, &_td_OOC_SymbolTable__Redirect, &_td_OOC_SymbolTable__RedirectDesc, &_td_OOC_SymbolTable__Writer, &_td_OOC_SymbolTable__WriterDesc, &_td_OOC_SymbolTable__Reader, &_td_OOC_SymbolTable__ReaderDesc, NULL } };

extern void OOC_OOC_SymbolTable_init0() {
  RT0__RegisterModule(&_mid);
  OOC_OOC_SymbolTable_init();
}

static void* _c0;
static void* _c1;
static void* _c2;
static void* _c3;
static void* _c4;
static void* _c5;
static void* _c6;
static void* _c7;
static void* _c8;
static void* _c9;
static void* _c10;
/* --- */
