|
38 | 38 | #include "php_v8_uint32.h" |
39 | 39 | #include "php_v8_integer.h" |
40 | 40 | #include "php_v8_number.h" |
| 41 | +#include "php_v8_undefined.h" |
41 | 42 | /* end of type listing */ |
42 | 43 |
|
43 | 44 | #include "php_v8_data.h" |
@@ -231,7 +232,7 @@ zend_class_entry *php_v8_get_class_entry_from_value(v8::Local<v8::Value> value) |
231 | 232 | // working with scalars |
232 | 233 |
|
233 | 234 | if (value->IsUndefined()) { |
234 | | - return php_v8_value_class_entry; |
| 235 | + return php_v8_undefined_class_entry; |
235 | 236 | } |
236 | 237 |
|
237 | 238 | if (value->IsNull()) { |
@@ -313,17 +314,15 @@ php_v8_value_t *php_v8_get_or_create_value(zval *return_value, v8::Local<v8::Val |
313 | 314 | } |
314 | 315 |
|
315 | 316 |
|
316 | | -static PHP_METHOD (V8Value, __construct) { |
317 | | - zval *php_v8_isolate_zv; |
318 | | - |
319 | | - if (zend_parse_parameters(ZEND_NUM_ARGS(), "o", &php_v8_isolate_zv) == FAILURE) { |
320 | | - return; |
321 | | - } |
322 | | - |
323 | | - PHP_V8_VALUE_CONSTRUCT(getThis(), php_v8_isolate_zv, php_v8_isolate, php_v8_value); |
324 | | - |
325 | | - php_v8_value->persistent->Reset(isolate, v8::Undefined(isolate)); |
326 | | -} |
| 317 | +//static PHP_METHOD (V8Value, __construct) { |
| 318 | +// zval *php_v8_isolate_zv; |
| 319 | +// |
| 320 | +// if (zend_parse_parameters(ZEND_NUM_ARGS(), "o", &php_v8_isolate_zv) == FAILURE) { |
| 321 | +// return; |
| 322 | +// } |
| 323 | +// |
| 324 | +// PHP_V8_THROW_EXCEPTION("V8\\Value::__construct() should not be called. Use specific values instead.") |
| 325 | +//} |
327 | 326 |
|
328 | 327 | static PHP_METHOD(V8Value, GetIsolate) { |
329 | 328 | zval rv; |
@@ -1062,7 +1061,8 @@ ZEND_END_ARG_INFO() |
1062 | 1061 |
|
1063 | 1062 |
|
1064 | 1063 | static const zend_function_entry php_v8_value_methods[] = { |
1065 | | - PHP_ME(V8Value, __construct, arginfo_v8_value___construct, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) |
| 1064 | +// PHP_ME(V8Value, __construct, arginfo_v8_value___construct, ZEND_ACC_PRIVATE | ZEND_ACC_CTOR) |
| 1065 | + |
1066 | 1066 | PHP_ME(V8Value, GetIsolate, arginfo_v8_value_GetIsolate, ZEND_ACC_PUBLIC) |
1067 | 1067 |
|
1068 | 1068 | PHP_ME(V8Value, IsUndefined, arginfo_v8_value_IsUndefined, ZEND_ACC_PUBLIC) |
@@ -1146,6 +1146,7 @@ PHP_MINIT_FUNCTION (php_v8_value) { |
1146 | 1146 | INIT_NS_CLASS_ENTRY(ce, PHP_V8_NS, "Value", php_v8_value_methods); |
1147 | 1147 | this_ce = zend_register_internal_class_ex(&ce, php_v8_data_class_entry); |
1148 | 1148 | this_ce->create_object = php_v8_value_ctor; |
| 1149 | + this_ce->ce_flags |= ZEND_ACC_EXPLICIT_ABSTRACT_CLASS; |
1149 | 1150 |
|
1150 | 1151 | zend_declare_property_null(this_ce, ZEND_STRL("isolate"), ZEND_ACC_PRIVATE); |
1151 | 1152 |
|
|
0 commit comments