mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/AbuseFilter.git
synced 2024-11-15 10:15:24 +00:00
b2dc2c4dd8
ParserStatus is now more lightweight, and doesn't know about "result" and "from cache". Instead, it has an isValid() method which is merely a shorthand for checking whether getException() is null. Introduce a child class, RuleCheckerStatus, which knows about result and cache and can be (un)serialized. This removes the ambiguity of the $result field, and helps the transition to a new RuleChecker class. Change-Id: I0dac7ab4febbfdabe72596631db630411d967ab5
60 lines
1.2 KiB
PHP
60 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace MediaWiki\Extension\AbuseFilter\Parser;
|
|
|
|
use MediaWiki\Extension\AbuseFilter\Parser\Exception\ExceptionBase;
|
|
use MediaWiki\Extension\AbuseFilter\Parser\Exception\UserVisibleWarning;
|
|
|
|
class ParserStatus {
|
|
/** @var ExceptionBase|null */
|
|
protected $excep;
|
|
/** @var UserVisibleWarning[] */
|
|
protected $warnings;
|
|
/** @var int */
|
|
protected $condsUsed;
|
|
|
|
/**
|
|
* @param ExceptionBase|null $excep An exception thrown while parsing, or null if it parsed correctly
|
|
* @param UserVisibleWarning[] $warnings
|
|
* @param int $condsUsed
|
|
*/
|
|
public function __construct(
|
|
?ExceptionBase $excep,
|
|
array $warnings,
|
|
int $condsUsed
|
|
) {
|
|
$this->excep = $excep;
|
|
$this->warnings = $warnings;
|
|
$this->condsUsed = $condsUsed;
|
|
}
|
|
|
|
/**
|
|
* @return ExceptionBase|null
|
|
*/
|
|
public function getException(): ?ExceptionBase {
|
|
return $this->excep;
|
|
}
|
|
|
|
/**
|
|
* @return UserVisibleWarning[]
|
|
*/
|
|
public function getWarnings(): array {
|
|
return $this->warnings;
|
|
}
|
|
|
|
/**
|
|
* @return int
|
|
*/
|
|
public function getCondsUsed(): int {
|
|
return $this->condsUsed;
|
|
}
|
|
|
|
/**
|
|
* Whether the parsing/evaluation happened successfully.
|
|
* @return bool
|
|
*/
|
|
public function isValid(): bool {
|
|
return !$this->excep;
|
|
}
|
|
}
|