summaryrefslogtreecommitdiffstats
path: root/build/OCPSinceChecker.php
diff options
context:
space:
mode:
Diffstat (limited to 'build/OCPSinceChecker.php')
-rw-r--r--build/OCPSinceChecker.php22
1 files changed, 16 insertions, 6 deletions
diff --git a/build/OCPSinceChecker.php b/build/OCPSinceChecker.php
index c059b687393..0eb1c54f0b8 100644
--- a/build/OCPSinceChecker.php
+++ b/build/OCPSinceChecker.php
@@ -54,12 +54,22 @@ class SinceTagCheckVisitor extends \PhpParser\NodeVisitorAbstract {
/** @var \PhpParser\Comment\Doc[] $comments */
$comments = $node->getAttribute('comments');
- if(count($comments) !== 0) {
- $comment = $comments[count($comments) - 1];
- $text = $comment->getText();
- if(strpos($text, '@deprecated') !== false) {
- $this->deprecatedClass = true;
- }
+
+ if(count($comments) === 0) {
+ $this->errors[] = 'PHPDoc is needed for ' . $this->namespace . '\\' . $this->className . '::' . $node->name;
+ return;
+ }
+
+ $comment = $comments[count($comments) - 1];
+ $text = $comment->getText();
+ if(strpos($text, '@deprecated') !== false) {
+ $this->deprecatedClass = true;
+ }
+
+ if($this->deprecatedClass === false && strpos($text, '@since') === false && strpos($text, '@deprecated') === false) {
+ $type = $node instanceof \PhpParser\Node\Stmt\Interface_ ? 'interface' : 'class';
+ $this->errors[] = '@since or @deprecated tag is needed in PHPDoc for ' . $type . ' ' . $this->namespace . '\\' . $this->className;
+ return;
}
}