Exemplo n.º 1
0
/* create/initialize an object */
DB_ENV_JAVAINFO *
dbjie_construct(JNIEnv *jnienv,
                jobject default_errcall,
                int is_dbopen)
{
    DB_ENV_JAVAINFO *dbjie;

    dbjie = (DB_ENV_JAVAINFO *)malloc(sizeof(DB_ENV_JAVAINFO));
    memset(dbjie, 0, sizeof(DB_ENV_JAVAINFO));
    dbjie->is_dbopen_ = is_dbopen;

    if ((*jnienv)->GetJavaVM(jnienv, &dbjie->javavm_) != 0) {
        free(dbjie);
        report_exception(jnienv, "cannot get Java VM", 0, 0);
        return (NULL);
    }

    /* The default error call just prints to the 'System.err'
     * stream.  If the user does set_errcall to null, we'll
     * want to have a reference to set it back to.
     *
     * Why do we have always set db_errcall to our own callback?
     * Because it makes the interaction between setting the
     * error prefix, error stream, and user's error callback
     * that much easier.
     */
    dbjie->default_errcall_ = NEW_GLOBAL_REF(jnienv, default_errcall);
    dbjie->errcall_ = NEW_GLOBAL_REF(jnienv, default_errcall);
    return (dbjie);
}
Exemplo n.º 2
0
void dbji_set_h_hash_object(DB_JAVAINFO *dbji, JNIEnv *jnienv,
                            DB *db, jobject jhash)
{
    jclass h_hash_class;

    if (dbji->h_hash_method_id_ == NULL) {
        h_hash_class = get_class(jnienv, name_DbHash);
        dbji->h_hash_method_id_ =
            (*jnienv)->GetMethodID(jnienv, h_hash_class,
                                   "hash",
                                   "(Lcom/sleepycat/db/Db;"
                                   "[BI)I");
        if (dbji->h_hash_method_id_ == NULL) {
            /* XXX
             * We should really have a better way
             * to translate this to a Java exception class.
             * In theory, it shouldn't happen.
             */
            report_exception(jnienv, "Cannot find callback method",
                             EFAULT, 0);
            return;
        }
    }

    if (dbji->h_hash_ != NULL)
        DELETE_GLOBAL_REF(jnienv, dbji->h_hash_);

    if (jhash == NULL)
        db->set_h_hash(db, NULL);
    else
        db->set_h_hash(db, Db_h_hash_callback);

    dbji->h_hash_ = NEW_GLOBAL_REF(jnienv, jhash);
}
Exemplo n.º 3
0
void dbji_set_dup_compare_object(DB_JAVAINFO *dbji, JNIEnv *jnienv,
                                 DB *db, jobject jcompare)
{
    jclass dup_compare_class;

    if (dbji->dup_compare_method_id_ == NULL) {
        dup_compare_class = get_class(jnienv, name_DbDupCompare);
        dbji->dup_compare_method_id_ =
            (*jnienv)->GetMethodID(jnienv, dup_compare_class,
                                   "dup_compare",
                                   "(Lcom/sleepycat/db/Db;"
                                   "Lcom/sleepycat/db/Dbt;"
                                   "Lcom/sleepycat/db/Dbt;)I");
        if (dbji->dup_compare_method_id_ == NULL) {
            /* XXX
             * We should really have a better way
             * to translate this to a Java exception class.
             * In theory, it shouldn't happen.
             */
            report_exception(jnienv, "Cannot find callback method",
                             EFAULT, 0);
            return;
        }
    }

    if (dbji->dup_compare_ != NULL)
        DELETE_GLOBAL_REF(jnienv, dbji->dup_compare_);

    if (jcompare == NULL)
        db->set_dup_compare(db, NULL);
    else
        db->set_dup_compare(db, Db_dup_compare_callback);

    dbji->dup_compare_ = NEW_GLOBAL_REF(jnienv, jcompare);
}
// public static extern new void _InitProxy() [static] :15
void HttpRequest::_InitProxy1()
{
    if (HttpRequest::_javaProxyClass1()) { return; }
    INIT_JNI;
    HttpRequest::_javaProxyClass1() = NEW_GLOBAL_REF(jclass,::g::Android::Base::JNI::LoadClass(jni, "com.Bindings.Android_com_fuse_ExperimentalHttp_HttpRequest"));
    ::g::Android::Base::JNI::CheckException1(U_JNIVAR);
    if (!HttpRequest::_javaProxyClass1()) { THROW_UNO_EXCEPTION("Unable to cache class 'Android_com_fuse_ExperimentalHttp_HttpRequest'", 69);; }
    
    BEGIN_REG_MTD(7);
    //#if !#{Android.com.fuse.ExperimentalHttp.HttpRequest.OnDataReceived(Android.Base.Wrappers.IJWrapper,int):IsStripped}
    REG_MTD(0,"__n_OnDataReceived","(J[BIJJ)V",::Android_com_fuse_ExperimentalHttp_HttpRequest__OnDataReceived44285);
    //#endif
    //#if !#{Android.com.fuse.ExperimentalHttp.HttpRequest.OnAborted():IsStripped}
    REG_MTD(1,"__n_OnAborted","(J)V",::Android_com_fuse_ExperimentalHttp_HttpRequest__OnAborted44286);
    //#endif
    //#if !#{Android.com.fuse.ExperimentalHttp.HttpRequest.OnError(Android.Base.Wrappers.IJWrapper):IsStripped}
    REG_MTD(2,"__n_OnError","(JLjava/lang/String;J)V",::Android_com_fuse_ExperimentalHttp_HttpRequest__OnError44287);
    //#endif
    //#if !#{Android.com.fuse.ExperimentalHttp.HttpRequest.OnTimeout():IsStripped}
    REG_MTD(3,"__n_OnTimeout","(J)V",::Android_com_fuse_ExperimentalHttp_HttpRequest__OnTimeout44288);
    //#endif
    //#if !#{Android.com.fuse.ExperimentalHttp.HttpRequest.OnDone():IsStripped}
    REG_MTD(4,"__n_OnDone","(J)V",::Android_com_fuse_ExperimentalHttp_HttpRequest__OnDone44289);
    //#endif
    //#if !#{Android.com.fuse.ExperimentalHttp.HttpRequest.OnHeadersReceived():IsStripped}
    REG_MTD(5,"__n_OnHeadersReceived","(J)V",::Android_com_fuse_ExperimentalHttp_HttpRequest__OnHeadersReceived44290);
    //#endif
    //#if !#{Android.com.fuse.ExperimentalHttp.HttpRequest.OnProgress(int,int,bool):IsStripped}
    REG_MTD(6,"__n_OnProgress","(JIIZJJJ)V",::Android_com_fuse_ExperimentalHttp_HttpRequest__OnProgress44291);
    //#endif
    COMMIT_REG_MTD(HttpRequest::_javaProxyClass1());
}
// public static extern new void _Init() [static] :19
void HttpRequest::_Init1()
{
    if (HttpRequest::_javaClass1()) { return; }
    INIT_JNI;
    HttpRequest::_javaClass1() = NEW_GLOBAL_REF(jclass,LOAD_SYS_CLASS("com/fuse/ExperimentalHttp/HttpRequest"));
    ::g::Android::Base::JNI::CheckException1(U_JNIVAR);
    if (!HttpRequest::_javaClass1()) { THROW_UNO_EXCEPTION("Unable to cache class 'com.fuse.ExperimentalHttp.HttpRequest'", 61);; }
}
// public static extern new void _Init() [static] :534
void InputStream::_Init2()
{
    if (InputStream::_javaClass2()) { return; }
    INIT_JNI;
    InputStream::_javaClass2() = NEW_GLOBAL_REF(jclass,LOAD_SYS_CLASS("java/io/InputStream"));
    ::g::Android::Base::JNI::CheckException1(U_JNIVAR);
    if (!InputStream::_javaClass2()) { THROW_UNO_EXCEPTION("Unable to cache class 'java.io.InputStream'", 43);; }
}
Exemplo n.º 7
0
// public static extern new void _Init() [static] :1264
void Activity::_Init5()
{
    if (Activity::_javaClass5()) { return; }
    INIT_JNI;
    Activity::_javaClass5() = NEW_GLOBAL_REF(jclass,LOAD_SYS_CLASS("android/app/Activity"));
    ::g::Android::Base::JNI::CheckException1(U_JNIVAR);
    if (!Activity::_javaClass5()) { THROW_UNO_EXCEPTION("Unable to cache class 'android.app.Activity'", 44);; }
}
Exemplo n.º 8
0
// public static extern new void _Init() [static] :15
void Uri::_Init2()
{
    if (Uri::_javaClass2()) { return; }
    INIT_JNI;
    Uri::_javaClass2() = NEW_GLOBAL_REF(jclass,LOAD_SYS_CLASS("android/net/Uri"));
    ::g::Android::Base::JNI::CheckException1(U_JNIVAR);
    if (!Uri::_javaClass2()) { THROW_UNO_EXCEPTION("Unable to cache class 'android.net.Uri'", 39);; }
}
void GLUtils___Init_2(::uStatic* __this)
{
    if (::app::Android::android::opengl::GLUtils___javaClass_2) { return; }
    INIT_JNI;
    ::app::Android::android::opengl::GLUtils___javaClass_2 = NEW_GLOBAL_REF(jclass,LOAD_SYS_CLASS("android/opengl/GLUtils"));
    ::app::Android::Base::JNI__CheckException_1(NULL, U_JNIVAR);
    if (!::app::Android::android::opengl::GLUtils___javaClass_2) { THROW_UNO_EXCEPTION("Unable to cache class 'android.opengl.GLUtils'", 46);; }
}
// public static extern new void _Init() [static] :1335
void ValueAnimator::_Init3()
{
    if (ValueAnimator::_javaClass3()) { return; }
    INIT_JNI;
    ValueAnimator::_javaClass3() = NEW_GLOBAL_REF(jclass,LOAD_SYS_CLASS("android/animation/ValueAnimator"));
    ::g::Android::Base::JNI::CheckException1(U_JNIVAR);
    if (!ValueAnimator::_javaClass3()) { THROW_UNO_EXCEPTION("Unable to cache class 'android.animation.ValueAnimator'", 55);; }
}
Exemplo n.º 11
0
// public static extern new void _Init() [static] :60
void Layout::_Init2()
{
    if (Layout::_javaClass2()) { return; }
    INIT_JNI;
    Layout::_javaClass2() = NEW_GLOBAL_REF(jclass,LOAD_SYS_CLASS("android/text/Layout"));
    ::g::Android::Base::JNI::CheckException1(U_JNIVAR);
    if (!Layout::_javaClass2()) { THROW_UNO_EXCEPTION("Unable to cache class 'android.text.Layout'", 43);; }
}
Exemplo n.º 12
0
// public static extern new void _Init() [static] :5090
void TypedValue::_Init2()
{
    if (TypedValue::_javaClass2()) { return; }
    INIT_JNI;
    TypedValue::_javaClass2() = NEW_GLOBAL_REF(jclass,LOAD_SYS_CLASS("android/util/TypedValue"));
    ::g::Android::Base::JNI::CheckException1(U_JNIVAR);
    if (!TypedValue::_javaClass2()) { THROW_UNO_EXCEPTION("Unable to cache class 'android.util.TypedValue'", 47);; }
}
// public static extern new void _Init() [static] :605
void AccessibilityEvent::_Init3()
{
    uStackFrame __("Android.android.view.accessibility.AccessibilityEvent", "_Init()");
    if (AccessibilityEvent::_javaClass3()) { return; }
    INIT_JNI;
    AccessibilityEvent::_javaClass3() = NEW_GLOBAL_REF(jclass,LOAD_SYS_CLASS("android/view/accessibility/AccessibilityEvent"));
    ::g::Android::Base::JNI::CheckException1(U_JNIVAR);
    if (!AccessibilityEvent::_javaClass3()) { THROW_UNO_EXCEPTION("Unable to cache class 'android.view.accessibility.AccessibilityEvent'", 69);; }
}
// public static extern new void _Init() [static] :2275
void TimeAnimator::_Init4()
{
    uStackFrame __("Android.android.animation.TimeAnimator", "_Init()");
    if (TimeAnimator::_javaClass4()) { return; }
    INIT_JNI;
    TimeAnimator::_javaClass4() = NEW_GLOBAL_REF(jclass,LOAD_SYS_CLASS("android/animation/TimeAnimator"));
    ::g::Android::Base::JNI::CheckException1(U_JNIVAR);
    if (!TimeAnimator::_javaClass4()) { THROW_UNO_EXCEPTION("Unable to cache class 'android.animation.TimeAnimator'", 54);; }
}
Exemplo n.º 15
0
// public static extern new void _Init() [static] :9025
void Class::_Init2()
{
    if (Class::_javaClass2()) {
        return;
    }
    INIT_JNI;
    Class::_javaClass2() = NEW_GLOBAL_REF(jclass,LOAD_SYS_CLASS("java/lang/Class"));
    ::g::Android::Base::JNI::CheckException1(U_JNIVAR);
    if (!Class::_javaClass2()) {
        THROW_UNO_EXCEPTION("Unable to cache class 'java.lang.Class'", 39);;
    }
}
Exemplo n.º 16
0
void
dbjie_set_errcall(DB_ENV_JAVAINFO *dbjie, JNIEnv *jnienv, jobject new_errcall)
{
    /* If the new_errcall is null, we'll set the error call
     * to the default one.
     */
    if (new_errcall == NULL)
        new_errcall = dbjie->default_errcall_;

    DELETE_GLOBAL_REF(jnienv, dbjie->errcall_);
    dbjie->errcall_ = NEW_GLOBAL_REF(jnienv, new_errcall);
}
// public TimeAnimator() [instance] :2264
void TimeAnimator::ctor_8()
{
    ctor_7(::g::Android::Base::JNI::GetDefaultObject(), ::g::Android::Base::JNI::GetDefaultType(), false, false);
    INIT_JNI;;
    CLASS_INIT(TimeAnimator::_javaClass4(),TimeAnimator::_Init4());;
    CACHE_METHOD(TimeAnimator::TimeAnimator_376_ID_c(),TimeAnimator::_javaClass4(),"<init>","()V",GetMethodID,"Id for fallback method android.animation.TimeAnimator.<init> could not be cached",80);;
    jobject result;;
    jobject _tmp;;
    _tmp = U_JNIVAR->NewObject(TimeAnimator::_javaClass4(), TimeAnimator::TimeAnimator_376_ID_c());;
    ::g::Android::Base::JNI::CheckException1(U_JNIVAR);;
    _javaObject = NEW_GLOBAL_REF(jobject,_tmp);;
    U_JNIVAR->DeleteLocalRef(_tmp);;
}
Exemplo n.º 18
0
void dbjie_set_tx_recover_object(DB_ENV_JAVAINFO *dbjie, JNIEnv *jnienv,
                                 DB_ENV *dbenv, jobject jtx_recover)
{
    int err;

    if (dbjie->tx_recover_ != NULL) {
        DELETE_GLOBAL_REF(jnienv, dbjie->tx_recover_);
    }
    if (jtx_recover == NULL) {
        if ((err = dbenv->set_tx_recover(dbenv, NULL)) != 0)
            report_exception(jnienv, "set_tx_recover failed",
                             err, 0);
    }
    else {
        if ((err = dbenv->set_tx_recover(dbenv,
                                         DbEnv_tx_recover_callback)) != 0)
            report_exception(jnienv, "set_tx_recover failed",
                             err, 0);
    }

    dbjie->tx_recover_ = NEW_GLOBAL_REF(jnienv, jtx_recover);
}
Exemplo n.º 19
0
void dbjie_set_feedback_object(DB_ENV_JAVAINFO *dbjie, JNIEnv *jnienv,
                               DB_ENV *dbenv, jobject jfeedback)
{
    int err;

    if (dbjie->feedback_ != NULL) {
        DELETE_GLOBAL_REF(jnienv, dbjie->feedback_);
    }
    if (jfeedback == NULL) {
        if ((err = dbenv->set_feedback(dbenv, NULL)) != 0)
            report_exception(jnienv, "set_feedback failed",
                             err, 0);
    }
    else {
        if ((err = dbenv->set_feedback(dbenv,
                                       DbEnv_feedback_callback)) != 0)
            report_exception(jnienv, "set_feedback failed",
                             err, 0);
    }

    dbjie->feedback_ = NEW_GLOBAL_REF(jnienv, jfeedback);
}
Exemplo n.º 20
0
void dbjie_set_recovery_init_object(DB_ENV_JAVAINFO *dbjie,
                                    JNIEnv *jnienv, DB_ENV *dbenv,
                                    jobject jrecovery_init)
{
    int err;

    if (dbjie->recovery_init_ != NULL) {
        DELETE_GLOBAL_REF(jnienv, dbjie->recovery_init_);
    }
    if (jrecovery_init == NULL) {
        if ((err = dbenv->set_recovery_init(dbenv, NULL)) != 0)
            report_exception(jnienv, "set_recovery_init failed",
                             err, 0);
    }
    else {
        if ((err = dbenv->set_recovery_init(dbenv,
                                            DbEnv_recovery_init_callback)) != 0)
            report_exception(jnienv, "set_recovery_init failed",
                             err, 0);
    }

    dbjie->recovery_init_ = NEW_GLOBAL_REF(jnienv, jrecovery_init);
}
Exemplo n.º 21
0
void dbji_set_bt_prefix_object(DB_JAVAINFO *dbji, JNIEnv *jnienv,
                               DB *db, jobject jprefix)
{
    jclass bt_prefix_class;

    if (dbji->bt_prefix_method_id_ == NULL) {
        bt_prefix_class = get_class(jnienv, name_DbBtreePrefix);
        dbji->bt_prefix_method_id_ =
            (*jnienv)->GetMethodID(jnienv, bt_prefix_class,
                                   "bt_prefix",
                                   "(Lcom/sleepycat/db/Db;"
                                   "Lcom/sleepycat/db/Dbt;"
                                   "Lcom/sleepycat/db/Dbt;)I");
        if (dbji->bt_prefix_method_id_ == NULL) {
            /* XXX
             * We should really have a better way
             * to translate this to a Java exception class.
             * In theory, it shouldn't happen.
             */
            report_exception(jnienv, "Cannot find callback method",
                             EFAULT, 0);
            return;
        }
    }

    if (dbji->bt_prefix_ != NULL) {
        DELETE_GLOBAL_REF(jnienv, dbji->bt_prefix_);
    }
    if (jprefix == NULL) {
        db->set_bt_prefix(db, NULL);
    }
    else {
        db->set_bt_prefix(db, Db_bt_prefix_callback);
    }

    dbji->bt_prefix_ = NEW_GLOBAL_REF(jnienv, jprefix);
}
Exemplo n.º 22
0
void dbji_set_feedback_object(DB_JAVAINFO *dbji, JNIEnv *jnienv,
                              DB *db, jobject jfeedback)
{
    jclass feedback_class;

    if (dbji->feedback_method_id_ == NULL) {
        feedback_class = get_class(jnienv, name_DbFeedback);
        dbji->feedback_method_id_ =
            (*jnienv)->GetMethodID(jnienv, feedback_class,
                                   "feedback",
                                   "(Lcom/sleepycat/db/Db;II)V");
        if (dbji->feedback_method_id_ != NULL) {
            /* XXX
             * We should really have a better way
             * to translate this to a Java exception class.
             * In theory, it shouldn't happen.
             */
            report_exception(jnienv, "Cannot find callback method",
                             EFAULT, 0);
            return;
        }
    }

    if (dbji->feedback_ != NULL) {
        DELETE_GLOBAL_REF(jnienv, dbji->feedback_);
    }
    if (jfeedback == NULL) {
        db->set_feedback(db, NULL);
    }
    else {
        db->set_feedback(db, Db_feedback_callback);
    }

    dbji->feedback_ = NEW_GLOBAL_REF(jnienv, jfeedback);

}
Exemplo n.º 23
0
void dbji_set_append_recno_object(DB_JAVAINFO *dbji, JNIEnv *jnienv,
                                  DB *db, jobject jcallback)
{
    jclass append_recno_class;

    if (dbji->append_recno_method_id_ == NULL) {
        append_recno_class = get_class(jnienv, name_DbAppendRecno);
        dbji->append_recno_method_id_ =
            (*jnienv)->GetMethodID(jnienv, append_recno_class,
                                   "db_append_recno",
                                   "(Lcom/sleepycat/db/Db;"
                                   "Lcom/sleepycat/db/Dbt;I)V");
        if (dbji->append_recno_method_id_ == NULL) {
            /* XXX
             * We should really have a better way
             * to translate this to a Java exception class.
             * In theory, it shouldn't happen.
             */
            report_exception(jnienv, "Cannot find callback method",
                             EFAULT, 0);
            return;
        }
    }

    if (dbji->append_recno_ != NULL) {
        DELETE_GLOBAL_REF(jnienv, dbji->append_recno_);
    }
    if (jcallback == NULL) {
        db->set_append_recno(db, NULL);
    }
    else {
        db->set_append_recno(db, Db_append_recno_callback);
    }

    dbji->append_recno_ = NEW_GLOBAL_REF(jnienv, jcallback);
}
Exemplo n.º 24
0
extern int dbji_call_append_recno(DB_JAVAINFO *dbji, DB *db, jobject jdb,
                                  DBT *dbt, jint recno)
{
    JNIEnv *jnienv;
    jobject jdbt;
    DBT_JAVAINFO *dbtji;
    jbyteArray arr;
    unsigned int arraylen;
    unsigned char *data;

    COMPQUIET(db, NULL);
    jnienv = dbji_get_jnienv(dbji);
    if (jnienv == NULL) {
        fprintf(stderr, "Cannot attach to current thread!\n");
        return (0);
    }

    /* XXX
     * We should have a pool of Dbt objects used for this purpose
     * instead of creating new ones each time.  Because of
     * multithreading, we may need an arbitrary number (more than two).
     * We might also have a byte arrays that grow as needed,
     * so we don't need to allocate those either.
     *
     * Note, we do not set the 'create_array_' flag as on other
     * callbacks as we are creating the array here.
     */
    jdbt = create_default_object(jnienv, name_DBT);
    dbtji = get_DBT_JAVAINFO(jnienv, jdbt);
    memcpy(&dbtji->dbt, dbt, sizeof(DBT));
    dbtji->dbt.data = NULL;
    arr = (*jnienv)->NewByteArray(jnienv, dbt->size);
    (*jnienv)->SetByteArrayRegion(jnienv, arr, 0, dbt->size,
                                  (jbyte *)dbt->data);
    dbtji->array_ = (jbyteArray)NEW_GLOBAL_REF(jnienv, arr);

    DB_ASSERT(dbji->append_recno_method_id_ != NULL);
    (*jnienv)->CallVoidMethod(jnienv, dbji->append_recno_,
                              dbji->append_recno_method_id_,
                              jdb, jdbt, recno);

    /* The underlying C API requires that an errno be returned
     * on error.  Java users know nothing of errnos, so we
     * allow them to throw exceptions instead.  We leave the
     * exception in place and return DB_JAVA_CALLBACK to the C API
     * that called us.  Eventually the DB->get will fail and
     * when java prepares to throw an exception in
     * report_exception(), this will be spotted as a special case,
     * and the original exception will be preserved.
     *
     * Note: we have sometimes noticed strange behavior with
     * exceptions under Linux 1.1.7 JVM.  (i.e. multiple calls
     * to ExceptionOccurred() may report different results).
     * Currently we don't know of any problems related to this
     * in our code, but if it pops up in the future, users are
     * encouranged to get a more recent JVM.
     */
    if ((*jnienv)->ExceptionOccurred(jnienv) != NULL)
        return (DB_JAVA_CALLBACK);

    if (dbtji->array_ == NULL) {
        report_exception(jnienv, "Dbt.data is null", 0, 0);
        return (EFAULT);
    }

    arraylen = (*jnienv)->GetArrayLength(jnienv, dbtji->array_);
    if (dbtji->offset_ < 0 ) {
        report_exception(jnienv, "Dbt.offset illegal", 0, 0);
        return (EFAULT);
    }
    if (dbt->ulen + dbtji->offset_ > arraylen) {
        report_exception(jnienv,
                         "Dbt.ulen + Dbt.offset greater than array length", 0, 0);
        return (EFAULT);
    }

    data = (*jnienv)->GetByteArrayElements(jnienv, dbtji->array_,
                                           (jboolean *)0);
    dbt->data = data + dbtji->offset_;
    return (0);
}
void AccessibilityNodeInfo___Init_2(::uStatic* __this)
{
    if (::app::Android::android::view::accessibility::AccessibilityNodeInfo___javaClass_2) { return; }
    INIT_JNI;
    ::app::Android::android::view::accessibility::AccessibilityNodeInfo___javaClass_2 = NEW_GLOBAL_REF(jclass,LOAD_SYS_CLASS("android/view/accessibility/AccessibilityNodeInfo"));
    ::app::Android::Base::JNI__CheckException_1(NULL, U_JNIVAR);
    if (!::app::Android::android::view::accessibility::AccessibilityNodeInfo___javaClass_2) { THROW_UNO_EXCEPTION("Unable to cache class 'android.view.accessibility.AccessibilityNodeInfo'", 72);; }
}