mirror of
https://github.com/php/php-src.git
synced 2024-09-22 18:37:25 +00:00
- Attempt at fixing the Java extension for ZE2
This commit is contained in:
parent
30bad123f0
commit
0c0999352f
@ -288,7 +288,7 @@ static jobject _java_makeObject(pval* arg TSRMLS_DC)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case IS_OBJECT:
|
case IS_OBJECT:
|
||||||
zend_hash_index_find(arg->value.obj.properties, 0, (void*)&handle);
|
zend_hash_index_find(Z_OBJPROP_P(arg), 0, (void*)&handle);
|
||||||
result = zend_list_find((*handle)->value.lval, &type);
|
result = zend_list_find((*handle)->value.lval, &type);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -455,7 +455,7 @@ void java_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend_property_refe
|
|||||||
|
|
||||||
jmethodID invoke = (*jenv)->GetMethodID(jenv, JG(reflect_class), "Invoke",
|
jmethodID invoke = (*jenv)->GetMethodID(jenv, JG(reflect_class), "Invoke",
|
||||||
"(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;J)V");
|
"(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;J)V");
|
||||||
zend_hash_index_find(object->value.obj.properties, 0, (void**) &handle);
|
zend_hash_index_find(Z_OBJPROP_P(object), 0, (void**) &handle);
|
||||||
obj = zend_list_find((*handle)->value.lval, &type);
|
obj = zend_list_find((*handle)->value.lval, &type);
|
||||||
method = (*jenv)->NewStringUTF(jenv, function_name->element.value.str.val);
|
method = (*jenv)->NewStringUTF(jenv, function_name->element.value.str.val);
|
||||||
result = (jlong)(long)return_value;
|
result = (jlong)(long)return_value;
|
||||||
@ -529,7 +529,7 @@ static pval _java_getset_property
|
|||||||
propName = (*jenv)->NewStringUTF(jenv, property->element.value.str.val);
|
propName = (*jenv)->NewStringUTF(jenv, property->element.value.str.val);
|
||||||
|
|
||||||
/* get the object */
|
/* get the object */
|
||||||
zend_hash_index_find(property_reference->object->value.obj.properties,
|
zend_hash_index_find(Z_OBJPROP_P(property_reference->object),
|
||||||
0, (void **) &pobject);
|
0, (void **) &pobject);
|
||||||
obj = zend_list_find((*pobject)->value.lval, &type);
|
obj = zend_list_find((*pobject)->value.lval, &type);
|
||||||
result = (jlong)(long) &presult;
|
result = (jlong)(long) &presult;
|
||||||
@ -691,13 +691,10 @@ JNIEXPORT void JNICALL Java_net_php_reflect_setResultFromObject
|
|||||||
pval *handle;
|
pval *handle;
|
||||||
|
|
||||||
if (presult->type != IS_OBJECT) {
|
if (presult->type != IS_OBJECT) {
|
||||||
presult->type=IS_OBJECT;
|
object_init_ex(presult, &java_class_entry);
|
||||||
presult->value.obj.ce=&java_class_entry;
|
presult->is_ref=1;
|
||||||
ALLOC_HASHTABLE(presult->value.obj.properties);
|
|
||||||
presult->is_ref=1;
|
|
||||||
presult->refcount=1;
|
presult->refcount=1;
|
||||||
zend_hash_init(presult->value.obj.properties, 0, NULL, ZVAL_PTR_DTOR, 0);
|
}
|
||||||
};
|
|
||||||
|
|
||||||
ALLOC_ZVAL(handle);
|
ALLOC_ZVAL(handle);
|
||||||
handle->type = IS_LONG;
|
handle->type = IS_LONG;
|
||||||
@ -705,8 +702,7 @@ JNIEXPORT void JNICALL Java_net_php_reflect_setResultFromObject
|
|||||||
zend_list_insert((*jenv)->NewGlobalRef(jenv, value), le_jobject);
|
zend_list_insert((*jenv)->NewGlobalRef(jenv, value), le_jobject);
|
||||||
pval_copy_constructor(handle);
|
pval_copy_constructor(handle);
|
||||||
INIT_PZVAL(handle);
|
INIT_PZVAL(handle);
|
||||||
zend_hash_index_update(presult->value.obj.properties, 0,
|
zend_hash_index_update(Z_OBJPROP_P(presult), 0, &handle, sizeof(pval *), NULL);
|
||||||
&handle, sizeof(pval *), NULL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_net_php_reflect_setResultFromArray
|
JNIEXPORT void JNICALL Java_net_php_reflect_setResultFromArray
|
||||||
|
@ -288,7 +288,7 @@ static jobject _java_makeObject(pval* arg TSRMLS_DC)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case IS_OBJECT:
|
case IS_OBJECT:
|
||||||
zend_hash_index_find(arg->value.obj.properties, 0, (void*)&handle);
|
zend_hash_index_find(Z_OBJPROP_P(arg), 0, (void*)&handle);
|
||||||
result = zend_list_find((*handle)->value.lval, &type);
|
result = zend_list_find((*handle)->value.lval, &type);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -455,7 +455,7 @@ void java_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend_property_refe
|
|||||||
|
|
||||||
jmethodID invoke = (*jenv)->GetMethodID(jenv, JG(reflect_class), "Invoke",
|
jmethodID invoke = (*jenv)->GetMethodID(jenv, JG(reflect_class), "Invoke",
|
||||||
"(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;J)V");
|
"(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;J)V");
|
||||||
zend_hash_index_find(object->value.obj.properties, 0, (void**) &handle);
|
zend_hash_index_find(Z_OBJPROP_P(object), 0, (void**) &handle);
|
||||||
obj = zend_list_find((*handle)->value.lval, &type);
|
obj = zend_list_find((*handle)->value.lval, &type);
|
||||||
method = (*jenv)->NewStringUTF(jenv, function_name->element.value.str.val);
|
method = (*jenv)->NewStringUTF(jenv, function_name->element.value.str.val);
|
||||||
result = (jlong)(long)return_value;
|
result = (jlong)(long)return_value;
|
||||||
@ -529,7 +529,7 @@ static pval _java_getset_property
|
|||||||
propName = (*jenv)->NewStringUTF(jenv, property->element.value.str.val);
|
propName = (*jenv)->NewStringUTF(jenv, property->element.value.str.val);
|
||||||
|
|
||||||
/* get the object */
|
/* get the object */
|
||||||
zend_hash_index_find(property_reference->object->value.obj.properties,
|
zend_hash_index_find(Z_OBJPROP_P(property_reference->object),
|
||||||
0, (void **) &pobject);
|
0, (void **) &pobject);
|
||||||
obj = zend_list_find((*pobject)->value.lval, &type);
|
obj = zend_list_find((*pobject)->value.lval, &type);
|
||||||
result = (jlong)(long) &presult;
|
result = (jlong)(long) &presult;
|
||||||
@ -691,13 +691,10 @@ JNIEXPORT void JNICALL Java_net_php_reflect_setResultFromObject
|
|||||||
pval *handle;
|
pval *handle;
|
||||||
|
|
||||||
if (presult->type != IS_OBJECT) {
|
if (presult->type != IS_OBJECT) {
|
||||||
presult->type=IS_OBJECT;
|
object_init_ex(presult, &java_class_entry);
|
||||||
presult->value.obj.ce=&java_class_entry;
|
presult->is_ref=1;
|
||||||
ALLOC_HASHTABLE(presult->value.obj.properties);
|
|
||||||
presult->is_ref=1;
|
|
||||||
presult->refcount=1;
|
presult->refcount=1;
|
||||||
zend_hash_init(presult->value.obj.properties, 0, NULL, ZVAL_PTR_DTOR, 0);
|
}
|
||||||
};
|
|
||||||
|
|
||||||
ALLOC_ZVAL(handle);
|
ALLOC_ZVAL(handle);
|
||||||
handle->type = IS_LONG;
|
handle->type = IS_LONG;
|
||||||
@ -705,8 +702,7 @@ JNIEXPORT void JNICALL Java_net_php_reflect_setResultFromObject
|
|||||||
zend_list_insert((*jenv)->NewGlobalRef(jenv, value), le_jobject);
|
zend_list_insert((*jenv)->NewGlobalRef(jenv, value), le_jobject);
|
||||||
pval_copy_constructor(handle);
|
pval_copy_constructor(handle);
|
||||||
INIT_PZVAL(handle);
|
INIT_PZVAL(handle);
|
||||||
zend_hash_index_update(presult->value.obj.properties, 0,
|
zend_hash_index_update(Z_OBJPROP_P(presult), 0, &handle, sizeof(pval *), NULL);
|
||||||
&handle, sizeof(pval *), NULL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_net_php_reflect_setResultFromArray
|
JNIEXPORT void JNICALL Java_net_php_reflect_setResultFromArray
|
||||||
|
Loading…
Reference in New Issue
Block a user