Skip to content

Commit 25f62cf

Browse files
gen_stub: simplify with early returns
1 parent f1dd3f2 commit 25f62cf

1 file changed

Lines changed: 60 additions & 68 deletions

File tree

build/gen_stub.php

Lines changed: 60 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1872,56 +1872,56 @@ private function getParameterSection(DOMDocument $doc): DOMElement {
18721872
$noParamEntity = $doc->createEntityReference('no.function.parameters');
18731873
$parametersRefSec->appendChild($noParamEntity);
18741874
return $parametersRefSec;
1875-
} else {
1876-
$parametersContainer = $doc->createDocumentFragment();
1877-
1878-
$parametersContainer->appendChild(new DOMText("\n "));
1879-
$parametersList = $doc->createElement('variablelist');
1880-
$parametersContainer->appendChild($parametersList);
1881-
1882-
/*
1883-
<varlistentry>
1884-
<term><parameter>name</parameter></term>
1885-
<listitem>
1886-
<simpara>
1887-
Description.
1888-
</simpara>
1889-
</listitem>
1890-
</varlistentry>
1891-
*/
1892-
foreach ($this->args as $arg) {
1893-
$parameter = $doc->createElement('parameter', $arg->name);
1894-
$parameterTerm = $doc->createElement('term');
1895-
$parameterTerm->appendChild($parameter);
1896-
1897-
$listItemPara = $doc->createElement('simpara');
1898-
$listItemPara->append(
1899-
"\n ",
1900-
"Description.",
1901-
"\n ",
1902-
);
1875+
}
1876+
$parametersContainer = $doc->createDocumentFragment();
1877+
1878+
$parametersContainer->appendChild(new DOMText("\n "));
1879+
$parametersList = $doc->createElement('variablelist');
1880+
$parametersContainer->appendChild($parametersList);
1881+
1882+
/*
1883+
<varlistentry>
1884+
<term><parameter>name</parameter></term>
1885+
<listitem>
1886+
<simpara>
1887+
Description.
1888+
</simpara>
1889+
</listitem>
1890+
</varlistentry>
1891+
*/
1892+
foreach ($this->args as $arg) {
1893+
$parameter = $doc->createElement('parameter', $arg->name);
1894+
$parameterTerm = $doc->createElement('term');
1895+
$parameterTerm->appendChild($parameter);
1896+
1897+
$listItemPara = $doc->createElement('simpara');
1898+
$listItemPara->append(
1899+
"\n ",
1900+
"Description.",
1901+
"\n ",
1902+
);
19031903

1904-
$parameterEntryListItem = $doc->createElement('listitem');
1905-
$parameterEntryListItem->append(
1906-
"\n ",
1907-
$listItemPara,
1908-
"\n ",
1909-
);
1904+
$parameterEntryListItem = $doc->createElement('listitem');
1905+
$parameterEntryListItem->append(
1906+
"\n ",
1907+
$listItemPara,
1908+
"\n ",
1909+
);
19101910

1911-
$parameterEntry = $doc->createElement('varlistentry');
1912-
$parameterEntry->append(
1913-
"\n ",
1914-
$parameterTerm,
1915-
"\n ",
1916-
$parameterEntryListItem,
1917-
"\n ",
1918-
);
1911+
$parameterEntry = $doc->createElement('varlistentry');
1912+
$parameterEntry->append(
1913+
"\n ",
1914+
$parameterTerm,
1915+
"\n ",
1916+
$parameterEntryListItem,
1917+
"\n ",
1918+
);
19191919

1920-
$parametersList->appendChild(new DOMText("\n "));
1921-
$parametersList->appendChild($parameterEntry);
1922-
}
1923-
$parametersList->appendChild(new DOMText("\n "));
1920+
$parametersList->appendChild(new DOMText("\n "));
1921+
$parametersList->appendChild($parameterEntry);
19241922
}
1923+
$parametersList->appendChild(new DOMText("\n "));
1924+
19251925
$parametersContainer->appendChild(new DOMText("\n "));
19261926
$parametersRefSec->appendChild($parametersContainer);
19271927
$parametersRefSec->appendChild(new DOMText("\n "));
@@ -2493,8 +2493,6 @@ protected function getFlagsByPhpVersion(): VersionFlags
24932493
protected function getTypeCode(string $variableLikeName, string &$code): string
24942494
{
24952495
$variableLikeType = $this->getVariableTypeName();
2496-
2497-
$typeCode = "";
24982496
if ($this->type) {
24992497
$arginfoType = $this->type->toArginfoType();
25002498
if ($arginfoType->hasClassType()) {
@@ -2521,22 +2519,17 @@ protected function getTypeCode(string $variableLikeName, string &$code): string
25212519
} else {
25222520
$code .= "\tzend_type {$variableLikeType}_{$variableLikeName}_type = ZEND_TYPE_INIT_UNION({$variableLikeType}_{$variableLikeName}_type_list, $typeMaskCode);\n";
25232521
}
2524-
$typeCode = "{$variableLikeType}_{$variableLikeName}_type";
2525-
} else {
2526-
$escapedClassName = $arginfoType->classTypes[0]->toEscapedName();
2527-
$varEscapedClassName = $arginfoType->classTypes[0]->toVarEscapedName();
2528-
$code .= "\tzend_string *{$variableLikeType}_{$variableLikeName}_class_{$varEscapedClassName} = zend_string_init(\"{$escapedClassName}\", sizeof(\"{$escapedClassName}\")-1, 1);\n";
2529-
2530-
$typeCode = "(zend_type) ZEND_TYPE_INIT_CLASS({$variableLikeType}_{$variableLikeName}_class_{$varEscapedClassName}, 0, " . $arginfoType->toTypeMask() . ")";
2522+
return "{$variableLikeType}_{$variableLikeName}_type";
25312523
}
2532-
} else {
2533-
$typeCode = "(zend_type) ZEND_TYPE_INIT_MASK(" . $arginfoType->toTypeMask() . ")";
2524+
$escapedClassName = $arginfoType->classTypes[0]->toEscapedName();
2525+
$varEscapedClassName = $arginfoType->classTypes[0]->toVarEscapedName();
2526+
$code .= "\tzend_string *{$variableLikeType}_{$variableLikeName}_class_{$varEscapedClassName} = zend_string_init(\"{$escapedClassName}\", sizeof(\"{$escapedClassName}\")-1, 1);\n";
2527+
2528+
return "(zend_type) ZEND_TYPE_INIT_CLASS({$variableLikeType}_{$variableLikeName}_class_{$varEscapedClassName}, 0, " . $arginfoType->toTypeMask() . ")";
25342529
}
2535-
} else {
2536-
$typeCode = "(zend_type) ZEND_TYPE_INIT_NONE(0)";
2530+
return "(zend_type) ZEND_TYPE_INIT_MASK(" . $arginfoType->toTypeMask() . ")";
25372531
}
2538-
2539-
return $typeCode;
2532+
return "(zend_type) ZEND_TYPE_INIT_NONE(0)";
25402533
}
25412534

