@@ -214,7 +214,7 @@ class ClassLikeHandler
214214 explicit ClassLikeHandler (zend_object *self) : self(self) {}
215215
216216 /* the constructor body: the promoted properties */
217- void construct (zval *reflector, zval *classReflectionFactory, zval *calledMethodProcessor, zval *reflectionProvider, zval *attributesHandler, zval *readWritePropertiesExtensions)
217+ void construct (zval *reflector, zval *classReflectionFactory, zval *calledMethodProcessor, zval *reflectionProvider, zval *attributesHandler, zval *readWritePropertiesExtensions, zval *phpDocPrivateClassConstFetchFinder )
218218 {
219219 zv::ObjRef object (self);
220220 object.propAtWrite (slots::reflector, zv::Val::copyOf (zv::Ref (reflector)));
@@ -223,6 +223,7 @@ class ClassLikeHandler
223223 object.propAtWrite (slots::reflectionProvider, zv::Val::copyOf (zv::Ref (reflectionProvider)));
224224 object.propAtWrite (slots::attributesHandler, zv::Val::copyOf (zv::Ref (attributesHandler)));
225225 object.propAtWrite (slots::readWritePropertiesExtensions, zv::Val::copyOf (zv::Ref (readWritePropertiesExtensions)));
226+ object.propAtWrite (slots::phpDocPrivateClassConstFetchFinder, zv::Val::copyOf (zv::Ref (phpDocPrivateClassConstFetchFinder)));
226227 }
227228
228229 /* Mirrors supports(); false = pending exception */
@@ -321,7 +322,7 @@ class ClassLikeHandler
321322 zv::Val classScope = pt_mutating_scope_enter_class (Z_OBJ_P (resultScope), classReflection.raw ());
322323 if (UNEXPECTED (classScope.isUndef ())) return zv::Val ();
323324
324- zv::Val classStatementsGatherer = pt_class_statements_gatherer_new (classReflection.raw (), nodeCallback);
325+ zv::Val classStatementsGatherer = pt_class_statements_gatherer_new (OBJ_PROP_NUM (self, slots::phpDocPrivateClassConstFetchFinder), classReflection.raw (), nodeCallback);
325326 if (UNEXPECTED (classStatementsGatherer.isUndef ())) return zv::Val ();
326327 // the class attributes are processed before the InClassNode emission, so
327328 // rules firing on it (ClassAttributesRule) read the attribute arguments
@@ -629,16 +630,17 @@ PT_MINIT_REGISTRATION(pt_register_class_like_handler)
629630 /* the real parameter class names: the DI container autowires the
630631 * service by reflecting the constructor */
631632 cls.method (sigs::__construct, [](INTERNAL_FUNCTION_PARAMETERS ) {
632- zval *reflector, *classReflectionFactory, *calledMethodProcessor, *reflectionProvider, *attributesHandler, *readWritePropertiesExtensions;
633- ZEND_PARSE_PARAMETERS_START (6 , 6 )
633+ zval *reflector, *classReflectionFactory, *calledMethodProcessor, *reflectionProvider, *attributesHandler, *readWritePropertiesExtensions, *phpDocPrivateClassConstFetchFinder ;
634+ ZEND_PARSE_PARAMETERS_START (7 , 7 )
634635 Z_PARAM_OBJECT (reflector)
635636 Z_PARAM_OBJECT (classReflectionFactory)
636637 Z_PARAM_OBJECT (calledMethodProcessor)
637638 Z_PARAM_OBJECT (reflectionProvider)
638639 Z_PARAM_OBJECT (attributesHandler)
639640 Z_PARAM_OBJECT (readWritePropertiesExtensions)
641+ Z_PARAM_OBJECT (phpDocPrivateClassConstFetchFinder)
640642 ZEND_PARSE_PARAMETERS_END ();
641- ClassLikeHandler (Z_OBJ_P (ZEND_THIS )).construct (reflector, classReflectionFactory, calledMethodProcessor, reflectionProvider, attributesHandler, readWritePropertiesExtensions);
643+ ClassLikeHandler (Z_OBJ_P (ZEND_THIS )).construct (reflector, classReflectionFactory, calledMethodProcessor, reflectionProvider, attributesHandler, readWritePropertiesExtensions, phpDocPrivateClassConstFetchFinder );
642644 });
643645
644646 cls.method <&ClassLikeHandler::supports, zp::Obj>(sigs::supports);
0 commit comments