public function generate() {
		$phpstormGenerator = $this->getGenerator();
		$content = $phpstormGenerator->generate();

		$file = $this->getMetaFilePath();

		$currentContent = file_exists($file) ? file_get_contents($file) : null;
		if ($content === $currentContent) {
			$this->out('Meta file `/.phpstorm.meta.php/.ide-helper.meta.php` still up to date.');
			return parent::CODE_SUCCESS;
		}

		if ($this->param('dry-run')) {
			$this->out('Meta file `/.phpstorm.meta.php/.ide-helper.meta.php` needs updating.');
			return static::CODE_CHANGES;
		}

		$this->ensureDir();
		file_put_contents($file, $content);

		$this->out('Meta file `/.phpstorm.meta.php/.ide-helper.meta.php` generated.');

		return static::CODE_SUCCESS;
	}