void ShallowSizeByClassesAction::tagClasses()

in src/sizes/shallow_size_by_classes.cpp [22:37]


void ShallowSizeByClassesAction::tagClasses(jobjectArray classesArray) {
    for (jsize i = 0; i < env->GetArrayLength(classesArray); i++) {
        jobject classObject = env->GetObjectArrayElement(classesArray, i);
        jvmtiError err = tagClassAndItsInheritors(env, jvmti, classObject,  [i](jlong oldTag) -> jlong {
            ClassTag *classTag = tagToClassTagPointer(oldTag);
            if (classTag != nullptr) {
                classTag->ids.push_back(i);
            } else {
                return pointerToTag(ClassTag::create(static_cast<query_size_t>(i)));
            }

            return 0;
        });
        handleError(jvmti, err, "could not set getTag for class object");
    }
}