async lintFiles(patterns) {
		const { cliEngine, options } = privateMembersMap.get(this);

		if (
			options.passOnNoPatterns &&
			(patterns === "" ||
				(Array.isArray(patterns) && patterns.length === 0))
		) {
			return [];
		}

		if (!isNonEmptyString(patterns) && !isArrayOfNonEmptyString(patterns)) {
			throw new Error(
				"'patterns' must be a non-empty string or an array of non-empty strings",
			);
		}

		return processCLIEngineLintReport(
			cliEngine,
			cliEngine.executeOnFiles(patterns),
		);
	}
Executes the current configuration on an array of file and directory names.
@param {string[]} patterns An array of file and directory names.
@returns {Promise<LintResult[]>} The results of linting the file patterns given.