HostRef* JPDoubleType::getArrayItem(JPJavaFrame& frame, jarray a, int ndx) { array_t array = (array_t)a; type_t val; frame.GetDoubleArrayRegion(array,ndx, 1, &val); jvalue v; field(v) = val; return asHostObject(v); }
vector<HostRef*> JPDoubleType::getArrayRange(JPJavaFrame& frame, jarray a, int start, int length) { JPPrimitiveArrayAccessor<array_t, type_t*> accessor(frame, a, &JPJavaFrame::GetDoubleArrayElements, &JPJavaFrame::ReleaseDoubleArrayElements); type_t* val = accessor.get(); vector<HostRef*> res; jvalue v; for (int i = 0; i < length; i++) { field(v) = val[i+start]; res.push_back(asHostObject(v)); } return res; }
HostRef* JPObjectType::asHostObjectFromObject(jvalue val) { return asHostObject(val); }
HostRef* JPDoubleType::getStaticValue(JPJavaFrame& frame, jclass c, jfieldID fid, JPTypeName& tgtType) { jvalue v; field(v) = frame.GetStaticDoubleField(c, fid); return asHostObject(v); }
HostRef* JPDoubleType::invoke(JPJavaFrame& frame, jobject obj, jclass clazz, jmethodID mth, jvalue* val) { jvalue v; field(v) = frame.CallNonvirtualDoubleMethodA(obj, clazz, mth, val); return asHostObject(v); }
HostRef* JPDoubleType::invokeStatic(JPJavaFrame& frame, jclass claz, jmethodID mth, jvalue* val) { jvalue v; field(v) = frame.CallStaticDoubleMethodA(claz, mth, val); return asHostObject(v); }
HostRef* JPDoubleType::getInstanceValue(JPJavaFrame& frame, jobject c, jfieldID fid, JPTypeName& tgtType) { jvalue v; field(v) = frame.GetDoubleField(c, fid); return asHostObject(v); }