
/*
 * This file was generated by the SOM Compiler.
 * FileName: word.ih.
 * Generated using:
 *     SOM Precompiler somipc: 2.29.1.19
 *     SOM Emitter emitih.dll: 2.77.1.179
 */

/*
 *   This class is adapted from the book
 *     Class Construction in C and C++, Object Oriented Fundamentals
 *     by Roger Sessions, Copyright (c) 1992 Prentice Hall.
 *   Reprinted with permission.
 */


/*
 * The SOM_STRICT_IDL macro means that we can ignore stars
 * in our declarations of objects.
 */
#define SOM_STRICT_IDL 1


#ifndef SOM_word_ih
#define SOM_word_ih


/*
 * Set the scope of method functions
 */
#ifndef SOM_Scope
#define SOM_Scope static
#endif

#ifndef SOM_word_h
#include "word.h"
#endif
#include <somcsr.h>
#if defined(__IBMC__) && (__IBMC__ >= 300)
  #pragma info(none)
#else
  #if defined(__IBMC__)
     #pragma checkout(suspend)
  #endif
#endif


/*
 * -- Instance data
 */
typedef struct {
	long length;
        /*
         *  The length of a word.
         */
	string storage;
} __somC_word_ProtectedPrivateData;
typedef __somC_word_ProtectedPrivateData wordData, *wordDataPtr;

/*
 * -- GetData macro
 */
typedef wordDataPtr SOMLINK somTP_word_DataThunk(void*);
typedef somTP_word_DataThunk *somTD_word_DataThunk;

#define wordGetData(somSelf) \
   (((somTD_word_DataThunk)(wordCClassData.instanceDataToken))(somSelf))
#define _length somThis->length
#define _storage somThis->storage

/*
 * -- Primary Implementation File Support
 */
#if (defined(word_Class_Source) || defined(SOM_Module_word_Source))

#ifndef wordMethodDebug
   #define wordMethodDebug(c,m) SOMMethodDebug(c,m)
#endif  /* wordMethodDebug */

static void SOMLINK __somC_word_classInit(SOMClass cls);


/*
 * Init ClassData Structures
 */
struct wordClassDataStructure SOMDLLEXPORT SOMDLINK wordClassData = {0};
struct wordCClassDataStructure SOMDLLEXPORT SOMDLINK wordCClassData = {0};


/*
 * Identifiers
 */
static char __somC_Strings_word0[] = {"word"}; /* class name */
static char __somC_Strings_word1[] = {"wordInit1"}; /* method name */
static char __somC_Strings_word2[] = {"wordInit2"}; /* method name */
static char __somC_Strings_word3[] = {"_get_length"}; /* method name */
static char __somC_Strings_word4[] = {"wordToInt"}; /* method name */
static char __somC_Strings_word5[] = {"wrdReplace"}; /* method name */
static char __somC_Strings_word6[] = {"baseType"}; /* parent name */
static char __somC_Strings_word7[] = {"match"}; /* overridden method name */
static char __somC_Strings_word8[] = {"print"}; /* overridden method name */
static char __somC_Strings_word9[] = {"somInit"}; /* overridden method name */
static char __somC_Strings_word10[] = {"somUninit"}; /* overridden method name */
static char __somC_Strings_word11[] = {"somDumpSelfInt"}; /* overridden method name */
static char * __somC_word_regIdsArray[] = {
	__somC_Strings_word0,
#ifndef __somC_word_regIds_wordInit1
#define __somC_word_regIds_wordInit1 1
#endif
	__somC_Strings_word1,
#ifndef __somC_word_regIds_wordInit2
#define __somC_word_regIds_wordInit2 2
#endif
	__somC_Strings_word2,
#ifndef __somC_word_regIds__get_length
#define __somC_word_regIds__get_length 3
#endif
	__somC_Strings_word3,
#ifndef __somC_word_regIds_wordToInt
#define __somC_word_regIds_wordToInt 4
#endif
	__somC_Strings_word4,
#ifndef __somC_word_regIds_wrdReplace
#define __somC_word_regIds_wrdReplace 5
#endif
	__somC_Strings_word5,
	__somC_Strings_word6,
#ifndef __somC_word_regIds_match
#define __somC_word_regIds_match 7
#endif
	__somC_Strings_word7,
#ifndef __somC_word_regIds_print
#define __somC_word_regIds_print 8
#endif
	__somC_Strings_word8,
#ifndef __somC_word_regIds_somInit
#define __somC_word_regIds_somInit 9
#endif
	__somC_Strings_word9,
#ifndef __somC_word_regIds_somUninit
#define __somC_word_regIds_somUninit 10
#endif
	__somC_Strings_word10,
#ifndef __somC_word_regIds_somDumpSelfInt
#define __somC_word_regIds_somDumpSelfInt 11
#endif
	__somC_Strings_word11
};


