mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
gen_stub: simplify with early returns
This commit is contained in:
@@ -1872,56 +1872,56 @@ ENDCOMMENT
|
|||||||
$noParamEntity = $doc->createEntityReference('no.function.parameters');
|
$noParamEntity = $doc->createEntityReference('no.function.parameters');
|
||||||
$parametersRefSec->appendChild($noParamEntity);
|
$parametersRefSec->appendChild($noParamEntity);
|
||||||
return $parametersRefSec;
|
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 ",
|
|
||||||
);
|
|
||||||
|
|
||||||
$parameterEntryListItem = $doc->createElement('listitem');
|
|
||||||
$parameterEntryListItem->append(
|
|
||||||
"\n ",
|
|
||||||
$listItemPara,
|
|
||||||
"\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 "));
|
|
||||||
}
|
}
|
||||||
|
$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 ",
|
||||||
|
);
|
||||||
|
|
||||||
|
$parameterEntry = $doc->createElement('varlistentry');
|
||||||
|
$parameterEntry->append(
|
||||||
|
"\n ",
|
||||||
|
$parameterTerm,
|
||||||
|
"\n ",
|
||||||
|
$parameterEntryListItem,
|
||||||
|
"\n ",
|
||||||
|
);
|
||||||
|
|
||||||
|
$parametersList->appendChild(new DOMText("\n "));
|
||||||
|
$parametersList->appendChild($parameterEntry);
|
||||||
|
}
|
||||||
|
$parametersList->appendChild(new DOMText("\n "));
|
||||||
|
|
||||||
$parametersContainer->appendChild(new DOMText("\n "));
|
$parametersContainer->appendChild(new DOMText("\n "));
|
||||||
$parametersRefSec->appendChild($parametersContainer);
|
$parametersRefSec->appendChild($parametersContainer);
|
||||||
$parametersRefSec->appendChild(new DOMText("\n "));
|
$parametersRefSec->appendChild(new DOMText("\n "));
|
||||||
@@ -2493,8 +2493,6 @@ abstract class VariableLike
|
|||||||
protected function getTypeCode(string $variableLikeName, string &$code): string
|
protected function getTypeCode(string $variableLikeName, string &$code): string
|
||||||
{
|
{
|
||||||
$variableLikeType = $this->getVariableTypeName();
|
$variableLikeType = $this->getVariableTypeName();
|
||||||
|
|
||||||
$typeCode = "";
|
|
||||||
if ($this->type) {
|
if ($this->type) {
|
||||||
$arginfoType = $this->type->toArginfoType();
|
$arginfoType = $this->type->toArginfoType();
|
||||||
if ($arginfoType->hasClassType()) {
|
if ($arginfoType->hasClassType()) {
|
||||||
@@ -2521,22 +2519,17 @@ abstract class VariableLike
|
|||||||
} else {
|
} else {
|
||||||
$code .= "\tzend_type {$variableLikeType}_{$variableLikeName}_type = ZEND_TYPE_INIT_UNION({$variableLikeType}_{$variableLikeName}_type_list, $typeMaskCode);\n";
|
$code .= "\tzend_type {$variableLikeType}_{$variableLikeName}_type = ZEND_TYPE_INIT_UNION({$variableLikeType}_{$variableLikeName}_type_list, $typeMaskCode);\n";
|
||||||
}
|
}
|
||||||
$typeCode = "{$variableLikeType}_{$variableLikeName}_type";
|
return "{$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() . ")";
|
|
||||||
}
|
}
|
||||||
} else {
|
$escapedClassName = $arginfoType->classTypes[0]->toEscapedName();
|
||||||
$typeCode = "(zend_type) ZEND_TYPE_INIT_MASK(" . $arginfoType->toTypeMask() . ")";
|
$varEscapedClassName = $arginfoType->classTypes[0]->toVarEscapedName();
|
||||||
}
|
$code .= "\tzend_string *{$variableLikeType}_{$variableLikeName}_class_{$varEscapedClassName} = zend_string_init(\"{$escapedClassName}\", sizeof(\"{$escapedClassName}\")-1, 1);\n";
|
||||||
} else {
|
|
||||||
$typeCode = "(zend_type) ZEND_TYPE_INIT_NONE(0)";
|
|
||||||
}
|
|
||||||
|
|
||||||
return $typeCode;
|
return "(zend_type) ZEND_TYPE_INIT_CLASS({$variableLikeType}_{$variableLikeName}_class_{$varEscapedClassName}, 0, " . $arginfoType->toTypeMask() . ")";
|
||||||
|
}
|
||||||
|
return "(zend_type) ZEND_TYPE_INIT_MASK(" . $arginfoType->toTypeMask() . ")";
|
||||||
|
}
|
||||||
|
return "(zend_type) ZEND_TYPE_INIT_NONE(0)";
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @param array<string, ConstInfo> $allConstInfos */
|
/** @param array<string, ConstInfo> $allConstInfos */
|
||||||
@@ -3311,14 +3304,13 @@ class EnumCaseInfo {
|
|||||||
public function getDeclaration(array $allConstInfos): string {
|
public function getDeclaration(array $allConstInfos): string {
|
||||||
$escapedName = addslashes($this->name);
|
$escapedName = addslashes($this->name);
|
||||||
if ($this->value === null) {
|
if ($this->value === null) {
|
||||||
$code = "\n\tzend_enum_add_case_cstr(class_entry, \"$escapedName\", NULL);\n";
|
return "\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";
|
|
||||||
}
|
}
|
||||||
|
$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;
|
return $code;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user