minor initTables adjustments

This commit is contained in:
gered 2017-04-18 21:49:28 -04:00
parent b3473776e6
commit 3737998f60
3 changed files with 7 additions and 1 deletions

View file

@ -48,7 +48,10 @@ public class Bind {
private void implementMirror_initTables(List<CDeclaration> declarationList) { private void implementMirror_initTables(List<CDeclaration> declarationList) {
out.println("JNIEXPORT void JNICALL Java_" + context.getPackageName() + "_Mirror_initTables(JNIEnv * env, jclass jclz){"); out.println("JNIEXPORT void JNICALL Java_" + context.getPackageName() + "_Mirror_initTables(JNIEnv * env, jclass jclz){");
out.println("if (areTypeTablesInitialized) return;");
implementVariablesBind(declarationList); implementVariablesBind(declarationList);
out.println("areTypeTablesInitialized = true;");
out.println("println(\"BWMirror lookup tables are initialized.\");");
out.println("}"); out.println("}");
out.println(); out.println();
} }
@ -196,6 +199,7 @@ public class Bind {
out.println("getId = env->GetMethodID(cls,\"<init>\", \"(III)V\");"); out.println("getId = env->GetMethodID(cls,\"<init>\", \"(III)V\");");
} else { } else {
out.println("getId = env->GetStaticMethodID(cls, \"get\", \"(J)L" + context.getPackageName() + "/" + cClass.getName() + ";\");"); out.println("getId = env->GetStaticMethodID(cls, \"get\", \"(J)L" + context.getPackageName() + "/" + cClass.getName() + ";\");");
out.println("table" + cClass.getName() + ".clear();");
} }
printedIntro = true; printedIntro = true;
} }

View file

@ -28,6 +28,8 @@ public class TypeTable {
} }
} }
out.println(); out.println();
out.println("bool areTypeTablesInitialized = false;");
out.println();
} }
private void checkTypeTable(CClass cClass) { private void checkTypeTable(CClass cClass) {

View file

@ -109,7 +109,7 @@ public class Mirror {
/** /**
* Initializes all BWAPI constant lookup tables. * Initializes all BWAPI constant lookup tables.
*/ */
private static native void initTables(); public static native void initTables();
/** /**
* Initializes a connection to Broodwar, initializes the a {@link Game} object, and dispatches * Initializes a connection to Broodwar, initializes the a {@link Game} object, and dispatches