annotate vendor/psy/psysh/src/Input/CodeArgument.php @ 5:12f9dff5fda9 tip

Update to Drupal core 8.7.1
author Chris Cannam
date Thu, 09 May 2019 15:34:47 +0100
parents c75dbcec494b
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 /*
Chris@0 4 * This file is part of Psy Shell.
Chris@0 5 *
Chris@0 6 * (c) 2012-2018 Justin Hileman
Chris@0 7 *
Chris@0 8 * For the full copyright and license information, please view the LICENSE
Chris@0 9 * file that was distributed with this source code.
Chris@0 10 */
Chris@0 11
Chris@0 12 namespace Psy\Input;
Chris@0 13
Chris@0 14 use Symfony\Component\Console\Input\InputArgument;
Chris@0 15
Chris@0 16 /**
Chris@0 17 * An input argument for code.
Chris@0 18 *
Chris@0 19 * A CodeArgument must be the final argument of the command. Once all options
Chris@0 20 * and other arguments are used, any remaining input until the end of the string
Chris@0 21 * is considered part of a single CodeArgument, regardless of spaces, quoting,
Chris@0 22 * escaping, etc.
Chris@0 23 *
Chris@0 24 * This means commands can support crazy input like
Chris@0 25 *
Chris@0 26 * parse function() { return "wheee\n"; }
Chris@0 27 *
Chris@0 28 * ... without having to put the code in a quoted string and escape everything.
Chris@0 29 */
Chris@0 30 class CodeArgument extends InputArgument
Chris@0 31 {
Chris@0 32 /**
Chris@0 33 * Constructor.
Chris@0 34 *
Chris@0 35 * @param string $name The argument name
Chris@0 36 * @param int $mode The argument mode: self::REQUIRED or self::OPTIONAL
Chris@0 37 * @param string $description A description text
Chris@0 38 * @param mixed $default The default value (for self::OPTIONAL mode only)
Chris@0 39 *
Chris@0 40 * @throws \InvalidArgumentException When argument mode is not valid
Chris@0 41 */
Chris@0 42 public function __construct($name, $mode = null, $description = '', $default = null)
Chris@0 43 {
Chris@0 44 if ($mode & InputArgument::IS_ARRAY) {
Chris@0 45 throw new \InvalidArgumentException('Argument mode IS_ARRAY is not valid');
Chris@0 46 }
Chris@0 47
Chris@0 48 parent::__construct($name, $mode, $description, $default);
Chris@0 49 }
Chris@0 50 }