Breaking: #101327 - Harden FileInterface::getSize()

See forge#101327

Description

A return type declaration has been added to the method stub \TYPO3\CMS\Core\Resource\FileInterface::getSize(). As a consequence, implementations of said method, \TYPO3\CMS\Core\Resource\AbstractFile::getSize() and \TYPO3\CMS\Core\Resource\FileReference::getSize() received return type declarations as well.

Also, \TYPO3\CMS\Core\Resource\AbstractFile::getSize() has been adjusted to actually just return an integer. Previously, it returned null, if the actual size could not be gathered. It now returns 0 in that case.

Impact

Code, that calls \TYPO3\CMS\Core\Resource\AbstractFile::getSize() through derivatives like \TYPO3\CMS\Core\Resource\File::getSize() might be adjusted to not respect null any more.

Implementations (classes) that implement \TYPO3\CMS\Core\Resource\FileInterface , have to adjust the return type of the method getSize() to match the contract.

Affected installations

Installations that implement \TYPO3\CMS\Core\Resource\FileInterface or that call \TYPO3\CMS\Core\Resource\FileInterface::getSize() via derivatives.

Migration

Adjust the return type and possible null checks.