public $stack, $rootAccum;
/**
- * @var PPDStack
+ * @var PPDStack|false
*/
public $top;
public $out;
/**
* @throws MWException
* @param string|int $key
- * @param string|PPNode_DOM|DOMDocument $root
+ * @param string|PPNode_DOM|DOMNode|DOMNodeList $root
* @param int $flags
* @return string
*/
/**
* @throws MWException
- * @param string|PPNode_DOM|DOMDocument $root
+ * @param string|PPNode_DOM|DOMNode $root
* @param int $flags
* @return string
*/
/**
* @param string $sep
* @param int $flags
- * @param string|PPNode_DOM|DOMDocument ...$args
+ * @param string|PPNode_DOM|DOMNode ...$args
* @return string
*/
public function implodeWithFlags( $sep, $flags, ...$args ) {
* This previously called implodeWithFlags but has now been inlined to reduce stack depth
*
* @param string $sep
- * @param string|PPNode_DOM|DOMDocument ...$args
+ * @param string|PPNode_DOM|DOMNode ...$args
* @return string
*/
public function implode( $sep, ...$args ) {
* with implode()
*
* @param string $sep
- * @param string|PPNode_DOM|DOMDocument ...$args
+ * @param string|PPNode_DOM|DOMNode ...$args
* @return array
*/
public function virtualImplode( $sep, ...$args ) {
* @param string $start
* @param string $sep
* @param string $end
- * @param string|PPNode_DOM|DOMDocument ...$args
+ * @param string|PPNode_DOM|DOMNode ...$args
* @return array
*/
public function virtualBracketedImplode( $start, $sep, $end, ...$args ) {
/**
* Get an array-type node containing the children of this node.
* Returns false if this is not a tree node.
- * @return PPNode
+ * @return false|PPNode
*/
public function getChildren();
/**
* Get the first child of a tree node. False if there isn't one.
*
- * @return PPNode
+ * @return false|PPNode
*/
public function getFirstChild();
/**
* Get the next sibling of any node. False if there isn't one
- * @return PPNode
+ * @return false|PPNode
*/
public function getNextSibling();
* Get all children of this tree node which have a given name.
* Returns an array-type node, or false if this is not a tree node.
* @param string $type
- * @return bool|PPNode
+ * @return false|PPNode
*/
public function getChildrenOfType( $type );
class PPNode_DOM implements PPNode {
/**
- * @var DOMElement
+ * @var DOMElement|DOMNodeList
*/
public $node;
public $xpath;
}
/**
- * @return bool|PPNode_DOM
+ * @return false|PPNode_DOM
*/
public function getChildren() {
return $this->node->childNodes ? new self( $this->node->childNodes ) : false;
}
/**
- * @return bool|PPNode_DOM
+ * @return false|PPNode_DOM
*/
public function getFirstChild() {
return $this->node->firstChild ? new self( $this->node->firstChild ) : false;
}
/**
- * @return bool|PPNode_DOM
+ * @return false|PPNode_DOM
*/
public function getNextSibling() {
return $this->node->nextSibling ? new self( $this->node->nextSibling ) : false;
/**
* @param string $type
*
- * @return bool|PPNode_DOM
+ * @return false|PPNode_DOM
*/
public function getChildrenOfType( $type ) {
return new self( $this->getXPath()->query( $type, $this->node ) );
* return a temporary proxy object: different instances will be returned
* if this is called more than once on the same node.
*
- * @return PPNode_Hash_Tree|PPNode_Hash_Attr|PPNode_Hash_Text|bool
+ * @return PPNode_Hash_Tree|PPNode_Hash_Attr|PPNode_Hash_Text|false
*/
public function getFirstChild() {
if ( !isset( $this->rawChildren[0] ) ) {
* return a temporary proxy object: different instances will be returned
* if this is called more than once on the same node.
*
- * @return PPNode_Hash_Tree|PPNode_Hash_Attr|PPNode_Hash_Text|bool
+ * @return PPNode_Hash_Tree|PPNode_Hash_Attr|PPNode_Hash_Text|false
*/
public function getNextSibling() {
return self::factory( $this->store, $this->index + 1 );
public $mLinkID;
public $mIncludeSizes, $mPPNodeCount, $mGeneratedPPNodeCount, $mHighestExpansionDepth;
public $mDefaultSort;
- public $mTplRedirCache, $mTplDomCache, $mHeadings, $mDoubleUnderscores;
+ public $mTplRedirCache, $mHeadings, $mDoubleUnderscores;
public $mExpensiveFunctionCount; # number of expensive parser function calls
public $mShowToc, $mForceTocPosition;
+ /** @var array */
+ public $mTplDomCache;
/**
* @var User
* self::OT_HTML: all templates and extension tags
*
* @param string $text The text to transform
- * @param bool|PPFrame $frame Object describing the arguments passed to the
+ * @param false|PPFrame|array $frame Object describing the arguments passed to the
* template. Arguments may also be provided as an associative array, as
* was the usual case before MW1.12. Providing arguments this way may be
* useful for extensions wishing to perform variable replacement
* $piece['lineStart']: whether the brace was at the start of a line
* @param PPFrame $frame The current frame, contains template arguments
* @throws Exception
- * @return string The text of the template
+ * @return string|array The text of the template
*/
public function braceSubstitution( $piece, $frame ) {
// Flags
const CACHE_PREFIX = 'preprocess-xml';
+ /**
+ * @param Parser $parser
+ */
public function __construct( $parser ) {
wfDeprecated( __METHOD__, '1.34' ); // T204945
$this->parser = $parser;
const CACHE_PREFIX = 'preprocess-hash';
const CACHE_VERSION = 2;
+ /**
+ * @param Parser $parser
+ */
public function __construct( $parser ) {
$this->parser = $parser;
}