summaryrefslogtreecommitdiffstats
path: root/lib/private/App/CodeChecker/CodeChecker.php
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2017-07-05 17:32:40 +0200
committerGitHub <noreply@github.com>2017-07-05 17:32:40 +0200
commit60398b919be713ddb1813956061fee638c54317a (patch)
tree483d8f03b2a2b2b11cfebefbf0c3eb3c4b408d8f /lib/private/App/CodeChecker/CodeChecker.php
parentca565644b36930b63bb996268e848460843f0433 (diff)
parent163e8774a40bf35a650b41f1af415f89397511a5 (diff)
downloadnextcloud-server-60398b919be713ddb1813956061fee638c54317a.tar.gz
nextcloud-server-60398b919be713ddb1813956061fee638c54317a.zip
Merge pull request #5231 from nextcloud/migrations
Migrations
Diffstat (limited to 'lib/private/App/CodeChecker/CodeChecker.php')
-rw-r--r--lib/private/App/CodeChecker/CodeChecker.php13
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/private/App/CodeChecker/CodeChecker.php b/lib/private/App/CodeChecker/CodeChecker.php
index 291bedee92f..a6368ab683f 100644
--- a/lib/private/App/CodeChecker/CodeChecker.php
+++ b/lib/private/App/CodeChecker/CodeChecker.php
@@ -51,8 +51,12 @@ class CodeChecker extends BasicEmitter {
/** @var ICheck */
protected $checkList;
- public function __construct(ICheck $checkList) {
+ /** @var bool */
+ protected $checkMigrationSchema;
+
+ public function __construct(ICheck $checkList, $checkMigrationSchema) {
$this->checkList = $checkList;
+ $this->checkMigrationSchema = $checkMigrationSchema;
$this->parser = new Parser(new Lexer);
}
@@ -120,11 +124,16 @@ class CodeChecker extends BasicEmitter {
$statements = $this->parser->parse($code);
$visitor = new NodeVisitor($this->checkList);
+ $migrationVisitor = new MigrationSchemaChecker();
$traverser = new NodeTraverser;
$traverser->addVisitor($visitor);
+ if ($this->checkMigrationSchema && preg_match('#^.+\\/Migration\\/Version[^\\/]{1,255}\\.php$#i', $file)) {
+ $traverser->addVisitor($migrationVisitor);
+ }
+
$traverser->traverse($statements);
- return $visitor->errors;
+ return array_merge($visitor->errors, $migrationVisitor->errors);
}
}