jobject wrapJSObject(JNIEnv *pEnv, v8::Handle<v8::Value> value) { v8::HandleScope handle_scope; if (value.IsEmpty() || value->IsNull() || value->IsUndefined()) return NULL; if (value->IsTrue()) return NewBoolean(pEnv, JNI_TRUE); if (value->IsFalse()) return NewBoolean(pEnv, JNI_FALSE); if (value->IsInt32()) return NewInt(pEnv, value->Int32Value()); if (value->IsUint32()) return NewLong(pEnv, value->IntegerValue()); if (value->IsString()) return NewString(pEnv, v8::Handle<v8::String>::Cast(value)); if (value->IsDate()) return NewDate(pEnv, v8::Handle<v8::Date>::Cast(value)); if (value->IsNumber()) return NewDouble(pEnv, value->NumberValue()); // return wrap(value->ToObject()); return NULL; }
void ArrayType::LongSet(ArrayType *arr, JNIEnv *jniEnv, jobject ob, uint32_t index, v8::Handle<v8::Value> elt) { jniEnv->CallVoidMethod(ob, arr->setElement, index, (jlong)elt->IntegerValue()); }
static uint64_t apply(v8::Handle<v8::Value> const& value) { return value->IntegerValue(); }