Lines Matching refs:descriptor

28 static ClassObject* createArrayClass(const char* descriptor, Object* loader);
42 assert(arrayClass->descriptor != NULL);
43 assert(arrayClass->descriptor[0] == '[');
53 std::string descriptor(dvmHumanReadableDescriptor(arrayClass->descriptor));
55 "%s of length %zd exceeds the VM limit", descriptor.c_str(), length);
74 const char* descriptor = arrayClass->descriptor;
76 assert(descriptor[0] == '['); /* must be array class */
77 if (descriptor[1] != '[' && descriptor[1] != 'L') {
79 assert(descriptor[2] == '\0');
80 return dvmAllocPrimitiveArray(descriptor[1], length, allocFlags);
97 /* Simply prepend "[" to the descriptor. */
98 int nameLen = strlen(elemClassObj->descriptor);
102 memcpy(className+1, elemClassObj->descriptor, nameLen+1);
175 const char* elemName = arrayClass->descriptor + 1; // Advance past one '['.
178 arrayClass->descriptor, curDim, *dimensions);
183 arrayClass->descriptor);
188 arrayClass->descriptor);
243 ClassObject* dvmFindArrayClass(const char* descriptor, Object* loader)
247 assert(descriptor[0] == '[');
248 //ALOGV("dvmFindArrayClass: '%s' %p", descriptor, loader);
250 clazz = dvmLookupClass(descriptor, loader, false);
252 ALOGV("Array class '%s' %p not found; creating", descriptor, loader);
253 clazz = createArrayClass(descriptor, loader);
263 * array itself). "descriptor" looks like "[C" or "[Ljava/lang/String;".
265 * If "descriptor" refers to an array of primitives, look up the
275 static ClassObject* createArrayClass(const char* descriptor, Object* loader)
282 assert(descriptor[0] == '[');
290 if (descriptor[1] == '[') {
291 /* array of arrays; keep descriptor and grab stuff from parent */
294 outer = dvmFindClassNoInit(&descriptor[1], loader);
305 if (descriptor[1] == 'L') {
306 /* array of objects; strip off "[" and look up descriptor. */
307 const char* subDescriptor = &descriptor[1];
313 elementClass = dvmFindPrimitiveClass(descriptor[1]);
345 descriptor, loader, elementClass->classLoader);
346 newClass = dvmLookupClass(descriptor, elementClass->classLoader, false);
349 descriptor, elementClass->classLoader, loader);
370 newClass->descriptorAlloc = strdup(descriptor);
371 newClass->descriptor = newClass->descriptorAlloc;
417 descriptor);
476 newClass = dvmLookupClass(descriptor, elementClass->classLoader, false);
483 descriptor, newClass->classLoader,
509 src[count]->clazz->descriptor, dstElemClass->descriptor);
545 (*src)->clazz->descriptor, dstElemClass->descriptor);
600 const char *descriptor;
607 descriptor = arrayClass->descriptor;
608 switch (descriptor[1]) {
619 ALOGE("class %p has an unhandled descriptor '%s'", arrayClass, descriptor);