|
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