Reviewed by Jon.
[WebKit-https.git] / WebCore / bridge / jni / jni_runtime.cpp
index d7c8659cadaf92fb11199b900078b60b8ce4e754..671fd35ab288f5404c704f50814f5cc1492427b3 100644 (file)
@@ -53,13 +53,13 @@ JavaParameter::JavaParameter (JNIEnv *env, jstring type)
 JavaField::JavaField (JNIEnv *env, jobject aField)
 {
     // Get field type
-    jobject fieldType = callJNIObjectMethod (aField, "getType", "()Ljava/lang/Class;");
-    jstring fieldTypeName = (jstring)callJNIObjectMethod (fieldType, "getName", "()Ljava/lang/String;");
+    jobject fieldType = callJNIMethod<jobject>(aField, "getType", "()Ljava/lang/Class;");
+    jstring fieldTypeName = (jstring)callJNIMethod<jobject>(fieldType, "getName", "()Ljava/lang/String;");
     _type = JavaString(env, fieldTypeName);
     _JNIType = JNITypeFromClassName (_type.UTF8String());
 
     // Get field name
-    jstring fieldName = (jstring)callJNIObjectMethod (aField, "getName", "()Ljava/lang/String;");
+    jstring fieldName = (jstring)callJNIMethod<jobject>(aField, "getName", "()Ljava/lang/String;");
     _name = JavaString(env, fieldName);
 
     _field = new JObjectWrapper(aField);
@@ -245,27 +245,27 @@ void JavaField::setValueToInstance(ExecState *exec, const Instance *i, JSValue *
 JavaMethod::JavaMethod (JNIEnv *env, jobject aMethod)
 {
     // Get return type
-    jobject returnType = callJNIObjectMethod (aMethod, "getReturnType", "()Ljava/lang/Class;");
-    jstring returnTypeName = (jstring)callJNIObjectMethod (returnType, "getName", "()Ljava/lang/String;");
+    jobject returnType = callJNIMethod<jobject>(aMethod, "getReturnType", "()Ljava/lang/Class;");
+    jstring returnTypeName = (jstring)callJNIMethod<jobject>(returnType, "getName", "()Ljava/lang/String;");
     _returnType =JavaString (env, returnTypeName);
     _JNIReturnType = JNITypeFromClassName (_returnType.UTF8String());
     env->DeleteLocalRef (returnType);
     env->DeleteLocalRef (returnTypeName);
 
     // Get method name
-    jstring methodName = (jstring)callJNIObjectMethod (aMethod, "getName", "()Ljava/lang/String;");
+    jstring methodName = (jstring)callJNIMethod<jobject>(aMethod, "getName", "()Ljava/lang/String;");
     _name = JavaString (env, methodName);
     env->DeleteLocalRef (methodName);
 
     // Get parameters
-    jarray jparameters = (jarray)callJNIObjectMethod (aMethod, "getParameterTypes", "()[Ljava/lang/Class;");
+    jarray jparameters = (jarray)callJNIMethod<jobject>(aMethod, "getParameterTypes", "()[Ljava/lang/Class;");
     _numParameters = env->GetArrayLength (jparameters);
     _parameters = new JavaParameter[_numParameters];
     
     int i;
     for (i = 0; i < _numParameters; i++) {
         jobject aParameter = env->GetObjectArrayElement ((jobjectArray)jparameters, i);
-        jstring parameterName = (jstring)callJNIObjectMethod (aParameter, "getName", "()Ljava/lang/String;");
+        jstring parameterName = (jstring)callJNIMethod<jobject>(aParameter, "getName", "()Ljava/lang/String;");
         _parameters[i] = JavaParameter(env, parameterName);
         env->DeleteLocalRef (aParameter);
         env->DeleteLocalRef (parameterName);
@@ -277,8 +277,8 @@ JavaMethod::JavaMethod (JNIEnv *env, jobject aMethod)
     _methodID = 0;
     
     jclass modifierClass = env->FindClass("java/lang/reflect/Modifier");
-    int modifiers = callJNIIntMethod (aMethod, "getModifiers", "()I");
-    _isStatic = (bool)callJNIStaticBooleanMethod (modifierClass, "isStatic", "(I)Z", modifiers);
+    int modifiers = callJNIMethod<jint>(aMethod, "getModifiers", "()I");
+    _isStatic = (bool)callJNIStaticMethod<jboolean>(modifierClass, "isStatic", "(I)Z", modifiers);
 }
 
 JavaMethod::~JavaMethod()