]> granicus.if.org Git - php/commit
Add support for $obj::class
authorNikita Popov <nikita.ppv@gmail.com>
Wed, 8 Jan 2020 14:57:13 +0000 (15:57 +0100)
committerNikita Popov <nikita.ppv@gmail.com>
Tue, 11 Feb 2020 11:16:30 +0000 (12:16 +0100)
commitd933591674ddcda342e80f32ca77dee1ada23fd7
treeaebbc5f633d1497f6c1715431d650a97e746e020
parent69819baee34f24e42305516e61fdc7e61593a3bb
Add support for $obj::class

This allows $obj::class, which gives the same result as get_class($obj).
Anything other than an object results in TypeError.

RFC: https://wiki.php.net/rfc/class_name_literal_on_object

Closes GH-5065.
UPGRADING
Zend/tests/class_name_of_var.phpt [deleted file]
Zend/tests/class_on_constant_evaluated_expression.phpt [new file with mode: 0644]
Zend/tests/class_on_expression_in_constant_expression.phpt [new file with mode: 0644]
Zend/tests/class_on_object.phpt [new file with mode: 0644]
Zend/zend_compile.c
Zend/zend_vm_def.h
Zend/zend_vm_execute.h
Zend/zend_vm_handlers.h
Zend/zend_vm_opcodes.c
ext/opcache/Optimizer/zend_optimizer.c