mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
Fixed macro generation for variadics, which don't have a default value
This commit is contained in:
@@ -131,8 +131,8 @@ typedef struct _zend_fcall_info_cache {
|
||||
{ #name, ZEND_TYPE_INIT_MASK(type_mask | _ZEND_ARG_INFO_FLAGS(pass_by_ref, 0, 0)), default_value },
|
||||
#define ZEND_ARG_OBJ_TYPE_MASK(pass_by_ref, name, class_name, type_mask, default_value) \
|
||||
{ #name, ZEND_TYPE_INIT_CLASS_CONST_MASK(#class_name, type_mask | _ZEND_ARG_INFO_FLAGS(pass_by_ref, 0, 0)), default_value },
|
||||
#define ZEND_ARG_VARIADIC_OBJ_TYPE_MASK(pass_by_ref, name, class_name, type_mask, default_value) \
|
||||
{ #name, ZEND_TYPE_INIT_CLASS_CONST_MASK(#class_name, type_mask | _ZEND_ARG_INFO_FLAGS(pass_by_ref, 1, 0)), default_value },
|
||||
#define ZEND_ARG_VARIADIC_OBJ_TYPE_MASK(pass_by_ref, name, class_name, type_mask) \
|
||||
{ #name, ZEND_TYPE_INIT_CLASS_CONST_MASK(#class_name, type_mask | _ZEND_ARG_INFO_FLAGS(pass_by_ref, 1, 0)), NULL },
|
||||
|
||||
/* Arginfo structures with object type information */
|
||||
#define ZEND_ARG_OBJ_INFO(pass_by_ref, name, class_name, allow_null) \
|
||||
|
||||
@@ -2735,10 +2735,10 @@ function funcInfoToCode(FuncInfo $funcInfo): string {
|
||||
$arginfoType = $argType->toArginfoType();
|
||||
if ($arginfoType->hasClassType()) {
|
||||
$code .= sprintf(
|
||||
"\tZEND_%s_OBJ_TYPE_MASK(%s, %s, %s, %s, %s)\n",
|
||||
"\tZEND_%s_OBJ_TYPE_MASK(%s, %s, %s, %s%s)\n",
|
||||
$argKind, $argInfo->getSendByString(), $argInfo->name,
|
||||
$arginfoType->toClassTypeString(), $arginfoType->toTypeMask(),
|
||||
$argInfo->getDefaultValueAsArginfoString()
|
||||
!$argInfo->isVariadic ? ", " . $argInfo->getDefaultValueAsArginfoString() : ""
|
||||
);
|
||||
} else {
|
||||
$code .= sprintf(
|
||||
|
||||
Reference in New Issue
Block a user