/*
 * Overridden method: match
 */
SOM_Scope boolean  SOMLINK match(word somSelf,
		string target);
static somMethodProc* word_parent_baseType_match_resolved;
#define word_parent_baseType_match(somSelf,target) \
  ((( somTD_baseType_match ) \
    word_parent_baseType_match_resolved)(somSelf,target))
#ifndef SOMGD_pmc_baseType_match
  #ifdef parent_baseType_match
     #define SOMGD_pmc_baseType_match 1
     #undef parent_baseType_match
  #else
     #define parent_baseType_match word_parent_baseType_match
  #endif /* parent_baseType_match */
#endif /* SOMGD_pmc_baseType_match */
#ifndef SOMGD_pmc_parent_match
  #ifdef parent_match
    #define SOMGD_pmc_parent_match
    #undef parent_match
  #else
#define parent_match word_parent_baseType_match
  #endif
#endif
#define word_parents_match(somSelf,target) (\
   word_parent_baseType_match(somSelf,target))
#define SOMPCALLword_match
static somMethodProc* word_pcall_match_resolved;
#define word_pcall_match(somSelf,target) \
  ((( somTD_baseType_match ) \
    word_pcall_match_resolved)(somSelf,target))
static boolean  SOMLINK word_pcallResolve_match(word somSelf,
		string target)
{
   return ((somTD_baseType_match) 
      somPCallResolve(somSelf, _word, _SOMMTOKEN_baseType(match)))(somSelf,target);
}


/*
 * Overridden method: print
 */
SOM_Scope void  SOMLINK print(word somSelf,
		FILE* outputFile);
static somMethodProc* word_parent_baseType_print_resolved;
#define word_parent_baseType_print(somSelf,outputFile) \
  ((( somTD_baseType_print ) \
    word_parent_baseType_print_resolved)(somSelf,outputFile))
#ifndef SOMGD_pmc_baseType_print
  #ifdef parent_baseType_print
     #define SOMGD_pmc_baseType_print 1
     #undef parent_baseType_print
  #else
     #define parent_baseType_print word_parent_baseType_print
  #endif /* parent_baseType_print */
#endif /* SOMGD_pmc_baseType_print */
#ifndef SOMGD_pmc_parent_print
  #ifdef parent_print
    #define SOMGD_pmc_parent_print
    #undef parent_print
  #else
#define parent_print word_parent_baseType_print
  #endif
#endif
#define word_parents_print(somSelf,outputFile) (\
   word_parent_baseType_print(somSelf,outputFile))
#define SOMPCALLword_print
static somMethodProc* word_pcall_print_resolved;
#define word_pcall_print(somSelf,outputFile) \
  ((( somTD_baseType_print ) \
    word_pcall_print_resolved)(somSelf,outputFile))
static void  SOMLINK word_pcallResolve_print(word somSelf,
		FILE* outputFile)
{
   ((somTD_baseType_print) 
      somPCallResolve(somSelf, _word, _SOMMTOKEN_baseType(print)))(somSelf,outputFile);
}


/*
 * Overridden method: somInit
 */
SOM_Scope void  SOMLINK somInit(word somSelf);
/* pcalls for somInit/somUninit are turned off */
#define word_parent_baseType_somInit(__somSelf) 
#ifndef parent_baseType_somInit
   #define parent_baseType_somInit(__somSelf) 
#endif
#ifndef parent_somInit
   #define parent_somInit(__somSelf) 
#endif
#define word_parents_somInit(__somSelf) 

/*
 * Overridden method: somUninit
 */
SOM_Scope void  SOMLINK somUninit(word somSelf);
/* pcalls for somInit/somUninit are turned off */
#define word_parent_baseType_somUninit(__somSelf) 
#ifndef parent_baseType_somUninit
   #define parent_baseType_somUninit(__somSelf) 
#endif
#ifndef parent_somUninit
   #define parent_somUninit(__somSelf) 
