diff --git a/Build/Scripts/annotationChecker.php b/Build/Scripts/annotationChecker.php index 4d2f8a7b4737b5404b68f588f9fc8c44676ae98c..12d6d6d3f54a38c80624ed31fdcc599cb50308f8 100755 --- a/Build/Scripts/annotationChecker.php +++ b/Build/Scripts/annotationChecker.php @@ -46,7 +46,7 @@ class NodeVisitor extends NodeVisitorAbstract return; } - // These annotations are OK to have, everything else is denied + // These annotations are OK to have on class, class property and class method level, everything else is denied $negativeLookaheadMatches = [ // Annotation tags 'Annotation', 'Attribute', 'Attributes', 'Required', 'Target', @@ -76,14 +76,23 @@ class NodeVisitor extends NodeVisitorAbstract // static code analysis 'template', 'implements', 'extends' ]; + // allow annotation only on class level + if (get_class($node) === Node\Stmt\Class_::class) { + $negativeLookaheadMatches = array_merge( + $negativeLookaheadMatches, + [ + // PHPStan + 'phpstan-type', 'phpstan-import-type', + ] + ); + } $matches = []; preg_match_all( - '/\*\s@(?!' . implode('|', $negativeLookaheadMatches) . ')(?<annotations>[a-zA-Z0-9\\\\]+)/', + '/\*(\s+)@(?!' . implode('|', $negativeLookaheadMatches) . ')(?<annotations>[a-zA-Z0-9\-\\\\]+)/', $docComment->getText(), $matches ); - if (!empty($matches['annotations'])) { $this->matches[$node->getLine()] = array_map(function ($value) { return '@' . $value; diff --git a/typo3/sysext/install/Classes/SystemEnvironment/DatabaseCheck/Platform/SqlSrv.php b/typo3/sysext/install/Classes/SystemEnvironment/DatabaseCheck/Platform/SqlSrv.php index 3f0e971e01ea75f3efee07997111c3adb5125fbb..6cc0de84f6b9b9aa3b7bb07fc7ea7ca4cb396e37 100644 --- a/typo3/sysext/install/Classes/SystemEnvironment/DatabaseCheck/Platform/SqlSrv.php +++ b/typo3/sysext/install/Classes/SystemEnvironment/DatabaseCheck/Platform/SqlSrv.php @@ -155,14 +155,14 @@ class SqlSrv extends AbstractPlatform * Examples: * * valid: - * _foo - * @foo - * #foo - * _floo1äea - * @foo111111111kemcie_l#@ + * > _foo + * > @foo + * > #foo + * > _floo1äea + * > @foo111111111kemcie_l#@ * * not valid: - * @@thisShouldNotBeValid + * > @@thisShouldNotBeValid * * * @param string $databaseName