X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fparser%2FPreprocessor.php;h=bd13f9ae97fa8840162824f521def910feffaaa4;hb=7d5c68a805302569c4d1f30cb4be2896f4f2216f;hp=c31f37bf3639e0df0fad6e2947a4963e2d02ca25;hpb=dc50e1a4bfb19be9db8d80bdbdb59e25c703eda1;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/parser/Preprocessor.php b/includes/parser/Preprocessor.php index c31f37bf36..bd13f9ae97 100644 --- a/includes/parser/Preprocessor.php +++ b/includes/parser/Preprocessor.php @@ -2,26 +2,67 @@ /** * Interfaces for preprocessors * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * http://www.gnu.org/copyleft/gpl.html + * * @file + * @ingroup Parser */ /** * @ingroup Parser */ interface Preprocessor { - /** Create a new preprocessor object based on an initialised Parser object */ + /** + * Create a new preprocessor object based on an initialised Parser object + * + * @param $parser Parser + */ function __construct( $parser ); - /** Create a new top-level frame for expansion of a page */ + /** + * Create a new top-level frame for expansion of a page + * + * @return PPFrame + */ function newFrame(); - /** Create a new custom frame for programmatic use of parameter replacement as used in some extensions */ + /** + * Create a new custom frame for programmatic use of parameter replacement as used in some extensions + * + * @param $args array + * + * @return PPFrame + */ function newCustomFrame( $args ); - /** Create a new custom node for programmatic use of parameter replacement as used in some extensions */ + /** + * Create a new custom node for programmatic use of parameter replacement as used in some extensions + * + * @param $values + */ function newPartNodeArray( $values ); - /** Preprocess text to a PPNode */ + /** + * Preprocess text to a PPNode + * + * @param $text + * @param $flags + * + * @return PPNode + */ function preprocessToObj( $text, $flags = 0 ); } @@ -37,10 +78,19 @@ interface PPFrame { const RECOVER_ORIG = 27; // = 1|2|8|16 no constant expression support in PHP yet + /** This constant exists when $indexOffset is supported in newChild() */ + const SUPPORTS_INDEX_OFFSET = 1; + /** * Create a child frame + * + * @param $args array + * @param $title Title + * @param $indexOffset A number subtracted from the index attributes of the arguments + * + * @return PPFrame */ - function newChild( $args = false, $title = false ); + function newChild( $args = false, $title = false, $indexOffset = 0 ); /** * Expand a document tree node @@ -70,6 +120,8 @@ interface PPFrame { /** * Returns true if there are no arguments in this frame + * + * @return bool */ function isEmpty(); @@ -95,6 +147,10 @@ interface PPFrame { /** * Returns true if the infinite loop check is OK, false if a loop is detected + * + * @param $title + * + * @return bool */ function loopCheck( $title ); @@ -102,6 +158,13 @@ interface PPFrame { * Return true if the frame is a template frame */ function isTemplate(); + + /** + * Get a title of frame + * + * @return Title + */ + function getTitle(); } /** @@ -126,6 +189,8 @@ interface PPNode { /** * Get the first child of a tree node. False if there isn't one. + * + * @return PPNode */ function getFirstChild(); @@ -166,7 +231,7 @@ interface PPNode { function getName(); /** - * Split a node into an associative array containing: + * Split a "" node into an associative array containing: * name PPNode name * index String index * value PPNode value @@ -174,13 +239,13 @@ interface PPNode { function splitArg(); /** - * Split an node into an associative array containing name, attr, inner and close + * 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. */ function splitExt(); /** - * Split an node + * Split an "" node */ function splitHeading(); }