#endif
#define word_parents_somUninit(__somSelf) 

/*
 * Overridden method: somDumpSelfInt
 */
SOM_Scope void  SOMLINK somDumpSelfInt(word somSelf,
		long level);
static somMethodProc* word_parent_baseType_somDumpSelfInt_resolved;
#define word_parent_baseType_somDumpSelfInt(somSelf,level) \
  ((( somTD_SOMObject_somDumpSelfInt ) \
    word_parent_baseType_somDumpSelfInt_resolved)(somSelf,level))
#ifndef SOMGD_pmc_baseType_somDumpSelfInt
  #ifdef parent_baseType_somDumpSelfInt
     #define SOMGD_pmc_baseType_somDumpSelfInt 1
     #undef parent_baseType_somDumpSelfInt
  #else
     #define parent_baseType_somDumpSelfInt word_parent_baseType_somDumpSelfInt
  #endif /* parent_baseType_somDumpSelfInt */
#endif /* SOMGD_pmc_baseType_somDumpSelfInt */
#ifndef SOMGD_pmc_parent_somDumpSelfInt
  #ifdef parent_somDumpSelfInt
    #define SOMGD_pmc_parent_somDumpSelfInt
    #undef parent_somDumpSelfInt
  #else
#define parent_somDumpSelfInt word_parent_baseType_somDumpSelfInt
  #endif
#endif
#define word_parents_somDumpSelfInt(somSelf,level) (\
   word_parent_baseType_somDumpSelfInt(somSelf,level))
#define SOMPCALLword_somDumpSelfInt
static somMethodProc* word_pcall_somDumpSelfInt_resolved;
#define word_pcall_somDumpSelfInt(somSelf,level) \
  ((( somTD_SOMObject_somDumpSelfInt ) \
    word_pcall_somDumpSelfInt_resolved)(somSelf,level))
static void  SOMLINK word_pcallResolve_somDumpSelfInt(word somSelf,
		long level)
{
   ((somTD_SOMObject_somDumpSelfInt) 
      somPCallResolve(somSelf, _word, _SOMMTOKEN_SOMObject(somDumpSelfInt)))(somSelf,level);
}


/*
 * New Method: wordInit1
 */
SOM_Scope word  SOMLINK wordInit1(word somSelf,
		string newWord);
/*
 *  Initialize a word with a character string.
 */
#ifndef somId_wordInit1
#define somId_wordInit1 ((somId)&(__somC_word_regIdsArray[__somC_word_regIds_wordInit1]))
#endif
#define SOM_MPR_MINFO_wordInit1 {0, 8, 0}
static somMpRowMethodInfo word_wordInit1_mp_minfoRow = {{0, SOM_MP_ROWTYPE_METHODINFO}, SOM_MPR_MINFO_wordInit1};
#ifndef DEFINEDword_wordInit1_mp
#define DEFINEDword_wordInit1_mp
/*[ ::word::wordInit1 word_wordInit1_mp ]*/
/* Contract specification:
[CALLTYPE_OIDL (1)][RESULT][VERSION 0]
RESULT[out]: ObjREF
ARG 1[in]: String
*/
static struct { void * rows; unsigned char csr[4]; } word_wordInit1_mp={&word_wordInit1_mp_minfoRow, {
0x85, 0x02, 0x96, 0x54},
};
#endif
#define wordInit1_somMethodInfoValue 0
#define wordInit1_somApplyStubValue &word_wordInit1_mp.csr
#define wordInit1_somHasMPlan 8

/*
 * New Method: wordInit2
 */
SOM_Scope word  SOMLINK wordInit2(word somSelf,
		char newChar,
		long count);
/*
 *  Initialize a word with a character and
 *  count.  The new word will contain a null
 *  terminated buffer containing count number of
 *  newChars.
 */
