cleanup and variable rename (no code changes)

This commit is contained in:
Eric House 2018-07-11 07:33:36 -07:00
parent 3477bcf7b6
commit bd1cc4276b
5 changed files with 99 additions and 70 deletions

View file

@ -912,6 +912,7 @@ public class GameUtils {
m_gotMsg = false; m_gotMsg = false;
m_gameOver = false; m_gameOver = false;
} }
@Override @Override
public void showChat( String msg, int fromIndx, String fromName, int tsSeconds ) public void showChat( String msg, int fromIndx, String fromName, int tsSeconds )
{ {
@ -921,11 +922,14 @@ public class GameUtils {
m_chat = msg; m_chat = msg;
m_ts = tsSeconds; m_ts = tsSeconds;
} }
@Override
public void turnChanged( int newTurn ) public void turnChanged( int newTurn )
{ {
m_gotMsg = true; m_gotMsg = true;
} }
@Override
public void notifyGameOver() public void notifyGameOver()
{ {
m_gameOver = true; m_gameOver = true;

View file

@ -44,7 +44,7 @@ public class JNIUtilsImpl implements JNIUtils {
private JNIUtilsImpl(Context context) { m_context = context; } private JNIUtilsImpl(Context context) { m_context = context; }
public static JNIUtils get() public static synchronized JNIUtils get()
{ {
if ( null == s_impl ) { if ( null == s_impl ) {
s_impl = new JNIUtilsImpl( XWApp.getContext() ); s_impl = new JNIUtilsImpl( XWApp.getContext() );

View file

@ -39,94 +39,114 @@ public class UtilCtxtImpl implements UtilCtxt {
m_context = context; m_context = context;
} }
@Override
public void requestTime() { public void requestTime() {
subclassOverride( "requestTime" ); subclassOverride( "requestTime" );
} }
@Override
public void notifyPickTileBlank( int playerNum, int col, int row, public void notifyPickTileBlank( int playerNum, int col, int row,
String[] texts ) String[] texts )
{ {
subclassOverride( "userPickTileBlank" ); subclassOverride( "userPickTileBlank" );
} }
@Override
public void informNeedPickTiles( boolean isInitial, int playerNum, int nToPick, public void informNeedPickTiles( boolean isInitial, int playerNum, int nToPick,
String[] texts, int[] counts ) String[] texts, int[] counts )
{ {
subclassOverride( "informNeedPickTiles" ); subclassOverride( "informNeedPickTiles" );
} }
@Override
public void informNeedPassword( int player, String name ) public void informNeedPassword( int player, String name )
{ {
subclassOverride( "informNeedPassword" ); subclassOverride( "informNeedPassword" );
} }
@Override
public void turnChanged( int newTurn ) public void turnChanged( int newTurn )
{ {
subclassOverride( "turnChanged" ); subclassOverride( "turnChanged" );
} }
@Override
public boolean engineProgressCallback() public boolean engineProgressCallback()
{ {
// subclassOverride( "engineProgressCallback" ); // subclassOverride( "engineProgressCallback" );
return true; return true;
} }
@Override
public void setTimer( int why, int when, int handle ) public void setTimer( int why, int when, int handle )
{ {
subclassOverride( "setTimer" ); subclassOverride( "setTimer" );
} }
@Override
public void clearTimer( int why ) public void clearTimer( int why )
{ {
subclassOverride( "clearTimer" ); subclassOverride( "clearTimer" );
} }
@Override
public void remSelected() public void remSelected()
{ {
subclassOverride( "remSelected" ); subclassOverride( "remSelected" );
} }
@Override
public void setIsServer( boolean isServer ) public void setIsServer( boolean isServer )
{ {
subclassOverride( "setIsServer" ); subclassOverride( "setIsServer" );
} }
@Override
public void bonusSquareHeld( int bonus ) public void bonusSquareHeld( int bonus )
{ {
} }
@Override
public void playerScoreHeld( int player ) public void playerScoreHeld( int player )
{ {
} }
@Override
public void cellSquareHeld( String words ) public void cellSquareHeld( String words )
{ {
} }
@Override
public void notifyMove( String query ) public void notifyMove( String query )
{ {
subclassOverride( "notifyMove" ); subclassOverride( "notifyMove" );
} }
@Override
public void notifyTrade( String[] tiles ) public void notifyTrade( String[] tiles )
{ {
subclassOverride( "notifyTrade" ); subclassOverride( "notifyTrade" );
} }
@Override
public void userError( int id ) public void userError( int id )
{ {
subclassOverride( "userError" ); subclassOverride( "userError" );
} }
@Override
public void informMove( int turn, String expl, String words ) public void informMove( int turn, String expl, String words )
{ {
subclassOverride( "informMove" ); subclassOverride( "informMove" );
} }
@Override
public void informUndo() public void informUndo()
{ {
subclassOverride( "informUndo" ); subclassOverride( "informUndo" );
} }
@Override
public void informNetDict( int lang, String oldName, public void informNetDict( int lang, String oldName,
String newName, String newSum, String newName, String newSum,
CurGameInfo.XWPhoniesChoice phonies ) CurGameInfo.XWPhoniesChoice phonies )
@ -134,6 +154,7 @@ public class UtilCtxtImpl implements UtilCtxt {
subclassOverride( "informNetDict" ); subclassOverride( "informNetDict" );
} }
@Override
public void informMissing( boolean isServer, public void informMissing( boolean isServer,
CommsConnTypeSet connTypes, CommsConnTypeSet connTypes,
int nDevices, int nMissingPlayers ) int nDevices, int nMissingPlayers )
@ -143,11 +164,13 @@ public class UtilCtxtImpl implements UtilCtxt {
// Probably want to cache the fact that the game over notification // Probably want to cache the fact that the game over notification
// showed up and then display it next time game's opened. // showed up and then display it next time game's opened.
@Override
public void notifyGameOver() public void notifyGameOver()
{ {
subclassOverride( "notifyGameOver" ); subclassOverride( "notifyGameOver" );
} }
@Override
public void notifyIllegalWords( String dict, String[] words, int turn, public void notifyIllegalWords( String dict, String[] words, int turn,
boolean turnLost ) boolean turnLost )
{ {
@ -155,6 +178,7 @@ public class UtilCtxtImpl implements UtilCtxt {
} }
// These need to go into some sort of chat DB, not dropped. // These need to go into some sort of chat DB, not dropped.
@Override
public void showChat( String msg, int fromIndx, String fromName, int tsSeconds ) public void showChat( String msg, int fromIndx, String fromName, int tsSeconds )
{ {
subclassOverride( "showChat" ); subclassOverride( "showChat" );

View file

@ -745,7 +745,6 @@ and_util_engineStopping( XW_UtilCtxt* uc )
static XW_DUtilCtxt* static XW_DUtilCtxt*
and_util_getDevUtilCtxt( XW_UtilCtxt* uc ) and_util_getDevUtilCtxt( XW_UtilCtxt* uc )
{ {
LOG_FUNC();
AndGameGlobals* globals = (AndGameGlobals*)uc->closure; AndGameGlobals* globals = (AndGameGlobals*)uc->closure;
XP_ASSERT( !!globals->dutil ); XP_ASSERT( !!globals->dutil );
return globals->dutil; return globals->dutil;

View file

@ -1,3 +1,4 @@
/* -*- compile-command: "find-and-gradle.sh inXw4Deb"; -*- */ /* -*- compile-command: "find-and-gradle.sh inXw4Deb"; -*- */
/* /*
* Copyright © 2009 - 2018 by Eric House (xwords@eehouse.org). All rights * Copyright © 2009 - 2018 by Eric House (xwords@eehouse.org). All rights
@ -71,18 +72,18 @@ typedef struct _JNIGlobalState {
#ifdef MEM_DEBUG #ifdef MEM_DEBUG
static MemPoolCtx* static MemPoolCtx*
getMPool( JNIGlobalState* state ) getMPool( JNIGlobalState* globalState )
{ {
XP_ASSERT( !state->mpoolInUse ); XP_ASSERT( !globalState->mpoolInUse );
state->mpoolInUse = XP_TRUE; globalState->mpoolInUse = XP_TRUE;
return state->mpool; return globalState->mpool;
} }
static void static void
releaseMPool( JNIGlobalState* state ) releaseMPool( JNIGlobalState* globalState )
{ {
XP_ASSERT( state->mpoolInUse ); XP_ASSERT( globalState->mpoolInUse );
state->mpoolInUse = XP_FALSE; globalState->mpoolInUse = XP_FALSE;
} }
#else #else
# define releaseMPool(s) # define releaseMPool(s)
@ -285,17 +286,18 @@ Java_org_eehouse_android_xw4_jni_XwJNI_initGlobals
#ifdef MEM_DEBUG #ifdef MEM_DEBUG
MemPoolCtx* mpool = mpool_make( NULL ); MemPoolCtx* mpool = mpool_make( NULL );
#endif #endif
JNIGlobalState* state = (JNIGlobalState*)XP_CALLOC( mpool, sizeof(*state) ); JNIGlobalState* globalState = (JNIGlobalState*)XP_CALLOC( mpool,
map_init( MPPARM(mpool) &state->ti, env ); sizeof(*globalState) );
state->jniutil = makeJNIUtil( MPPARM(mpool) env, &state->ti, jniu ); map_init( MPPARM(mpool) &globalState->ti, env );
state->vtMgr = make_vtablemgr( MPPARM_NOCOMMA(mpool) ); globalState->jniutil = makeJNIUtil( MPPARM(mpool) env, &globalState->ti, jniu );
state->dutil = makeDUtil( MPPARM(mpool) &state->ti, jdutil, state->vtMgr, globalState->vtMgr = make_vtablemgr( MPPARM_NOCOMMA(mpool) );
state->jniutil, NULL ); globalState->dutil = makeDUtil( MPPARM(mpool) &globalState->ti, jdutil,
state->dictMgr = dmgr_make( MPPARM_NOCOMMA( mpool ) ); globalState->vtMgr, globalState->jniutil, NULL );
state->smsProto = smsproto_init( MPPARM( mpool ) state->dutil ); globalState->dictMgr = dmgr_make( MPPARM_NOCOMMA( mpool ) );
MPASSIGN( state->mpool, mpool ); globalState->smsProto = smsproto_init( MPPARM( mpool ) globalState->dutil );
// LOG_RETURNF( "%p", state ); MPASSIGN( globalState->mpool, mpool );
return (jint)state; // LOG_RETURNF( "%p", globalState );
return (jint)globalState;
} }
JNIEXPORT void JNICALL JNIEXPORT void JNICALL
@ -304,18 +306,18 @@ Java_org_eehouse_android_xw4_jni_XwJNI_cleanGlobals
{ {
// LOG_FUNC(); // LOG_FUNC();
if ( 0 != jniGlobalPtr ) { if ( 0 != jniGlobalPtr ) {
JNIGlobalState* state = (JNIGlobalState*)jniGlobalPtr; JNIGlobalState* globalState = (JNIGlobalState*)jniGlobalPtr;
#ifdef MEM_DEBUG #ifdef MEM_DEBUG
MemPoolCtx* mpool = getMPool( state ); MemPoolCtx* mpool = getMPool( globalState );
#endif #endif
XP_ASSERT( ENVFORME(&state->ti) == env ); XP_ASSERT( ENVFORME(&globalState->ti) == env );
smsproto_free( state->smsProto ); smsproto_free( globalState->smsProto );
vtmgr_destroy( MPPARM(mpool) state->vtMgr ); vtmgr_destroy( MPPARM(mpool) globalState->vtMgr );
dmgr_destroy( state->dictMgr ); dmgr_destroy( globalState->dictMgr );
destroyDUtil( &state->dutil ); destroyDUtil( &globalState->dutil );
destroyJNIUtil( env, &state->jniutil ); destroyJNIUtil( env, &globalState->jniutil );
map_destroy( &state->ti ); map_destroy( &globalState->ti );
XP_FREE( mpool, state ); XP_FREE( mpool, globalState );
mpool_destroy( mpool ); mpool_destroy( mpool );
} }
} }
@ -562,12 +564,12 @@ Java_org_eehouse_android_xw4_jni_XwJNI_gi_1to_1stream
( JNIEnv* env, jclass C, jint jniGlobalPtr, jobject jgi ) ( JNIEnv* env, jclass C, jint jniGlobalPtr, jobject jgi )
{ {
jbyteArray result; jbyteArray result;
JNIGlobalState* state = (JNIGlobalState*)jniGlobalPtr; JNIGlobalState* globalState = (JNIGlobalState*)jniGlobalPtr;
#ifdef MEM_DEBUG #ifdef MEM_DEBUG
MemPoolCtx* mpool = getMPool( state ); MemPoolCtx* mpool = getMPool( globalState );
#endif #endif
CurGameInfo* gi = makeGI( MPPARM(mpool) env, jgi ); CurGameInfo* gi = makeGI( MPPARM(mpool) env, jgi );
XWStreamCtxt* stream = mem_stream_make( MPPARM(mpool) state->vtMgr, XWStreamCtxt* stream = mem_stream_make( MPPARM(mpool) globalState->vtMgr,
NULL, 0, NULL ); NULL, 0, NULL );
game_saveToStream( NULL, gi, stream, 0 ); game_saveToStream( NULL, gi, stream, 0 );
@ -575,7 +577,7 @@ Java_org_eehouse_android_xw4_jni_XwJNI_gi_1to_1stream
result = streamToBArray( env, stream ); result = streamToBArray( env, stream );
stream_destroy( stream ); stream_destroy( stream );
releaseMPool( state ); releaseMPool( globalState );
return result; return result;
} }
@ -583,12 +585,12 @@ JNIEXPORT void JNICALL
Java_org_eehouse_android_xw4_jni_XwJNI_gi_1from_1stream Java_org_eehouse_android_xw4_jni_XwJNI_gi_1from_1stream
( JNIEnv* env, jclass C, jint jniGlobalPtr, jobject jgi, jbyteArray jstream ) ( JNIEnv* env, jclass C, jint jniGlobalPtr, jobject jgi, jbyteArray jstream )
{ {
JNIGlobalState* state = (JNIGlobalState*)jniGlobalPtr; JNIGlobalState* globalState = (JNIGlobalState*)jniGlobalPtr;
#ifdef MEM_DEBUG #ifdef MEM_DEBUG
MemPoolCtx* mpool = getMPool( state ); MemPoolCtx* mpool = getMPool( globalState );
#endif #endif
XWStreamCtxt* stream = streamFromJStream( MPPARM(mpool) env, XWStreamCtxt* stream = streamFromJStream( MPPARM(mpool) env,
state->vtMgr, jstream ); globalState->vtMgr, jstream );
CurGameInfo gi; CurGameInfo gi;
XP_MEMSET( &gi, 0, sizeof(gi) ); XP_MEMSET( &gi, 0, sizeof(gi) );
@ -602,7 +604,7 @@ Java_org_eehouse_android_xw4_jni_XwJNI_gi_1from_1stream
gi_disposePlayerInfo( MPPARM(mpool) &gi ); gi_disposePlayerInfo( MPPARM(mpool) &gi );
stream_destroy( stream ); stream_destroy( stream );
releaseMPool( state ); releaseMPool( globalState );
} }
JNIEXPORT jbyteArray JNICALL JNIEXPORT jbyteArray JNICALL
@ -610,23 +612,23 @@ Java_org_eehouse_android_xw4_jni_XwJNI_nli_1to_1stream
( JNIEnv* env, jclass C, jint jniGlobalPtr, jobject njli ) ( JNIEnv* env, jclass C, jint jniGlobalPtr, jobject njli )
{ {
LOG_FUNC(); LOG_FUNC();
JNIGlobalState* state = (JNIGlobalState*)jniGlobalPtr; JNIGlobalState* globalState = (JNIGlobalState*)jniGlobalPtr;
#ifdef MEM_DEBUG #ifdef MEM_DEBUG
MemPoolCtx* mpool = getMPool( state ); MemPoolCtx* mpool = getMPool( globalState );
#endif #endif
jbyteArray result; jbyteArray result;
NetLaunchInfo nli = {0}; NetLaunchInfo nli = {0};
loadNLI( env, &nli, njli ); loadNLI( env, &nli, njli );
/* CurGameInfo* gi = makeGI( MPPARM(mpool) env, jgi ); */ /* CurGameInfo* gi = makeGI( MPPARM(mpool) env, jgi ); */
XWStreamCtxt* stream = mem_stream_make( MPPARM(mpool) state->vtMgr, XWStreamCtxt* stream = mem_stream_make( MPPARM(mpool) globalState->vtMgr,
NULL, 0, NULL ); NULL, 0, NULL );
nli_saveToStream( &nli, stream ); nli_saveToStream( &nli, stream );
result = streamToBArray( env, stream ); result = streamToBArray( env, stream );
stream_destroy( stream ); stream_destroy( stream );
releaseMPool( state ); releaseMPool( globalState );
return result; return result;
} }
@ -635,12 +637,12 @@ Java_org_eehouse_android_xw4_jni_XwJNI_nli_1from_1stream
( JNIEnv* env, jclass C, jint jniGlobalPtr, jobject jnli, jbyteArray jstream ) ( JNIEnv* env, jclass C, jint jniGlobalPtr, jobject jnli, jbyteArray jstream )
{ {
LOG_FUNC(); LOG_FUNC();
JNIGlobalState* state = (JNIGlobalState*)jniGlobalPtr; JNIGlobalState* globalState = (JNIGlobalState*)jniGlobalPtr;
#ifdef MEM_DEBUG #ifdef MEM_DEBUG
MemPoolCtx* mpool = getMPool( state ); MemPoolCtx* mpool = getMPool( globalState );
#endif #endif
XWStreamCtxt* stream = streamFromJStream( MPPARM(mpool) env, XWStreamCtxt* stream = streamFromJStream( MPPARM(mpool) env,
state->vtMgr, jstream ); globalState->vtMgr, jstream );
NetLaunchInfo nli = {0}; NetLaunchInfo nli = {0};
if ( nli_makeFromStream( &nli, stream ) ) { if ( nli_makeFromStream( &nli, stream ) ) {
@ -650,7 +652,7 @@ Java_org_eehouse_android_xw4_jni_XwJNI_nli_1from_1stream
} }
stream_destroy( stream ); stream_destroy( stream );
releaseMPool( state ); releaseMPool( globalState );
} }
JNIEXPORT void JNICALL JNIEXPORT void JNICALL
@ -709,15 +711,15 @@ Java_org_eehouse_android_xw4_jni_XwJNI_dict_1getInfo
jstring jname, jstring jpath, jboolean check, jobject jinfo ) jstring jname, jstring jpath, jboolean check, jobject jinfo )
{ {
jboolean result = false; jboolean result = false;
JNIGlobalState* state = (JNIGlobalState*)jniGlobalPtr; JNIGlobalState* globalState = (JNIGlobalState*)jniGlobalPtr;
map_thread( &state->ti, env ); map_thread( &globalState->ti, env );
#ifdef MEM_DEBUG #ifdef MEM_DEBUG
MemPoolCtx* mpool = getMPool( state ); MemPoolCtx* mpool = getMPool( globalState );
#endif #endif
DictionaryCtxt* dict = makeDict( MPPARM(mpool) env, state->dictMgr, DictionaryCtxt* dict = makeDict( MPPARM(mpool) env, globalState->dictMgr,
state->jniutil, jname, jDictBytes, jpath, globalState->jniutil, jname, jDictBytes, jpath,
NULL, check ); NULL, check );
if ( NULL != dict ) { if ( NULL != dict ) {
if ( NULL != jinfo ) { if ( NULL != jinfo ) {
@ -731,7 +733,7 @@ Java_org_eehouse_android_xw4_jni_XwJNI_dict_1getInfo
result = true; result = true;
} }
releaseMPool( state ); releaseMPool( globalState );
return result; return result;
} }
@ -785,8 +787,8 @@ Java_org_eehouse_android_xw4_jni_XwJNI_smsproto_1prepOutbound
jstring jToPhone, jint jNow, jboolean jForce, jintArray jWaitSecsArr ) jstring jToPhone, jint jNow, jboolean jForce, jintArray jWaitSecsArr )
{ {
jobjectArray result = NULL; jobjectArray result = NULL;
JNIGlobalState* state = (JNIGlobalState*)jniGlobalPtr; JNIGlobalState* globalState = (JNIGlobalState*)jniGlobalPtr;
map_thread( &state->ti, env ); map_thread( &globalState->ti, env );
jbyte* data = NULL; jbyte* data = NULL;
int len = 0; int len = 0;
@ -797,11 +799,11 @@ Java_org_eehouse_android_xw4_jni_XwJNI_smsproto_1prepOutbound
const char* toPhone = (*env)->GetStringUTFChars( env, jToPhone, NULL ); const char* toPhone = (*env)->GetStringUTFChars( env, jToPhone, NULL );
XP_U16 waitSecs; XP_U16 waitSecs;
SMSMsgArray* arr = smsproto_prepOutbound( state->smsProto, (const XP_U8*)data, SMSMsgArray* arr = smsproto_prepOutbound( globalState->smsProto, (const XP_U8*)data,
len, toPhone, jForce, &waitSecs ); len, toPhone, jForce, &waitSecs );
if ( !!arr ) { if ( !!arr ) {
result = msgArrayToByteArrays( env, arr ); result = msgArrayToByteArrays( env, arr );
smsproto_freeMsgArray( state->smsProto, arr ); smsproto_freeMsgArray( globalState->smsProto, arr );
} }
setIntInArray( env, jWaitSecsArr, 0, waitSecs ); setIntInArray( env, jWaitSecsArr, 0, waitSecs );
@ -820,18 +822,18 @@ Java_org_eehouse_android_xw4_jni_XwJNI_smsproto_1prepInbound
jstring jFromPhone ) jstring jFromPhone )
{ {
jobjectArray result = NULL; jobjectArray result = NULL;
JNIGlobalState* state = (JNIGlobalState*)jniGlobalPtr; JNIGlobalState* globalState = (JNIGlobalState*)jniGlobalPtr;
map_thread( &state->ti, env ); map_thread( &globalState->ti, env );
int len = (*env)->GetArrayLength( env, jData ); int len = (*env)->GetArrayLength( env, jData );
jbyte* data = (*env)->GetByteArrayElements( env, jData, NULL ); jbyte* data = (*env)->GetByteArrayElements( env, jData, NULL );
const char* fromPhone = (*env)->GetStringUTFChars( env, jFromPhone, NULL ); const char* fromPhone = (*env)->GetStringUTFChars( env, jFromPhone, NULL );
SMSMsgArray* arr = smsproto_prepInbound( state->smsProto, fromPhone, SMSMsgArray* arr = smsproto_prepInbound( globalState->smsProto, fromPhone,
(XP_U8*)data, len ); (XP_U8*)data, len );
if ( !!arr ) { if ( !!arr ) {
result = msgArrayToByteArrays( env, arr ); result = msgArrayToByteArrays( env, arr );
smsproto_freeMsgArray( state->smsProto, arr ); smsproto_freeMsgArray( globalState->smsProto, arr );
} }
(*env)->ReleaseStringUTFChars( env, jFromPhone, fromPhone ); (*env)->ReleaseStringUTFChars( env, jFromPhone, fromPhone );
@ -2145,8 +2147,8 @@ JNIEXPORT jboolean JNICALL
Java_org_eehouse_android_xw4_jni_XwJNI_haveEnv Java_org_eehouse_android_xw4_jni_XwJNI_haveEnv
( JNIEnv* env, jclass C, jint jniGlobalPtr ) ( JNIEnv* env, jclass C, jint jniGlobalPtr )
{ {
JNIGlobalState* state = (JNIGlobalState*)jniGlobalPtr; JNIGlobalState* globalState = (JNIGlobalState*)jniGlobalPtr;
jboolean result = NULL != prvEnvForMe(&state->ti); jboolean result = NULL != prvEnvForMe(&globalState->ti);
return result; return result;
} }
@ -2201,20 +2203,20 @@ Java_org_eehouse_android_xw4_jni_XwJNI_dict_1iter_1init
jstring jpath ) jstring jpath )
{ {
jint closure = 0; jint closure = 0;
JNIGlobalState* state = (JNIGlobalState*)jniGlobalPtr; JNIGlobalState* globalState = (JNIGlobalState*)jniGlobalPtr;
DictionaryCtxt* dict = makeDict( MPPARM(state->mpool) env, state->dictMgr, DictionaryCtxt* dict = makeDict( MPPARM(globalState->mpool) env,
state->jniutil, jname, jDictBytes, jpath, NULL, globalState->dictMgr, globalState->jniutil,
false ); jname, jDictBytes, jpath, NULL, false );
if ( !!dict ) { if ( !!dict ) {
DictIterData* data = XP_CALLOC( state->mpool, sizeof(*data) ); DictIterData* data = XP_CALLOC( globalState->mpool, sizeof(*data) );
data->env = env; data->env = env;
data->vtMgr = make_vtablemgr( MPPARM_NOCOMMA(state->mpool) ); data->vtMgr = make_vtablemgr( MPPARM_NOCOMMA(globalState->mpool) );
data->jniutil = state->jniutil; data->jniutil = globalState->jniutil;
data->dict = dict; data->dict = dict;
data->depth = 2; data->depth = 2;
#ifdef MEM_DEBUG #ifdef MEM_DEBUG
data->mpool = state->mpool; data->mpool = globalState->mpool;
#endif #endif
closure = (int)data; closure = (int)data;
} }