25422535
/** @param array<string, ConstInfo> $allConstInfos */
@@ -3311,14 +3304,13 @@ public function __construct(string $name, ?Expr $value) {
33113304
public function getDeclaration(array $allConstInfos): string {
33123305
$escapedName = addslashes($this->name);
33133306
if ($this->value === null) {
3314-
$code = "\n\tzend_enum_add_case_cstr(class_entry, \"$escapedName\", NULL);\n";
3315-
} else {
3316-
$value = EvaluatedValue::createFromExpression($this->value, null, null, $allConstInfos);
3317-
3318-
$zvalName = "enum_case_{$escapedName}_value";
3319-
$code = "\n" . $value->initializeZval($zvalName);
3320-
$code .= "\tzend_enum_add_case_cstr(class_entry, \"$escapedName\", &$zvalName);\n";
3307+
return "\n\tzend_enum_add_case_cstr(class_entry, \"$escapedName\", NULL);\n";
33213308
}
3309+
$value = EvaluatedValue::createFromExpression($this->value, null, null, $allConstInfos);
3310+
3311+
$zvalName = "enum_case_{$escapedName}_value";
3312+
$code = "\n" . $value->initializeZval($zvalName);
3313+
$code .= "\tzend_enum_add_case_cstr(class_entry, \"$escapedName\", &$zvalName);\n";
33223314

33233315
return $code;
33243316
}

0 commit comments

Comments
 (0)