Commit 25f62cfa1f4 for php.net
commit 25f62cfa1f4920244d10e6efe5eb31e2f572a70d
Author: Daniel Scherzer <daniel.e.scherzer@gmail.com>
Date: Thu Sep 4 12:48:24 2025 +0300
gen_stub: simplify with early returns
diff --git a/build/gen_stub.php b/build/gen_stub.php
index ddfde6cd5c3..c64aa65530f 100755
--- a/build/gen_stub.php
+++ b/build/gen_stub.php
@@ -1872,56 +1872,56 @@ private function getParameterSection(DOMDocument $doc): DOMElement {
$noParamEntity = $doc->createEntityReference('no.function.parameters');
$parametersRefSec->appendChild($noParamEntity);
return $parametersRefSec;
- } else {
- $parametersContainer = $doc->createDocumentFragment();
-
- $parametersContainer->appendChild(new DOMText("\n "));
- $parametersList = $doc->createElement('variablelist');
- $parametersContainer->appendChild($parametersList);
-
- /*
- <varlistentry>
- <term><parameter>name</parameter></term>
- <listitem>
- <simpara>
- Description.
- </simpara>
- </listitem>
- </varlistentry>
- */
- foreach ($this->args as $arg) {
- $parameter = $doc->createElement('parameter', $arg->name);
- $parameterTerm = $doc->createElement('term');
- $parameterTerm->appendChild($parameter);
-
- $listItemPara = $doc->createElement('simpara');
- $listItemPara->append(
- "\n ",
- "Description.",
- "\n ",
- );
+ }
+ $parametersContainer = $doc->createDocumentFragment();
+
+ $parametersContainer->appendChild(new DOMText("\n "));
+ $parametersList = $doc->createElement('variablelist');
+ $parametersContainer->appendChild($parametersList);
+
+ /*
+ <varlistentry>
+ <term><parameter>name</parameter></term>
+ <listitem>
+ <simpara>
+ Description.
+ </simpara>
+ </listitem>
+ </varlistentry>
+ */
+ foreach ($this->args as $arg) {
+ $parameter = $doc->createElement('parameter', $arg->name);
+ $parameterTerm = $doc->createElement('term');
+ $parameterTerm->appendChild($parameter);
+
+ $listItemPara = $doc->createElement('simpara');
+ $listItemPara->append(
+ "\n ",
+ "Description.",
+ "\n ",
+ );
- $parameterEntryListItem = $doc->createElement('listitem');
- $parameterEntryListItem->append(
- "\n ",
- $listItemPara,
- "\n ",
- );
+ $parameterEntryListItem = $doc->createElement('listitem');
+ $parameterEntryListItem->append(
+ "\n ",
+ $listItemPara,
+ "\n ",
+ );
- $parameterEntry = $doc->createElement('varlistentry');
- $parameterEntry->append(
- "\n ",
- $parameterTerm,
- "\n ",
- $parameterEntryListItem,
- "\n ",
- );
+ $parameterEntry = $doc->createElement('varlistentry');
+ $parameterEntry->append(
+ "\n ",
+ $parameterTerm,
+ "\n ",
+ $parameterEntryListItem,
+ "\n ",
+ );
- $parametersList->appendChild(new DOMText("\n "));
- $parametersList->appendChild($parameterEntry);
- }
- $parametersList->appendChild(new DOMText("\n "));
+ $parametersList->appendChild(new DOMText("\n "));
+ $parametersList->appendChild($parameterEntry);
}
+ $parametersList->appendChild(new DOMText("\n "));
+
$parametersContainer->appendChild(new DOMText("\n "));
$parametersRefSec->appendChild($parametersContainer);
$parametersRefSec->appendChild(new DOMText("\n "));
@@ -2493,8 +2493,6 @@ protected function getFlagsByPhpVersion(): VersionFlags
protected function getTypeCode(string $variableLikeName, string &$code): string
{
$variableLikeType = $this->getVariableTypeName();
-
- $typeCode = "";
if ($this->type) {
$arginfoType = $this->type->toArginfoType();
if ($arginfoType->hasClassType()) {
@@ -2521,22 +2519,17 @@ protected function getTypeCode(string $variableLikeName, string &$code): string
} else {
$code .= "\tzend_type {$variableLikeType}_{$variableLikeName}_type = ZEND_TYPE_INIT_UNION({$variableLikeType}_{$variableLikeName}_type_list, $typeMaskCode);\n";
}
- $typeCode = "{$variableLikeType}_{$variableLikeName}_type";
- } else {
- $escapedClassName = $arginfoType->classTypes[0]->toEscapedName();
- $varEscapedClassName = $arginfoType->classTypes[0]->toVarEscapedName();
- $code .= "\tzend_string *{$variableLikeType}_{$variableLikeName}_class_{$varEscapedClassName} = zend_string_init(\"{$escapedClassName}\", sizeof(\"{$escapedClassName}\")-1, 1);\n";
-
- $typeCode = "(zend_type) ZEND_TYPE_INIT_CLASS({$variableLikeType}_{$variableLikeName}_class_{$varEscapedClassName}, 0, " . $arginfoType->toTypeMask() . ")";
+ return "{$variableLikeType}_{$variableLikeName}_type";
}
- } else {
- $typeCode = "(zend_type) ZEND_TYPE_INIT_MASK(" . $arginfoType->toTypeMask() . ")";
+ $escapedClassName = $arginfoType->classTypes[0]->toEscapedName();
+ $varEscapedClassName = $arginfoType->classTypes[0]->toVarEscapedName();
+ $code .= "\tzend_string *{$variableLikeType}_{$variableLikeName}_class_{$varEscapedClassName} = zend_string_init(\"{$escapedClassName}\", sizeof(\"{$escapedClassName}\")-1, 1);\n";
+
+ return "(zend_type) ZEND_TYPE_INIT_CLASS({$variableLikeType}_{$variableLikeName}_class_{$varEscapedClassName}, 0, " . $arginfoType->toTypeMask() . ")";
}
- } else {
- $typeCode = "(zend_type) ZEND_TYPE_INIT_NONE(0)";
+ return "(zend_type) ZEND_TYPE_INIT_MASK(" . $arginfoType->toTypeMask() . ")";
}
-
- return $typeCode;
+ return "(zend_type) ZEND_TYPE_INIT_NONE(0)";
}
/** @param array<string, ConstInfo> $allConstInfos */
@@ -3311,14 +3304,13 @@ public function __construct(string $name, ?Expr $value) {
public function getDeclaration(array $allConstInfos): string {
$escapedName = addslashes($this->name);
if ($this->value === null) {
- $code = "\n\tzend_enum_add_case_cstr(class_entry, \"$escapedName\", NULL);\n";
- } else {
- $value = EvaluatedValue::createFromExpression($this->value, null, null, $allConstInfos);
-
- $zvalName = "enum_case_{$escapedName}_value";
- $code = "\n" . $value->initializeZval($zvalName);
- $code .= "\tzend_enum_add_case_cstr(class_entry, \"$escapedName\", &$zvalName);\n";
+ return "\n\tzend_enum_add_case_cstr(class_entry, \"$escapedName\", NULL);\n";
}
+ $value = EvaluatedValue::createFromExpression($this->value, null, null, $allConstInfos);
+
+ $zvalName = "enum_case_{$escapedName}_value";
+ $code = "\n" . $value->initializeZval($zvalName);
+ $code .= "\tzend_enum_add_case_cstr(class_entry, \"$escapedName\", &$zvalName);\n";
return $code;
}