writer.print(cArgTypeName);
writer.print(") ( JNI_TRUE == " + isNIOArgName(i) + " ? ");
writer.print(" (*env)->GetDirectBufferAddress(env, " + javaArgName + ") : ");
writer.print(" (*env)->GetPrimitiveArrayCritical(env, " + javaArgName + ", NULL) );");
} else {
<BUG>if (!isBaseTypeConst(cArgType) &&
</BUG>
!javaArgType.isArrayOfCompoundTypeWrappers()) {
throw new GlueGenException(
"Cannot copy data for ptr-to-ptr arg type \"" + cArgType.getDebugString() +

writer.print(cArgTypeName);
writer.print(") ( JNI_TRUE == " + isNIOArgName(i) + " ? ");
writer.print(" (*env)->GetDirectBufferAddress(env, " + javaArgName + ") : ");
writer.print(" (*env)->GetPrimitiveArrayCritical(env, " + javaArgName + ", NULL) );");
} else {
if (!cArgType.isBaseTypeConst() &&
!javaArgType.isArrayOfCompoundTypeWrappers()) {
throw new GlueGenException(
"Cannot copy data for ptr-to-ptr arg type \"" + cArgType.getDebugString() +
