Lines Matching refs:c1
119 static ClassObject* findCommonSuperclass(ClassObject* c1, ClassObject* c2);
2310 static ClassObject* digForSuperclass(ClassObject* c1, ClassObject* c2)
2314 depth1 = getClassDepth(c1);
2319 c1->descriptor, depth1, c2->descriptor, depth2);
2325 c1 = c1->super;
2336 while (c1 != c2) {
2337 c1 = c1->super;
2340 assert(c1 != NULL && c2 != NULL);
2344 LOGVV(" : --> %s", c1->descriptor);
2346 return c1;
2372 static ClassObject* findCommonArraySuperclass(ClassObject* c1, ClassObject* c2)
2380 arrayDim1 = c1->arrayDim;
2382 assert(c1->arrayDim > 0);
2385 if (dvmIsPrimitiveClass(c1->elementClass)) {
2399 commonElem = findCommonSuperclass(c1->elementClass, c2->elementClass);
2413 arrayClass = commonElem = c1->super; // == java.lang.Object
2428 c1->descriptor, c2->descriptor, arrayClass->descriptor);
2462 static ClassObject* findCommonSuperclass(ClassObject* c1, ClassObject* c2)
2464 assert(!dvmIsPrimitiveClass(c1) && !dvmIsPrimitiveClass(c2));
2466 if (c1 == c2)
2467 return c1;
2469 if (dvmIsInterfaceClass(c1) && dvmImplements(c2, c1)) {
2472 c1->descriptor, c2->descriptor, c1->descriptor);
2473 return c1;
2475 if (dvmIsInterfaceClass(c2) && dvmImplements(c1
2478 c1->descriptor, c2->descriptor, c2->descriptor);
2482 if (dvmIsArrayClass(c1) && dvmIsArrayClass(c2)) {
2483 return findCommonArraySuperclass(c1, c2);
2486 return digForSuperclass(c1, c2);