X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fparser%2FPreprocessor.php;h=b321078dcdfb72f4332b9436f8fe76d41b21ede2;hb=ffc750c2d5d9ead5de61752593525081eb586475;hp=bdfedd644117baa83833af5d3e7468b121ecea84;hpb=86c13ba3ad15f7ab4c567b30c2810fe36db102df;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/parser/Preprocessor.php b/includes/parser/Preprocessor.php index bdfedd6441..b321078dcd 100644 --- a/includes/parser/Preprocessor.php +++ b/includes/parser/Preprocessor.php @@ -164,279 +164,3 @@ abstract class Preprocessor { */ abstract public function preprocessToObj( $text, $flags = 0 ); } - -/** - * @ingroup Parser - */ -interface PPFrame { - const NO_ARGS = 1; - const NO_TEMPLATES = 2; - const STRIP_COMMENTS = 4; - const NO_IGNORE = 8; - const RECOVER_COMMENTS = 16; - const NO_TAGS = 32; - - const RECOVER_ORIG = self::NO_ARGS | self::NO_TEMPLATES | self::NO_IGNORE | - self::RECOVER_COMMENTS | self::NO_TAGS; - - /** This constant exists when $indexOffset is supported in newChild() */ - const SUPPORTS_INDEX_OFFSET = 1; - - /** - * Create a child frame - * - * @param array|bool $args - * @param bool|Title $title - * @param int $indexOffset A number subtracted from the index attributes of the arguments - * - * @return PPFrame - */ - public function newChild( $args = false, $title = false, $indexOffset = 0 ); - - /** - * Expand a document tree node, caching the result on its parent with the given key - * @param string|int $key - * @param string|PPNode $root - * @param int $flags - * @return string - */ - public function cachedExpand( $key, $root, $flags = 0 ); - - /** - * Expand a document tree node - * @param string|PPNode $root - * @param int $flags - * @return string - */ - public function expand( $root, $flags = 0 ); - - /** - * Implode with flags for expand() - * @param string $sep - * @param int $flags - * @param string|PPNode $args,... - * @return string - */ - public function implodeWithFlags( $sep, $flags /*, ... */ ); - - /** - * Implode with no flags specified - * @param string $sep - * @param string|PPNode $args,... - * @return string - */ - public function implode( $sep /*, ... */ ); - - /** - * Makes an object that, when expand()ed, will be the same as one obtained - * with implode() - * @param string $sep - * @param string|PPNode $args,... - * @return PPNode - */ - public function virtualImplode( $sep /*, ... */ ); - - /** - * Virtual implode with brackets - * @param string $start - * @param string $sep - * @param string $end - * @param string|PPNode $args,... - * @return PPNode - */ - public function virtualBracketedImplode( $start, $sep, $end /*, ... */ ); - - /** - * Returns true if there are no arguments in this frame - * - * @return bool - */ - public function isEmpty(); - - /** - * Returns all arguments of this frame - * @return array - */ - public function getArguments(); - - /** - * Returns all numbered arguments of this frame - * @return array - */ - public function getNumberedArguments(); - - /** - * Returns all named arguments of this frame - * @return array - */ - public function getNamedArguments(); - - /** - * Get an argument to this frame by name - * @param int|string $name - * @return string|bool - */ - public function getArgument( $name ); - - /** - * Returns true if the infinite loop check is OK, false if a loop is detected - * - * @param Title $title - * @return bool - */ - public function loopCheck( $title ); - - /** - * Return true if the frame is a template frame - * @return bool - */ - public function isTemplate(); - - /** - * Set the "volatile" flag. - * - * Note that this is somewhat of a "hack" in order to make extensions - * with side effects (such as Cite) work with the PHP parser. New - * extensions should be written in a way that they do not need this - * function, because other parsers (such as Parsoid) are not guaranteed - * to respect it, and it may be removed in the future. - * - * @param bool $flag - */ - public function setVolatile( $flag = true ); - - /** - * Get the "volatile" flag. - * - * Callers should avoid caching the result of an expansion if it has the - * volatile flag set. - * - * @see self::setVolatile() - * @return bool - */ - public function isVolatile(); - - /** - * Get the TTL of the frame's output. - * - * This is the maximum amount of time, in seconds, that this frame's - * output should be cached for. A value of null indicates that no - * maximum has been specified. - * - * Note that this TTL only applies to caching frames as parts of pages. - * It is not relevant to caching the entire rendered output of a page. - * - * @return int|null - */ - public function getTTL(); - - /** - * Set the TTL of the output of this frame and all of its ancestors. - * Has no effect if the new TTL is greater than the one already set. - * Note that it is the caller's responsibility to change the cache - * expiry of the page as a whole, if such behavior is desired. - * - * @see self::getTTL() - * @param int $ttl - */ - public function setTTL( $ttl ); - - /** - * Get a title of frame - * - * @return Title - */ - public function getTitle(); -} - -/** - * There are three types of nodes: - * * Tree nodes, which have a name and contain other nodes as children - * * Array nodes, which also contain other nodes but aren't considered part of a tree - * * Leaf nodes, which contain the actual data - * - * This interface provides access to the tree structure and to the contents of array nodes, - * but it does not provide access to the internal structure of leaf nodes. Access to leaf - * data is provided via two means: - * * PPFrame::expand(), which provides expanded text - * * The PPNode::split*() functions, which provide metadata about certain types of tree node - * @ingroup Parser - */ -interface PPNode { - /** - * Get an array-type node containing the children of this node. - * Returns false if this is not a tree node. - * @return PPNode - */ - public function getChildren(); - - /** - * Get the first child of a tree node. False if there isn't one. - * - * @return PPNode - */ - public function getFirstChild(); - - /** - * Get the next sibling of any node. False if there isn't one - * @return 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 - */ - public function getChildrenOfType( $type ); - - /** - * Returns the length of the array, or false if this is not an array-type node - */ - public function getLength(); - - /** - * Returns an item of an array-type node - * @param int $i - * @return bool|PPNode - */ - public function item( $i ); - - /** - * Get the name of this node. The following names are defined here: - * - * h A heading node. - * template A double-brace node. - * tplarg A triple-brace node. - * title The first argument to a template or tplarg node. - * part Subsequent arguments to a template or tplarg node. - * #nodelist An array-type node - * - * The subclass may define various other names for tree and leaf nodes. - * @return string - */ - public function getName(); - - /** - * Split a "" node into an associative array containing: - * name PPNode name - * index String index - * value PPNode value - * @return array - */ - public function splitArg(); - - /** - * Split an "" node into an associative array containing name, attr, inner and close - * All values in the resulting array are PPNodes. Inner and close are optional. - * @return array - */ - public function splitExt(); - - /** - * Split an "" node - * @return array - */ - public function splitHeading(); -}