summaryrefslogtreecommitdiff
path: root/buildscripts/PhpDocumentor/phpDocumentor/Errors.inc
diff options
context:
space:
mode:
Diffstat (limited to 'buildscripts/PhpDocumentor/phpDocumentor/Errors.inc')
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Errors.inc1172
1 files changed, 1172 insertions, 0 deletions
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Errors.inc b/buildscripts/PhpDocumentor/phpDocumentor/Errors.inc
new file mode 100755
index 00000000..213bd199
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Errors.inc
@@ -0,0 +1,1172 @@
+<?php
+/**
+ * Error handling for phpDocumentor
+ *
+ * phpDocumentor :: automatic documentation generator
+ *
+ * PHP versions 4 and 5
+ *
+ * Copyright (c) 2001-2008 Gregory Beaver
+ *
+ * LICENSE:
+ *
+ * This library is free software; you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General
+ * Public License as published by the Free Software Foundation;
+ * either version 2.1 of the License, or (at your option) any
+ * later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * @category ToolsAndUtilities
+ * @package phpDocumentor
+ * @subpackage Errors
+ * @author Greg Beaver <cellog@php.net>
+ * @copyright 2001-2008 Gregory Beaver
+ * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
+ * @version CVS: $Id: Errors.inc 253641 2008-02-24 02:35:44Z ashnazg $
+ * @filesource
+ * @link http://www.phpdoc.org
+ * @link http://pear.php.net/PhpDocumentor
+ * @see parserDocBlock, parserInclude, parserPage, parserClass
+ * @see parserDefine, parserFunction, parserMethod, parserVar
+ * @since 0.4
+ * @todo CS cleanup - change package to PhpDocumentor
+ */
+/**
+ * warning triggered when inheritance could be from more than one class
+ */
+define("PDERROR_MULTIPLE_PARENT", 1);
+/**
+ * warning triggered when parent class doesn't exist
+ */
+define("PDERROR_PARENT_NOT_FOUND", 2);
+/**
+ * warning triggered when an {@inline tag} is not terminated
+ * (no } before the * / ending the comment)
+ */
+define("PDERROR_UNTERMINATED_INLINE_TAG", 3);
+/**
+ * warning triggered when inheritance could be from more than one class
+ */
+define("PDERROR_CLASS_EXISTS", 4);
+/**
+ * warning triggered when inheritance could be from more than one class
+ */
+define("PDERROR_INHERITANCE_CONFLICT", 5);
+/**
+ * warning triggered when a converter is passed to
+ * {@link phpDocumentor_IntermediateParser::addConverter()} that is not a class
+ */
+define("PDERROR_CONVERTER_NOT_FOUND", 6);
+/**
+ * warning triggered when a converter is passed to
+ * {@link phpDocumentor_IntermediateParser::addConverter()} that is not a class
+ */
+define("PDERROR_NO_CONVERTERS", 7);
+/**
+ * warning triggered when the arguments to @access are neither public nor private
+ */
+define("PDERROR_ACCESS_WRONG_PARAM", 8);
+/**
+ * warning triggered when there are multiple @access tags in a docblock
+ */
+define("PDERROR_MULTIPLE_ACCESS_TAGS", 9);
+/**
+ * warning triggered when there are multiple @return tags in a docblock
+ */
+define("PDERROR_MULTIPLE_RETURN_TAGS", 10);
+/**
+ * warning triggered when there are multiple @var tags in a docblock
+ */
+define("PDERROR_MULTIPLE_VAR_TAGS", 11);
+/**
+ * warning triggered when there are multiple @package tags in a docblock
+ */
+define("PDERROR_MULTIPLE_PACKAGE_TAGS", 12);
+/**
+ * warning triggered when there are multiple @subpackage tags in a docblock
+ */
+define("PDERROR_MULTIPLE_SUBPACKAGE_TAGS", 13);
+/**
+ * warning triggered when the package or subpackage name is illegal
+ */
+define("PDERROR_ILLEGAL_PACKAGENAME", 14);
+/**
+ * warning triggered when there a @package tag is used in a function,
+ * define, method, var or include
+ */
+define("PDERROR_OVERRIDDEN_PACKAGE_TAGS", 15);
+/**
+ * warning triggered when there a @subpackage tag is used in a function,
+ * define, method, var or include
+ */
+define("PDERROR_OVERRIDDEN_SUBPACKAGE_TAGS", 16);
+/**
+ * warning triggered when classes in the same package have the same name
+ */
+define("PDERROR_CLASS_CONFLICT", 17);
+/**
+ * warning triggered when classes in the same package have the same name
+ */
+define("PDERROR_UNKNOWN_TAG", 18);
+/**
+ * warning triggered when there are multiple @name tags in a docblock
+ */
+define("PDERROR_MULTIPLE_NAME_TAGS", 19);
+/**
+ * warning triggered when there are multiple @name tags in a docblock
+ * @todo I think this description is a copy/paste that was never updated
+ */
+define("PDERROR_PACKAGEOUTPUT_DELETES_PARENT_FILE", 20);
+/**
+ * warning triggered when there are multiple @name tags in a docblock
+ * @todo I think this description is a copy/paste that was never updated
+ */
+define("PDERROR_GLOBAL_NOT_FOUND", 21);
+/**
+ * warning triggered when there are multiple @name tags in a docblock
+ * @todo I think this description is a copy/paste that was never updated
+ */
+define("PDERROR_MULTIPLE_GLOBAL_TAGS", 22);
+/**
+ * warning triggered when there are multiple @name tags in a docblock
+ * @todo I think this description is a copy/paste that was never updated
+ */
+define("PDERROR_MALFORMED_GLOBAL_TAG", 23);
+/**
+ * warning triggered when an @ignore tag is used in a DocBlock preceding
+ * a method, variable, include, or global variable
+ */
+define("PDERROR_IGNORE_TAG_IGNORED", 24);
+/**
+ * warning triggered when a duplicate element is encountered that will be
+ * ignored by the documentor
+ */
+define("PDERROR_ELEMENT_IGNORED", 25);
+/**
+ * warning triggered when an entire page is ignored because of @access private
+ */
+define("PDERROR_PARSEPRIVATE", 26);
+/**
+ * warning triggered when an entire page is ignored because of @access private
+ * @todo I think this description is a copy/paste that was never updated
+ */
+define("PDERROR_UNKNOWN_COMMANDLINE", 27);
+/**
+ * warning triggered when an entire page is ignored because of @access private
+ * @todo I think this description is a copy/paste that was never updated
+ */
+define("PDERROR_NEED_WHITESPACE", 28);
+/**
+ * warning triggered when an entire page is ignored because of @access private
+ * @todo I think this description is a copy/paste that was never updated
+ */
+define("PDERROR_CLASS_PARENT_NOT_FOUND", 29);
+/**
+ * warning triggered when a getClassByPackage is called and can't find the class
+ */
+define("PDERROR_CLASS_NOT_IN_PACKAGE", 30);
+/**
+ * warning triggered when a { @source } inline tag is used in a docblock not
+ * preceding a function
+ */
+define("PDERROR_SOURCE_TAG_FUNCTION_NOT_FOUND", 31);
+/**
+ * warning triggered when a docblock template is never turned off
+ * with /**#@-* / (no space)
+ */
+define("PDERROR_DB_TEMPLATE_UNTERMINATED", 32);
+/**
+ * warning triggered when a docblock has an unmatched &lt;ol&gt; or &lt;ul&gt;
+ */
+define("PDERROR_UNMATCHED_LIST_TAG", 33);
+/**
+ * warning triggered when another tag is nested in &lt;b&gt;
+ * (not allowed in phpDocumentor)
+ */
+define("PDERROR_CANT_NEST_IN_B", 34);
+/**
+ * warning triggered when a docbook tag is not properly matched
+ */
+define("PDERROR_UNMATCHED_TUTORIAL_TAG", 35);
+/**
+ * warning triggered when an inline tag is found inside an xml tag name
+ * in a package page
+ */
+define("PDERROR_CANT_HAVE_INLINE_IN_TAGNAME", 36);
+/**
+ * warning triggered when a tutorial is referenced
+ * via @tutorial/{ @tutorial} and is not found
+ */
+define("PDERROR_TUTORIAL_NOT_FOUND", 37);
+/**
+ * warning triggered when a tutorial lists itself as a child tutorial
+ */
+define("PDERROR_TUTORIAL_IS_OWN_CHILD", 38);
+/**
+ * warning triggered when a tutorial's child lists the parent tutorial
+ * as a child tutorial
+ */
+define("PDERROR_TUTORIAL_IS_OWN_GRANDPA", 39);
+/**
+ * warning triggered when a tutorial's child in the .ini file doesn't exist in the
+ * package and subpackage of the parent
+ */
+define("PDERROR_CHILD_TUTORIAL_NOT_FOUND", 40);
+/**
+ * warning triggered when a <pdffunction:funcname /> tag is used in the PDF
+ * Converter and no funcname is present (<pdffunction: />)
+ */
+define("PDERROR_PDFFUNCTION_NO_FUNC", 41);
+/**
+ * warning triggered when a <pdffunction:funcname /> tag is used in the PDF
+ * Converter and funcname is not a {@link Cezpdf} method
+ */
+define("PDERROR_PDF_METHOD_DOESNT_EXIST", 42);
+/**
+ * warning triggered when a <pdffunction:funcname arg=$tempvar/> tag
+ * is used in the PDF
+ * Converter and "tempvar" is not set from the return of a previous pdffunction tag
+ */
+define("PDERROR_PDF_TEMPVAR_DOESNT_EXIST", 43);
+/**
+ * warning triggered when a subsection's title is asked for, but the subsection
+ * is not found
+ */
+define("PDERROR_TUTORIAL_SUBSECTION_NOT_FOUND", 44);
+/**
+ * warning triggered when a subsection's title is asked for, but the subsection
+ * is not found
+ */
+define("PDERROR_UNTERMINATED_ATTRIB", 45);
+/**
+ * warning triggered when no @package tag is used in a page-level
+ * or class-level DocBlock
+ */
+define("PDERROR_NO_PACKAGE_TAG", 46);
+/**
+ * warning triggered when no @access private tag is used in a
+ * global variable/method/var with _ as first char in name
+ * and --pear was specified
+ */
+define("PDERROR_PRIVATE_ASSUMED", 47);
+/**
+ * warning triggered when an example's path from @example /path/to/example.php
+ * is not found
+ */
+define("PDERROR_EXAMPLE_NOT_FOUND", 48);
+/**
+ * warning triggered when an example's path from @example /path/to/example.php
+ * is not found
+ */
+define("PDERROR_NO_CONVERTER_HANDLER", 49);
+/**
+ * warning triggered when an example's path from @example /path/to/example.php
+ * is not found
+ */
+define("PDERROR_INLINETAG_IN_SEE", 50);
+/**
+ * warning triggered when an id attribute in a tutorial docbook tag is not
+ * an {@}id} inline tag
+ */
+define("PDERROR_ID_MUST_BE_INLINE", 51);
+/**
+ * warning triggered when an {@}internal}} tag is not closed
+ */
+define("PDERROR_INTERNAL_NOT_CLOSED", 52);
+/**
+ * warning triggered when an {@}source} tag is found in a short description
+ */
+define("PDERROR_SOURCE_TAG_IGNORED", 53);
+/**
+ * warning triggered when a child converter doesn't override
+ * getFormattedClassTrees()
+ */
+define("PDERROR_CONVERTER_OVR_GFCT", 54);
+/**
+ * warning triggered when a package is already associated with a category, and
+ * a new association is found
+ */
+define("PDERROR_PACKAGECAT_SET", 55);
+/**
+ * warning triggered when text in a docblock list is not contained in
+ * an <<li>> opening tag
+ */
+define("PDERROR_TEXT_OUTSIDE_LI", 56);
+/**
+ * warning triggered when a DocBlock html tag is unclosed
+ */
+define("PDERROR_UNCLOSED_TAG", 57);
+/**
+ * warning triggered by @filesource, if PHP < 4.3.0
+ */
+define("PDERROR_TAG_NOT_HANDLED", 58);
+/**
+ * warning triggered by sourcecode="on", if PHP < 4.3.0
+ */
+define("PDERROR_SOURCECODE_IGNORED", 59);
+/**
+ * warning triggered by an empty tag
+ */
+define("PDERROR_MALFORMED_TAG", 60);
+/**
+ * warning triggered by more than 1 @category tag
+ */
+define("PDERROR_MULTIPLE_CATEGORY_TAGS", 61);
+/**
+ * warning triggered by {@}inheritdoc} in a non-inheritable situation
+ */
+define("PDERROR_INHERITDOC_DONT_WORK_HERE", 62);
+/**
+ * warning triggered by @example path/to/example with no title
+ */
+define("PDERROR_EMPTY_EXAMPLE_TITLE", 63);
+/**
+ * warning triggered by non-existent template directory
+ */
+define("PDERROR_TEMPLATEDIR_DOESNT_EXIST", 64);
+/**
+ * warning triggered by an unterminated entity in a tutorial
+ */
+define("PDERROR_UNTERMINATED_ENTITY", 65);
+/**
+ * warning triggered by an unterminated entity in a tutorial
+ */
+define("PDERROR_BEAUTIFYING_FAILED", 66);
+/**
+ * warning triggered by a function with no name
+ *
+ * <pre>
+ * function ($params)
+ * {
+ * }
+ * </pre>
+ * triggers this error
+ */
+define("PDERROR_FUNCTION_HAS_NONAME", 67);
+/**
+ * warning triggered by a page-level docblock preceding a source element
+ *
+ * <code>
+ * <?php
+ * /**
+ * * Page-level DocBlock
+ * * @package pagepackage
+ * *{@*}
+ * include 'file.php';
+ * </code>
+ */
+define("PDERROR_DOCBLOCK_CONFLICT", 68);
+/**
+ * warning triggered when a file does not contain a page-level docblock
+ */
+define("PDERROR_NO_PAGE_LEVELDOCBLOCK", 69);
+/**
+ * warning triggered when the first docblock in a file with a @package tag
+ * precedes a class. In this case, the class gets the docblock.
+ */
+define("PDERROR_DOCBLOCK_GOES_CLASS", 70);
+/**
+ * warning triggered in tutorial parsing if there is a missing {@id} inline tag
+ */
+define("PDERROR_NO_DOCBOOK_ID", 71);
+/**
+ * warning triggered if someone brilliant tries "class X extends X {"
+ */
+define("PDERROR_CANNOT_EXTEND_SELF", 72);
+/**
+ * warning triggered by improper "@uses {@link blah}"
+ */
+define("PDERROR_DUMB_USES", 73);
+/**
+ * warning triggered if <<ul>> is nested inside <<ul>> and not <<li>>
+ */
+define("PDERROR_UL_IN_UL", 74);
+/**
+ * warning triggered if a command line option does not have a valid value passed in
+ */
+define("PDERROR_INVALID_VALUES", 75);
+/**
+ * warning triggered when {@}internal}} is nested inside another {@}internal}}
+ */
+define("PDERROR_NESTED_INTERNAL", 76);
+/**
+ * warning triggered when @todo is used on an include element
+ */
+define("PDERROR_NOTODO_INCLUDE", 77);
+/**
+ * warning triggered when a class or method hasn't got docblock
+ */
+define("PDERROR_UNDOCUMENTED_ELEMENT", 78);
+/**
+ * warning triggered when any of {@}property}}, {@}property-read}},
+ * {@}property-write}}, or {@}method}} tag does not have name
+ */
+define("PDERROR_MISSING_PROPERTY_TAG_NAME", 79);
+/**
+ * warning triggered when the PHP version being used has dangerous bug/behavior
+ */
+define("PDERROR_DANGEROUS_PHP_BUG_EXISTS", 80);
+/**
+ * warning triggered when the alias value in an page-level docblock's @name tag
+ * is the same value as the target filename is it supposed to alias
+ */
+define("PDERROR_NAME_ALIAS_SAME_AS_TARGET", 81);
+/**
+ * warning triggered when the a loop recursion tripwire has been tripped
+ */
+define("PDERROR_LOOP_RECURSION_LIMIT_REACHED", 82);
+
+/**
+ * Error messages for phpDocumentor parser warnings
+ * @global array $GLOBALS['phpDocumentor_warning_descrip']
+ * @name $phpDocumentor_warning_descrip
+ */
+$GLOBALS['phpDocumentor_warning_descrip'] =
+ array(
+ PDERROR_MULTIPLE_PARENT =>
+ 'Class %s has multiple possible parents, package inheritance aborted'
+ ,
+ PDERROR_PARENT_NOT_FOUND =>
+ 'Class %s parent %s not found'
+ ,
+ PDERROR_INHERITANCE_CONFLICT =>
+ 'Class %s in file %s has multiple possible parents named %s. ' .
+ 'Cannot resolve name conflict,' . "\n" .
+ ' try ignoring a file that contains the conflicting parent class'
+ ,
+ PDERROR_UNKNOWN_TAG =>
+ 'Unknown tag "@%s" used'
+ ,
+ PDERROR_IGNORE_TAG_IGNORED =>
+ '@ignore tag used for %s element "%s" will be ignored'
+ ,
+ PDERROR_ELEMENT_IGNORED =>
+ "\n" . 'duplicate %s element "%s" in file %s will be ignored.' . "\n" .
+ 'Use an @ignore tag on the original ' .
+ 'if you want this case to be documented.'
+ ,
+ PDERROR_PARSEPRIVATE =>
+ "entire page %s ignored because of @access private." . "\n" .
+ "Choose -pp to enable parsing of private elements"
+ ,
+ PDERROR_CLASS_PARENT_NOT_FOUND =>
+ "class %s in package %s parent not found in @see parent::%s"
+ ,
+ PDERROR_CLASS_NOT_IN_PACKAGE =>
+ "class %s was not found in package %s"
+ ,
+ PDERROR_DB_TEMPLATE_UNTERMINATED =>
+ 'docblock template never terminated with /**#@-*/'
+ ,
+ PDERROR_PDF_METHOD_DOESNT_EXIST =>
+ '<pdffunction:%s /> called, but pdf method "%s" doesn\'t exist'
+ ,
+ PDERROR_TUTORIAL_NOT_FOUND =>
+ "tutorial \"%s\" not found, does it exist?"
+ ,
+ PDERROR_CHILD_TUTORIAL_NOT_FOUND =>
+ 'child tutorial "%s" listed in %s not found ' .
+ 'in parent package "%s" subpackage "%s"'
+ ,
+ PDERROR_TUTORIAL_SUBSECTION_NOT_FOUND =>
+ 'tutorial %s subsection "%s" doesn\'t exist, ' .
+ 'but its title was asked for'
+ ,
+ PDERROR_NO_PACKAGE_TAG =>
+ 'no @package tag was used in a DocBlock for %s %s'
+ ,
+ PDERROR_PRIVATE_ASSUMED =>
+ '%s "%s" is assumed to be @access private because its name ' .
+ 'starts with _, but has no @access tag'
+ ,
+ PDERROR_EXAMPLE_NOT_FOUND =>
+ 'example file "%s" does not exist'
+ ,
+ PDERROR_SOURCE_TAG_IGNORED =>
+ '{@source} can only be used in the long description, ' .
+ 'not in the short description: "%s"'
+ ,
+ PDERROR_PACKAGECAT_SET =>
+ 'package %s is already in category %s, ' .
+ 'will now replace with category %s'
+ ,
+ PDERROR_SOURCECODE_IGNORED =>
+ 'sourcecode command-line option is ignored ' .
+ 'when your PHP build has no tokenizer support'
+ ,
+ PDERROR_INHERITDOC_DONT_WORK_HERE =>
+ '{@inheritdoc} can only be used in the docblock of a child class'
+ ,
+ PDERROR_EMPTY_EXAMPLE_TITLE =>
+ 'Example file found at "%s" has no title, using "%s"'
+ ,
+ PDERROR_DOCBLOCK_CONFLICT =>
+ 'Page-level DocBlock precedes "%s %s", ' .
+ 'use another DocBlock to document the source element'
+ ,
+ PDERROR_NO_PAGE_LEVELDOCBLOCK =>
+ 'File "%s" has no page-level DocBlock, ' .
+ 'use @package in the first DocBlock to create one'
+ ,
+ PDERROR_DOCBLOCK_GOES_CLASS =>
+ 'DocBlock would be page-level, but precedes class "%s", ' .
+ 'use another DocBlock to document the file'
+ ,
+ PDERROR_NO_DOCBOOK_ID =>
+ 'Tutorial section %s "%s" has no id="{@id subsection}" tag ' .
+ '({@id} for refentry)'
+ ,
+ PDERROR_BEAUTIFYING_FAILED =>
+ 'Beautifying failed: %s'
+ ,
+ PDERROR_NOTODO_INCLUDE =>
+ '@todo on an include element is ignored (line %s, file %s)'
+ ,
+ PDERROR_UNDOCUMENTED_ELEMENT =>
+ '%s "%s" has no %s-level DocBlock.'
+ ,
+ PDERROR_MISSING_PROPERTY_TAG_NAME =>
+ '@%s magic tag does not have name, illegal. Ignoring tag "@%s %s %s"'
+ ,
+ PDERROR_NAME_ALIAS_SAME_AS_TARGET =>
+ '@name value is the same as the filename it is supposed to alias'
+ );
+
+
+
+//********************************************************
+
+
+
+/**
+ * Error messages for phpDocumentor parser errors
+ * @global array $GLOBALS['phpDocumentor_error_descrip']
+ * @name $phpDocumentor_error_descrip
+ */
+$GLOBALS['phpDocumentor_error_descrip'] =
+ array(
+ PDERROR_UNTERMINATED_INLINE_TAG =>
+ 'Inline tag {@%s} in tag %s is unterminated, "%s"'
+ ,
+ PDERROR_CLASS_EXISTS =>
+ 'Class %s already exists in package "%s"'
+ ,
+ PDERROR_CONVERTER_NOT_FOUND =>
+ 'Converter %s specified by --output command-line option is not a class'
+ ,
+ PDERROR_NO_CONVERTERS =>
+ 'No Converters have been specified by --output command-line option'
+ ,
+ PDERROR_ACCESS_WRONG_PARAM =>
+ '@access was passed neither "public" nor "private." Was passed: "%s"'
+ ,
+ PDERROR_MULTIPLE_ACCESS_TAGS =>
+ 'DocBlock has multiple @access tags, illegal. ' .
+ 'ignoring additional tag "@access %s"'
+ ,
+ PDERROR_MULTIPLE_RETURN_TAGS =>
+ 'DocBlock has multiple @return tags, illegal. ' .
+ 'ignoring additional tag "@return %s %s"'
+ ,
+ PDERROR_MULTIPLE_VAR_TAGS =>
+ 'DocBlock has multiple @var tags, illegal. ' .
+ 'ignoring additional tag "@var %s %s"'
+ ,
+ PDERROR_MULTIPLE_PACKAGE_TAGS =>
+ 'DocBlock has multiple @package tags, illegal. ' .
+ 'ignoring additional tag "@package %s"'
+ ,
+ PDERROR_MULTIPLE_SUBPACKAGE_TAGS =>
+ 'DocBlock has multiple @subpackage tags, illegal. ' .
+ 'ignoring additional tag "@subpackage %s"'
+ ,
+ PDERROR_ILLEGAL_PACKAGENAME =>
+ '@%s tag has illegal %s name "%s"'
+ ,
+ PDERROR_OVERRIDDEN_PACKAGE_TAGS =>
+ '%s %s\'s DocBlock has @package tag, illegal. ' .
+ 'ignoring tag "@package %s"'
+ ,
+ PDERROR_OVERRIDDEN_SUBPACKAGE_TAGS =>
+ '"%s" %s\'s DocBlock has @subpackage tags, illegal. ' .
+ 'ignoring tag "@subpackage %s"'
+ ,
+ PDERROR_CLASS_CONFLICT =>
+ 'class "%s" has multiple declarations in package %s, ' .
+ 'in file %s and file %s, documentation will have output errors!'
+ ,
+ PDERROR_MULTIPLE_NAME_TAGS =>
+ 'DocBlock has multiple @name tags, illegal. ' .
+ 'ignoring additional tag "@name %s"'
+ ,
+ PDERROR_PACKAGEOUTPUT_DELETES_PARENT_FILE =>
+ '-po (packageoutput) option deletes parent file "%s" containing class' .
+ ' "%s."' . "\n" . ' Try using --defaultpackagename (-dn) %s to ' .
+ 'include the parent file in the same package as the class'
+ ,
+ PDERROR_GLOBAL_NOT_FOUND =>
+ 'global variable %s specified in @global tag was never found'
+ ,
+ PDERROR_MULTIPLE_GLOBAL_TAGS =>
+ '@global define tag already used for global variable "%s", ' .
+ 'ignoring @global %s'
+ ,
+ PDERROR_MALFORMED_GLOBAL_TAG =>
+ 'incorrect @global syntax. ' .
+ 'Should be @global vartype $varname or @global vartype description'
+ ,
+ PDERROR_UNKNOWN_COMMANDLINE =>
+ 'Unknown command-line option "%s" encountered, use phpdoc -h for help'
+ ,
+ PDERROR_NEED_WHITESPACE =>
+ 'phpDocumentor programmer error - wordparser whitespace set to false ' .
+ 'in handleDocBlock, notify developers. You should never see this error'
+ ,
+ PDERROR_SOURCE_TAG_FUNCTION_NOT_FOUND =>
+ '{@source} tag used in a docblock that isn\'t preceding a function'
+ ,
+ PDERROR_UNMATCHED_LIST_TAG =>
+ 'unmatched ol or ul tag in DocBlock, parsing will be incorrect'
+ ,
+ PDERROR_CANT_NEST_IN_B =>
+ 'Can\'t nest a code, pre, ul, or ol tag in a b tag in ' .
+ 'phpDocumentor DocBlock (%s tag nested)'
+ ,
+ PDERROR_UNMATCHED_TUTORIAL_TAG =>
+ 'While parsing extended documentation, "%s" tag was matched ' .
+ 'with "%s" endtag, missing endtag'."\ntag contents:\"%s\""
+ ,
+ PDERROR_CANT_HAVE_INLINE_IN_TAGNAME =>
+ 'Can\'t have an inline tag inside a package page XML tag!'
+ ,
+ PDERROR_TUTORIAL_IS_OWN_CHILD =>
+ 'Tutorial %s lists itself as its own child in %s, illegal'
+ ,
+ PDERROR_TUTORIAL_IS_OWN_GRANDPA =>
+ 'Tutorial %s\'s child %s lists %s as its child in %s, illegal'
+ ,
+ PDERROR_PDFFUNCTION_NO_FUNC =>
+ 'Invalid pdffunction syntax: "<pdffunction: />", ' .
+ 'should be "<pdffunction:functionname [arg="value"...]/>"'
+ ,
+ PDERROR_PDF_TEMPVAR_DOESNT_EXIST =>
+ '<pdffunction:%s arg=%s /> called ' .
+ 'but temporary variable "%s" doesn\'t exist'
+ ,
+ PDERROR_UNTERMINATED_ATTRIB =>
+ 'Tutorial tag %s attribute %s is unterminated, current value "%s"'
+ ,
+ PDERROR_NO_CONVERTER_HANDLER =>
+ 'Handler for element of type "%s" called, but %s is not a method of %s'
+ ,
+ PDERROR_INLINETAG_IN_SEE =>
+ 'Inline tags are not allowed in a @see tag'
+ ,
+ PDERROR_ID_MUST_BE_INLINE =>
+ '<%s id="%s"> must be <%s id="{@id %s}">'
+ ,
+ PDERROR_INTERNAL_NOT_CLOSED =>
+ '{@internal was never terminated with }}'
+ ,
+ PDERROR_CONVERTER_OVR_GFCT =>
+ 'Converter "%s" must override getFormattedClassTrees() but doesn\'t'
+ ,
+ PDERROR_TEXT_OUTSIDE_LI =>
+ 'Text cannot be outside of li tag in a DocBlock list, ' .
+ 'parsing will be incorrect'
+ ,
+ PDERROR_UNCLOSED_TAG =>
+ 'Unclosed %s tag in DocBlock, parsing will be incorrect'
+ ,
+ PDERROR_TAG_NOT_HANDLED =>
+ '"%s" tag is not available in PHP built without tokenizer support, tag ignored'
+ ,
+ PDERROR_MALFORMED_TAG =>
+ '"%s" tag was used without any parameters, illegal'
+ ,
+ PDERROR_MULTIPLE_CATEGORY_TAGS =>
+ 'package has multiple @category tags, ignoring "@category %s"'
+ ,
+ PDERROR_TEMPLATEDIR_DOESNT_EXIST =>
+ 'template directory "%s" does not exist'
+ ,
+ PDERROR_UNTERMINATED_ENTITY =>
+ 'entity &%s is unterminated'
+ ,
+ PDERROR_FUNCTION_HAS_NONAME =>
+ 'function has no name (PHP error - test your file before parsing!)'
+ ,
+ PDERROR_CANNOT_EXTEND_SELF =>
+ 'class %s cannot extend itself - TEST YOUR CODE BEFORE PARSING'
+ ,
+ PDERROR_DUMB_USES =>
+ '@uses can only link to string data'
+ ,
+ PDERROR_UL_IN_UL =>
+ 'ul/ol tags cannot be directly nested inside ul/ol, nest inside li'
+ ,
+ PDERROR_INVALID_VALUES =>
+ 'command %s was passed "%s" but must be one of %s'
+ ,
+ PDERROR_NESTED_INTERNAL =>
+ '{@internal}} cannot be nested inside {@internal}}'
+ ,
+ PDERROR_DANGEROUS_PHP_BUG_EXISTS =>
+ 'Dangerous PHP Bug exists in PHP version %s that can be triggered ' .
+ 'by this parse (see PHP Bug #%s and PEAR Bug #%s)'
+ ,
+ PDERROR_LOOP_RECURSION_LIMIT_REACHED =>
+ 'An internal loop in PhpDocumentor has reached its preset ' .
+ 'recursion limit, preventing a possible infinite loop condition.'
+ );
+
+/**
+ * encapsulates warning information
+ *
+ * @category ToolsAndUtilities
+ * @package phpDocumentor
+ * @subpackage Errors
+ * @author Greg Beaver <cellog@php.net>
+ * @copyright 2001-2008 Gregory Beaver
+ * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
+ * @version Release: 1.4.3
+ * @link http://www.phpdoc.org
+ * @link http://pear.php.net/PhpDocumentor
+ * @todo CS cleanup - change package to PhpDocumentor
+ */
+class RecordWarning
+{
+ /**
+ * name of global variable that descriptors for this warning/error is kept
+ * @var string
+ */
+ var $type = 'phpDocumentor_warning_descrip';
+ /**
+ * file this error occurred in
+ * @var string
+ */
+ var $file = false;
+ /**
+ * line number of the file this error occurred in
+ * @var integer
+ */
+ var $linenum;
+ /**
+ * error string
+ * @var string
+ */
+ var $data;
+ /**
+ * error number
+ * @see Errors.inc
+ * @var string
+ */
+ var $num;
+ /**
+ * Constructor
+ *
+ * @param string $file filename this error occurred in ({@link $file})
+ * @param integer $linenum line number this error occurred on ({@link $linenum})
+ * @param integer $num Error number defined in {@link Errors.inc}
+ * @param string $data... variable number of strings, up to 4,
+ *
+ * @todo CS Cleanup - do I need to add $data to the method signature?
+ * to sprintf based on the error number
+ */
+ function RecordWarning($file, $linenum, $num)
+ {
+ $this->file = $file;
+ $this->linenum = $linenum;
+ $a = array('', '', '', '');
+ if (func_num_args()>3) {
+ for ($i=3;$i<func_num_args();$i++) {
+ $a[$i - 3] = func_get_arg($i);
+ }
+ }
+
+ $this->num = $num;
+ $this->data =
+ sprintf($GLOBALS[$this->type][$this->num], $a[0], $a[1], $a[2], $a[3]);
+ $this->output();
+ }
+
+ /**
+ * prints the warning
+ *
+ * @param string $string the warning to print
+ *
+ * @return void
+ */
+ function output($string = false)
+ {
+ if ($string) {
+ if ($this->file) {
+ return
+ "WARNING in $this->file on line $this->linenum: $this->data\n";
+ } else {
+ return "WARNING: $this->data\n";
+ }
+ }
+ if ($this->file) {
+ phpDocumentor_out("WARNING in $this->file " .
+ "on line $this->linenum: $this->data\n");
+ } else {
+ phpDocumentor_out("WARNING: $this->data\n");
+ }
+ flush();
+ }
+}
+
+/**
+ * encapsulates error information
+ *
+ * @category ToolsAndUtilities
+ * @package phpDocumentor
+ * @subpackage Errors
+ * @author Greg Beaver <cellog@php.net>
+ * @copyright 2001-2008 Gregory Beaver
+ * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
+ * @version Release: 1.4.3
+ * @link http://www.phpdoc.org
+ * @link http://pear.php.net/PhpDocumentor
+ * @todo CS cleanup - change package to PhpDocumentor
+ */
+class RecordError extends RecordWarning
+{
+ /**
+ * name of global variable that descriptors for this warning/error is kept
+ * @var string
+ */
+ var $type = 'phpDocumentor_error_descrip';
+
+ /**
+ * prints the error
+ *
+ * @param string $string the error to print
+ *
+ * @return string
+ */
+ function output($string = false)
+ {
+ if ($string) {
+ if ($this->file) {
+ return
+ "\n\tERROR in $this->file on line $this->linenum: $this->data\n"
+ ;
+ } else {
+ return "\n\tERROR: $this->data\n";
+ }
+ }
+ if ($this->file) {
+ phpDocumentor_out("\n\tERROR in $this->file " .
+ "on line $this->linenum: $this->data\n");
+ } else {
+ phpDocumentor_out("\n\tERROR: $this->data\n");
+ }
+ flush();
+ }
+}
+
+/**
+ * contains all the errors/warnings
+ *
+ * @category ToolsAndUtilities
+ * @package phpDocumentor
+ * @subpackage Errors
+ * @author Greg Beaver <cellog@php.net>
+ * @copyright 2001-2008 Gregory Beaver
+ * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
+ * @version Release: 1.4.3
+ * @link http://www.phpdoc.org
+ * @link http://pear.php.net/PhpDocumentor
+ * @todo CS cleanup - change package to PhpDocumentor
+ * @see $errors, $warnings
+ */
+class ErrorTracker
+{
+ /**
+ * array of {@link RecordError}s
+ * @var array
+ */
+ var $errors = array();
+ /**
+ * array of {@link RecordWarning}s
+ * @var array
+ */
+ var $warnings = array();
+ /**
+ * @var string
+ */
+ var $curfile = '';
+ /**
+ * @var integer
+ */
+ var $linenum = 0;
+
+ /**
+ * index in {@link $errors} of last error triggered
+ * @var integer|false
+ */
+ var $lasterror = false;
+
+ /**
+ * index in {@link $warnings} of last warning triggered
+ * @var integer|false
+ */
+ var $lastwarning = false;
+
+ /**
+ * This function subscribes to two events in the Parser
+ * in order to keep track of line number information and file name.
+ *
+ * @param integer $num parser-passed event
+ * (see {@link PHPDOCUMENTOR_EVENT_NEWLINENUM,
+ * PHPDOCUMENTOR_EVENT_NEWFILE})
+ * @param mixed $data either a line number if $num is
+ * PHPDOCUMENTOR_EVENT_NEWLINENUM or a file name
+ * if $num is PHPDOCUMENTOR_EVENT_NEWFILE
+ *
+ * @return void
+ */
+ function handleEvent($num,$data)
+ {
+ switch($num) {
+ case PHPDOCUMENTOR_EVENT_NEWLINENUM :
+ $this->linenum = $data;
+ break;
+
+ case PHPDOCUMENTOR_EVENT_NEWFILE :
+ $this->linenum = 0;
+ $this->curfile = $data;
+ break;
+
+ case 1000000635 : // debugging
+ phpDocumentor_out($this->curfile .
+ ' has ' . $this->linenum . ' lines' . "\n");
+ flush();
+ break;
+ }
+ }
+
+ /**
+ * add a new warning to the {@link $warnings} array
+ *
+ * @param integer $num error number from {@link Errors.inc}
+ * @param string $data... up to 4 string parameters to sprintf()
+ * into the error string for error number $num
+ *
+ * @return void
+ * @todo CS Cleanup - do I need to add $data to the method signature?
+ */
+ function addWarning($num)
+ {
+ $a = array('', '', '', '');
+ if (func_num_args()>1) {
+ for ($i=1;$i<func_num_args();$i++) {
+ $a[$i - 1] = func_get_arg($i);
+ }
+ }
+ $this->warnings[] = new RecordWarning($this->curfile,
+ $this->linenum, $num, $a[0], $a[1], $a[2], $a[3]);
+ $this->lastwarning = count($this->warnings) - 1;
+ }
+
+ /**
+ * add a new error to the {@link $errors} array
+ *
+ * @param integer $num error number from {@link Errors.inc}
+ * @param string $data... up to 4 string parameters to sprintf()
+ * into the error string for error number $num
+ *
+ * @return void
+ * @todo CS Cleanup - do I need to add $data to the method signature?
+ */
+ function addError($num)
+ {
+ $a = array('', '', '', '');
+ if (func_num_args()>1) {
+ for ($i=1;$i<func_num_args();$i++) {
+ $a[$i - 1] = func_get_arg($i);
+ }
+ }
+ $this->errors[] = new RecordError($this->curfile,
+ $this->linenum, $num, $a[0], $a[1], $a[2], $a[3]);
+ $this->lasterror = count($this->errors) - 1;
+ }
+
+ /**
+ * add a new error to the {@link $errors} array and returns the error string
+ *
+ * @param integer $num error number from {@link Errors.inc}
+ * @param string $data... up to 4 string parameters to sprintf()
+ * into the error string for error number $num
+ *
+ * @return void
+ * @todo CS Cleanup - do I need to add $data to the method signature?
+ */
+ function addErrorReturn($num)
+ {
+ $a = array('', '', '', '');
+ if (func_num_args()>1) {
+ for ($i=1;$i<func_num_args();$i++) {
+ $a[$i - 1] = func_get_arg($i);
+ }
+ }
+ $this->errors[] = new RecordError($this->curfile,
+ $this->linenum, $num, $a[0], $a[1], $a[2], $a[3], false);
+ $this->lasterror = count($this->errors) - 1;
+ }
+
+ /**
+ * Get sorted array of all warnings in parsing/conversion
+ *
+ * @return array
+ */
+ function &returnWarnings()
+ {
+ usort($this->warnings, array($this, "errorsort"));
+ return $this->warnings;
+ }
+
+ /**
+ * Get sorted array of all non-fatal errors in parsing/conversion
+ *
+ * @return array
+ */
+ function &returnErrors()
+ {
+ usort($this->errors, array($this, "errorsort"));
+ return $this->errors;
+ }
+
+ /**
+ * sort two errors
+ *
+ * @param RecordError|RecordWarning $a the first error/warning
+ * @param RecordError|RecordWarning $b the second error/warning
+ *
+ * @return int
+ * @access private
+ */
+ function errorsort($a, $b)
+ {
+ if (!$a->file) return -1;
+ if (!$b->file) return 1;
+ if ($a->file == $b->file) {
+ if ($a->linenum == $b->linenum) return 0;
+ if ($a->linenum < $b->linenum) return -1;
+ return 1;
+ }
+ return strnatcasecmp($a->file, $b->file);
+ }
+
+ /**
+ * Get the error message of the last error
+ *
+ * @return string
+ */
+ function returnLastError()
+ {
+ return $this->errors[$this->lasterror]->output(true);
+ }
+
+ /**
+ * Get the warning message of the last warning
+ *
+ * @return string
+ */
+ function returnLastWarning()
+ {
+ return $this->warnings[$this->lastwarning]->output(true);
+ }
+}
+
+/**
+ * @global ErrorTracker $GLOBALS['phpDocumentor_errors']
+ * @name $phpDocumentor_errors
+ */
+$GLOBALS['phpDocumentor_errors'] = new ErrorTracker;
+
+/**
+ * add an Error
+ *
+ * @param integer $num error number from {@link Errors.inc}
+ * @param string $data... up to 4 string parameters to sprintf()
+ * into the error string for error number $num
+ *
+ * @return void
+ * @see ErrorTracker::addError()
+ * @todo CS Cleanup - do I need to add $data to the method signature?
+ */
+function addError($num)
+{
+ global $phpDocumentor_errors;
+ $a = array('', '', '', '');
+ if (func_num_args()>1) {
+ for ($i=1;$i<func_num_args();$i++) {
+ $a[$i - 1] = func_get_arg($i);
+ }
+ }
+ $phpDocumentor_errors->addError($num, $a[0], $a[1], $a[2], $a[3]);
+}
+
+/**
+ * like {@link addError()} but exits parsing
+ *
+ * @param integer $num error number from {@link Errors.inc}
+ * @param string $data... up to 4 string parameters to sprintf()
+ * into the error string for error number $num
+ *
+ * @return void
+ * @global ErrorTracker repository for all errors generated by phpDocumentor
+ * @see ErrorTracker::addError()
+ * @todo CS Cleanup - do I need to add $data to the method signature?
+ */
+function addErrorDie($num)
+{
+ global $phpDocumentor_errors;
+ $a = array('', '', '', '');
+ if (func_num_args()>1) {
+ for ($i=1;$i<func_num_args();$i++) {
+ $a[$i - 1] = func_get_arg($i);
+ }
+ }
+ $phpDocumentor_errors->addErrorReturn($num, $a[0], $a[1], $a[2], $a[3]);
+ echo $phpDocumentor_errors->returnLastError();
+ die(1);
+}
+
+/**
+ * add a Warning
+ *
+ * @param integer $num warning number from {@link Errors.inc}
+ * @param string $data... up to 4 string parameters to sprintf()
+ * into the error string for error number $num
+ *
+ * @return void
+ * @global ErrorTracker repository for all errors generated by phpDocumentor
+ * @see ErrorTracker::addWarning()
+ * @todo CS Cleanup - do I need to add $data to the method signature?
+ */
+function addWarning($num)
+{
+ global $phpDocumentor_errors;
+ $a = array('', '', '', '');
+ if (func_num_args()>1) {
+ for ($i=1;$i<func_num_args();$i++) {
+ $a[$i - 1] = func_get_arg($i);
+ }
+ }
+
+ $phpDocumentor_errors->addWarning($num, $a[0], $a[1], $a[2], $a[3]);
+}
+?>