示例#1
0
Object* Java_java_lang_reflect_Array_createMultiArray(Env* env, Class* cls, Class* componentType, IntArray* dimensions) {
    const char* componentTypeDesc = rvmGetClassDescriptor(env, componentType);
    char* desc = rvmAllocateMemoryAtomic(env, strlen(componentTypeDesc) + dimensions->length + 1);
    memset(desc, '[', dimensions->length);
    strcat(desc, componentTypeDesc);

    Class* clazz = rvmFindClassByDescriptor(env, desc, componentType->classLoader);
    return (Object*) rvmNewMultiArray(env, dimensions->length, dimensions->values, clazz);
}
示例#2
0
文件: bc.c 项目: SinoJerk/robovm
Array* _bcNewMultiArray(Env* env, jint dims, jint* lengths, Class* arrayClass) {
    ENTER;
    Array* array = rvmNewMultiArray(env, dims, lengths, arrayClass);
    LEAVE(array);
}