Improve replacement of return type for methods from Query\Builder (#1575)

* Add return type `|static` to Query\Builder methods (#1574)

* Replace return type Query\Builder with Eloquent\Builder (#1574)

* Replace return type Query\Builder only for facade Eloquent (#1574)

* Add special return type replacement for Macros of \Eloquent

* Restrict special return type to methods from Eloquent\Builder and Query\Builder

* Do not overwrite return type in normalizeReturn() with conditional call of setType()

* Use generic return type for builder methods in \Eloquent

* composer fix-style

---------

Co-authored-by: laravel-ide-helper <[email protected]>
This commit is contained in:
Carl-Philipp Jung
2024-10-31 15:47:27 +01:00
committed by GitHub
co-authored by laravel-ide-helper
parent 64588afe8b
commit e3ec773374
4 changed files with 135 additions and 23 deletions
+4 -2
View File
@@ -18,6 +18,7 @@ class Macro extends Method
* @param null $methodName
* @param array $interfaces
* @param array $classAliases
* @param array $returnTypeNormalizers
*/
public function __construct(
$method,
@@ -25,9 +26,10 @@ class Macro extends Method
$class,
$methodName = null,
$interfaces = [],
$classAliases = []
$classAliases = [],
$returnTypeNormalizers = []
) {
parent::__construct($method, $alias, $class, $methodName, $interfaces, $classAliases);
parent::__construct($method, $alias, $class, $methodName, $interfaces, $classAliases, $returnTypeNormalizers);
}
/**