#ifndef somId_wordInit2
#define somId_wordInit2 ((somId)&(__somC_word_regIdsArray[__somC_word_regIds_wordInit2]))
#endif
#define SOM_MPR_MINFO_wordInit2 {0, 12, 0}
static somMpRowMethodInfo word_wordInit2_mp_minfoRow = {{0, SOM_MP_ROWTYPE_METHODINFO}, SOM_MPR_MINFO_wordInit2};
#ifndef DEFINEDword_wordInit2_mp
#define DEFINEDword_wordInit2_mp
/*[ ::word::wordInit2 word_wordInit2_mp ]*/
/* Contract specification:
[CALLTYPE_OIDL (1)][RESULT][VERSION 0]
RESULT[out]: ObjREF
ARG 1[in]: Character
ARG 2[in]: Long
*/
static struct { void * rows; unsigned char csr[8]; } word_wordInit2_mp={&word_wordInit2_mp_minfoRow, {
0x85, 0x03, 0x96, 0x49, 0x43},
};
#endif
#define wordInit2_somMethodInfoValue 0
#define wordInit2_somApplyStubValue &word_wordInit2_mp.csr
#define wordInit2_somHasMPlan 8

/*
 * New Method: _get_length
 */
SOM_Scope long  SOMLINK _get_length(word somSelf);
/*
 *  The length of a word.
 */
#ifndef somId__get_length
#define somId__get_length ((somId)&(__somC_word_regIdsArray[__somC_word_regIds__get_length]))
#endif
/* Contract specification:
[CALLTYPE_OIDL (1)][RESULT][VERSION 0]
RESULT[out]: Long
*/
#define _get_length_somMethodInfoValue 0
#define _get_length_somApplyStubValue 0x830105
#define _get_length_somHasMPlan 24

/*
 * New Method: wordToInt
 */
SOM_Scope long  SOMLINK wordToInt(word somSelf);
/*
 *  Translate a word to an integer, such as "123" to 123.
 */
#ifndef somId_wordToInt
#define somId_wordToInt ((somId)&(__somC_word_regIdsArray[__somC_word_regIds_wordToInt]))
#endif
/* Contract specification:
[CALLTYPE_OIDL (1)][RESULT][VERSION 0]
RESULT[out]: Long
*/
#define wordToInt_somMethodInfoValue 0
#define wordToInt_somApplyStubValue 0x830105
#define wordToInt_somHasMPlan 24

/*
 * New Method: wrdReplace
 */
SOM_Scope void  SOMLINK wrdReplace(word somSelf,
		string newWord);
/*
 *  Replace the contents of a word by another word.
 */
#ifndef somId_wrdReplace
#define somId_wrdReplace ((somId)&(__somC_word_regIdsArray[__somC_word_regIds_wrdReplace]))
#endif
#define SOM_MPR_MINFO_wrdReplace {0, 8, 0}
static somMpRowMethodInfo word_wrdReplace_mp_minfoRow = {{0, SOM_MP_ROWTYPE_METHODINFO}, SOM_MPR_MINFO_wrdReplace};
#ifndef DEFINEDword_wrdReplace_mp
#define DEFINEDword_wrdReplace_mp
/*[ ::word::wrdReplace word_wrdReplace_mp ]*/
/* Contract specification:
[CALLTYPE_OIDL (1)][VERSION 0]
ARG 0[in]: String
*/
static struct { void * rows; unsigned char csr[4]; } word_wrdReplace_mp={&word_wrdReplace_mp_minfoRow, {
0x81, 0x01, 0x54},
};
#endif
#define wrdReplace_somMethodInfoValue 0
#define wrdReplace_somApplyStubValue &word_wrdReplace_mp.csr
#define wrdReplace_somHasMPlan 8

/*
 * Functions for attributes.
 */
SOM_Scope long  SOMLINK _get_length(word somSelf){
    wordData *somThis = wordGetData(somSelf);

    return  (somThis->length);
}

/*
 * Special Method Support
 */

/*
 * -- Routines and Structures to create the class object
 */
static SOMClass * __somC_word_parentArray[] = {
	NULL,
};
void * __somC_word_parentMtabs[1];

