Improved type hints and declarations for \Magento\Quote\Model\Quote\Address\Total #9986
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds some proper type hints and docblocks related to the quote total.
Description
For better IDE support,
Quote::getTotals()
now has a return type ofTotal[]
instead ofarray
(via docblock). I traced down the called methods to verify the type and added missing type hints on the way.The
TotalFactory
has been updated to returnTotal
by default (previously there was no default value, so BC is ensured). The factory is used like a default generated factory in TotalsReader but needed to pass the class name tocreate()
. This violates the POLA. Also,the return type hint is adjusted now (
Total
is no subtype ofTotal\AbstractTotal
)TotalReader::$baseTotalAmounts
andTotalReader::$totalAmounts
are now initialized as empty arrays.TotalReader::getAllTotalAmounts()
did not return an array if no totals have been added.Contribution checklist