name: InputArgument
class_comment: '# * Represents a command line argument.

  # *

  # * @author Fabien Potencier <fabien@symfony.com>'
dependencies:
- name: Command
  type: class
  source: Symfony\Component\Console\Command\Command
- name: CompletionInput
  type: class
  source: Symfony\Component\Console\Completion\CompletionInput
- name: CompletionSuggestions
  type: class
  source: Symfony\Component\Console\Completion\CompletionSuggestions
- name: Suggestion
  type: class
  source: Symfony\Component\Console\Completion\Suggestion
- name: InvalidArgumentException
  type: class
  source: Symfony\Component\Console\Exception\InvalidArgumentException
- name: LogicException
  type: class
  source: Symfony\Component\Console\Exception\LogicException
properties: []
methods:
- name: __construct
  visibility: public
  parameters:
  - name: name
  - name: mode
    default: 'null'
  - name: description
    default: ''''''
  - name: default
    default: 'null'
  - name: suggestedValues
    default: '[]'
  comment: "# * Represents a command line argument.\n# *\n# * @author Fabien Potencier\
    \ <fabien@symfony.com>\n# */\n# class InputArgument\n# {\n# /**\n# * Providing\
    \ an argument is required (e.g. just 'app:foo' is not allowed).\n# */\n# public\
    \ const REQUIRED = 1;\n# \n# /**\n# * Providing an argument is optional (e.g.\
    \ 'app:foo' and 'app:foo bar' are both allowed). This is the default behavior\
    \ of arguments.\n# */\n# public const OPTIONAL = 2;\n# \n# /**\n# * The argument\
    \ accepts multiple values and turn them into an array (e.g. 'app:foo bar baz'\
    \ will result in value ['bar', 'baz']).\n# */\n# public const IS_ARRAY = 4;\n\
    # \n# private int $mode;\n# private string|int|bool|array|float|null $default;\n\
    # \n# /**\n# * @param string                                                 \
    \                       $name            The argument name\n# * @param int-mask-of<InputArgument::*>|null\
    \                                            $mode            The argument mode:\
    \ a bit mask of self::REQUIRED, self::OPTIONAL and self::IS_ARRAY\n# * @param\
    \ string                                                                     \
    \   $description     A description text\n# * @param string|bool|int|float|array|null\
    \                                              $default         The default value\
    \ (for self::OPTIONAL mode only)\n# * @param array|\\Closure(CompletionInput,CompletionSuggestions):list<string|Suggestion>\
    \ $suggestedValues The values used for input completion\n# *\n# * @throws InvalidArgumentException\
    \ When argument mode is not valid"
- name: getName
  visibility: public
  parameters: []
  comment: '# * Returns the argument name.'
- name: isRequired
  visibility: public
  parameters: []
  comment: '# * Returns true if the argument is required.

    # *

    # * @return bool true if parameter mode is self::REQUIRED, false otherwise'
- name: isArray
  visibility: public
  parameters: []
  comment: '# * Returns true if the argument can take multiple values.

    # *

    # * @return bool true if mode is self::IS_ARRAY, false otherwise'
- name: setDefault
  visibility: public
  parameters:
  - name: default
  comment: '# * Sets the default value.'
- name: getDefault
  visibility: public
  parameters: []
  comment: '# * Returns the default value.'
- name: hasCompletion
  visibility: public
  parameters: []
  comment: '# * Returns true if the argument has values for input completion.'
- name: complete
  visibility: public
  parameters:
  - name: input
  - name: suggestions
  comment: '# * Supplies suggestions when command resolves possible completion options
    for input.

    # *

    # * @see Command::complete()'
- name: getDescription
  visibility: public
  parameters: []
  comment: '# * Returns the description text.'
traits:
- Symfony\Component\Console\Command\Command
- Symfony\Component\Console\Completion\CompletionInput
- Symfony\Component\Console\Completion\CompletionSuggestions
- Symfony\Component\Console\Completion\Suggestion
- Symfony\Component\Console\Exception\InvalidArgumentException
- Symfony\Component\Console\Exception\LogicException
interfaces: []