somMethodDefn __somC_word_newNDMethodsArray[] = {
	{  (0 | wordInit1_somHasMPlan), 0, (somMToken)0, (somMethodPtr)wordInit1, 
	   0, (somMethodPtr)wordInit1_somApplyStubValue, 
	   (somMethodInfo *) wordInit1_somMethodInfoValue, &wordClassData.wordInit1, 0, 1 },
	{  (0 | wordInit2_somHasMPlan), 0, (somMToken)0, (somMethodPtr)wordInit2, 
	   0, (somMethodPtr)wordInit2_somApplyStubValue, 
	   (somMethodInfo *) wordInit2_somMethodInfoValue, &wordClassData.wordInit2, 0, 1 },
	{  (0 | _get_length_somHasMPlan), 0, (somMToken)0, (somMethodPtr)_get_length, 
	   0, (somMethodPtr)_get_length_somApplyStubValue, 
	   (somMethodInfo *) _get_length_somMethodInfoValue, &wordClassData._get_length, 0, 1 },
	{  (0 | wordToInt_somHasMPlan), 0, (somMToken)0, (somMethodPtr)wordToInt, 
	   0, (somMethodPtr)wordToInt_somApplyStubValue, 
	   (somMethodInfo *) wordToInt_somMethodInfoValue, &wordClassData.wordToInt, 0, 1 },
	{  (0 | wrdReplace_somHasMPlan), 0, (somMToken)0, (somMethodPtr)wrdReplace, 
	   0, (somMethodPtr)wrdReplace_somApplyStubValue, 
	   (somMethodInfo *) wrdReplace_somMethodInfoValue, &wordClassData.wrdReplace, 0, 1 }
};

static somOverrideMethod_t2 __somC_word_overridesArray[] = {
{ &(__somC_word_regIdsArray[__somC_word_regIds_match]), 
#ifdef SOMPCALLword_match
   (somMethodPtr*)&word_pcall_match_resolved, 
   (somMethodPtr)word_pcallResolve_match, 
#else
   (somMethodPtr*)0, 
   (somMethodPtr)0, 
#endif
(somMethodPtr)match },
{ &(__somC_word_regIdsArray[__somC_word_regIds_print]), 
#ifdef SOMPCALLword_print
   (somMethodPtr*)&word_pcall_print_resolved, 
   (somMethodPtr)word_pcallResolve_print, 
#else
   (somMethodPtr*)0, 
   (somMethodPtr)0, 
#endif
(somMethodPtr)print },
{ &(__somC_word_regIdsArray[__somC_word_regIds_somInit]), 
#ifdef SOMPCALLword_somInit
   (somMethodPtr*)&word_pcall_somInit_resolved, 
   (somMethodPtr)word_pcallResolve_somInit, 
#else
   (somMethodPtr*)0, 
   (somMethodPtr)0, 
#endif
(somMethodPtr)somInit },
{ &(__somC_word_regIdsArray[__somC_word_regIds_somUninit]), 
#ifdef SOMPCALLword_somUninit
   (somMethodPtr*)&word_pcall_somUninit_resolved, 
   (somMethodPtr)word_pcallResolve_somUninit, 
#else
   (somMethodPtr*)0, 
   (somMethodPtr)0, 
#endif
(somMethodPtr)somUninit },
{ &(__somC_word_regIdsArray[__somC_word_regIds_somDumpSelfInt]), 
#ifdef SOMPCALLword_somDumpSelfInt
   (somMethodPtr*)&word_pcall_somDumpSelfInt_resolved, 
   (somMethodPtr)word_pcallResolve_somDumpSelfInt, 
#else
   (somMethodPtr*)0, 
   (somMethodPtr)0, 
#endif
(somMethodPtr)somDumpSelfInt }
};

static somClassVars1 __somC_word_classVars1 = {
	1,		/* layoutVersion */
	(void *)NULL,	/* extension */
	sizeof(wordData),	/* dataSize */
	4,		/* type code dataAlignment */
	(somMethodPtr)0,	/* classAllocate */
	(somMethodPtr)0	/* classDeallocate */
};

static struct wordClassDataStructure __somC_word_resolvedMTokens;

static void * __somC_word_CIB_unsharedClassVariablesPtr = 0;
som3ClassInfoStruct __somC_word_ClassInfo; /* C forward reference */

