private $interwikiResults;
/**
- * @param SearchResult[] $results
- * @param SearchResultSet[][] $interwikiResults Map from result type
+ * @param SearchResult[]|callable[] $results
+ * @param SearchResultSet[][]|callable[][] $interwikiResults Map from result type
* to list of results for that type.
*/
public function __construct( array $results, array $interwikiResults = [] ) {
count( $this->interwikiResults[$type] ) > 0;
}
+ public function extractResults() {
+ $results = parent::extractResults();
+
+ foreach ( $results as &$result ) {
+ // Resolve deferred results; needed to work around T203279
+ if ( is_callable( $result ) ) {
+ $result = $result();
+ }
+ }
+
+ return $results;
+ }
+
public function getInterwikiResults( $type = self::SECONDARY_RESULTS ) {
if ( $this->hasInterwikiResults( $type ) ) {
return $this->interwikiResults[$type];