SOM_CIB word_ClassInitBlock = {
	1,	/* layoutVersion */
	&__somC_word_classVars1,
	&__somC_word_CIB_unsharedClassVariablesPtr,	/* unsharedVars */
	word_MajorVersion,
	word_MinorVersion,
	0x40004,	/* constFlags */
	0xFFFFFFFF,	/* inheritVars */
	0,	/* classMeta */
	(somMethodPtr) __somC_word_classInit,	/* classInit */
	(somMethodPtr) 0,	/* classUninit */
	(somMethodPtr) somInit,	/* legacyInit */
	(somMethodPtr) somUninit,	/* legacyUninit */
	(somMethodPtr) 0,	/* udaAssign */
	(somMethodPtr) 0,	/* udaConstAssign */
	0,	/* protectedDataOffset */
	0,	/* numEmbeddedObjs */
	0,	/* embeddedObjs */
	12,	/* numRegIds */
	__somC_word_regIdsArray,	/* regIds */
	(sizeof(struct wordClassDataStructure) - sizeof(SOMClass *))/sizeof(somMToken),	/* numClassDataEntries */
	(somClassDataStructurePtr)&wordClassData,
	(somCClassDataStructurePtr)&wordCClassData,
	&__somC_word_ClassInfo,
	1,	/* numParents */
	(SOMClass**)__somC_word_parentArray,	/* parents */
	1,	/* numDirectInitClasses */
	(SOMClass**)__somC_word_parentArray,	/* directInitClasses */
	0,	/* numNewInitializers */
	0,	/* newInitializerSymbols */
	0,	/* numOvInitializers */
	0,	/* ovInitializerSymbols */
	0,	/* special overrides */
	5,	/* maxNDMethods */
	__somC_word_newNDMethodsArray,	/* newNDMethods */
	5,	/* numOverrides */
	__somC_word_overridesArray,	/* overrides */
	0,	/* numInheritedSelections */
	0,	/* inheritedSelections */
	0,	/* numMigratedMethods */
	0 	/* migrated methods */
};	/* CIB */

static som3ClassDetails __somC_word_ClassDetails = {
	(somMethodTabPtr)NULL,	/* mtab */
	(somMethodTabPtr *)__somC_word_parentMtabs,	/* parentMtabs */
	&word_ClassInitBlock,	/* CIB pointer */
	(somTD_somRenewNoInitNoZeroThunk)0,	/* somRenewNoInitNoZeroThunk */
	(long)0,	/* instanceSize */
	(somMethodProc**)NULL,	/* resolvedInits */
	(somClassDataStructure *)&__somC_word_resolvedMTokens,	/* resolvedMTokens */
	{0,0,0,0},	/* initCtrl */
	{0,0,0,0},	/* destructCtrl */
	{0,0,0,0},	/* assignCtrl */
	(long)1,	/* layoutVersion */
	(void*)NULL,	/* extension */
	(somDToken)NULL,	/* publicDataToken */
	(somDToken)NULL,	/* protectedDataToken */
};
som3ClassInfoStruct __somC_word_ClassInfo = {
	0,	/* classObject */
	&__somC_word_ClassDetails	/* class details */
};


/*
 * Class Creation and Initialization
 */

#if defined(__IBMC__) && (defined(_WIN32) || defined(__OS2__)) && !defined(SOM_PREWARP)
#pragma alloc_text (SEG0002, __somC_word_classInit)
#pragma alloc_text (SEG0002, wordNewClass)
#endif

/* classinit function */
SOM_Scope void SOMLINK __somC_word_classInit(SOMClass somSelf)
{
   SOM_IgnoreWarning(somSelf);
   word_parent_baseType_somDumpSelfInt_resolved = 
	somParentNumResolve(wordCClassData.parentMtab, 1, _SOMMTOKEN_SOMObject(somDumpSelfInt)); 
   word_parent_baseType_print_resolved = 
	somParentNumResolve(wordCClassData.parentMtab, 1, _SOMMTOKEN_baseType(print)); 
   word_parent_baseType_match_resolved = 
	somParentNumResolve(wordCClassData.parentMtab, 1, _SOMMTOKEN_baseType(match)); 
}

/* NewClass Function */
SOMEXTERN SOMDLLEXPORT SOMClass  SOMLINK wordNewClass (long reqMajorVersion, long reqMinorVersion)
{
   if (_SOMCLASS_word && _somCheckVersion(_SOMCLASS_word,reqMajorVersion,reqMinorVersion))
      return _SOMCLASS_word;
__somC_word_parentArray[0] = (SOMClass *)&_SOMCLASS_baseType;
   /* require parents */
   if (!_SOMCLASS_baseType) baseTypeNewClass(baseType_MajorVersion,baseType_MinorVersion);
   /* return new class */
   return somBuildClass2( &word_ClassInitBlock, reqMajorVersion, reqMinorVersion );
}

#endif       /* Primary Implementation Support */
#if defined(__IBMC__) && (__IBMC__ >= 300)
  #pragma info(restore)
#else
  #if defined(__IBMC__)
    #pragma checkout(resume)
  #endif
#endif

#endif       /* SOM_word_ih */
