name: Kernel
class_comment: null
dependencies:
- name: CarbonInterval
  type: class
  source: Carbon\CarbonInterval
- name: Closure
  type: class
  source: Closure
- name: DateTimeInterface
  type: class
  source: DateTimeInterface
- name: Artisan
  type: class
  source: Illuminate\Console\Application
- name: Command
  type: class
  source: Illuminate\Console\Command
- name: CommandFinished
  type: class
  source: Illuminate\Console\Events\CommandFinished
- name: CommandStarting
  type: class
  source: Illuminate\Console\Events\CommandStarting
- name: Schedule
  type: class
  source: Illuminate\Console\Scheduling\Schedule
- name: KernelContract
  type: class
  source: Illuminate\Contracts\Console\Kernel
- name: ExceptionHandler
  type: class
  source: Illuminate\Contracts\Debug\ExceptionHandler
- name: Dispatcher
  type: class
  source: Illuminate\Contracts\Events\Dispatcher
- name: Application
  type: class
  source: Illuminate\Contracts\Foundation\Application
- name: Arr
  type: class
  source: Illuminate\Support\Arr
- name: Carbon
  type: class
  source: Illuminate\Support\Carbon
- name: Env
  type: class
  source: Illuminate\Support\Env
- name: InteractsWithTime
  type: class
  source: Illuminate\Support\InteractsWithTime
- name: Str
  type: class
  source: Illuminate\Support\Str
- name: ReflectionClass
  type: class
  source: ReflectionClass
- name: SplFileInfo
  type: class
  source: SplFileInfo
- name: ConsoleEvents
  type: class
  source: Symfony\Component\Console\ConsoleEvents
- name: ConsoleCommandEvent
  type: class
  source: Symfony\Component\Console\Event\ConsoleCommandEvent
- name: ConsoleTerminateEvent
  type: class
  source: Symfony\Component\Console\Event\ConsoleTerminateEvent
- name: EventDispatcher
  type: class
  source: Symfony\Component\EventDispatcher\EventDispatcher
- name: Finder
  type: class
  source: Symfony\Component\Finder\Finder
- name: Throwable
  type: class
  source: Throwable
- name: InteractsWithTime
  type: class
  source: InteractsWithTime
properties:
- name: app
  visibility: protected
  comment: '# * The application implementation.

    # *

    # * @var \Illuminate\Contracts\Foundation\Application'
- name: events
  visibility: protected
  comment: '# * The event dispatcher implementation.

    # *

    # * @var \Illuminate\Contracts\Events\Dispatcher'
- name: symfonyDispatcher
  visibility: protected
  comment: '# * The Symfony event dispatcher implementation.

    # *

    # * @var \Symfony\Contracts\EventDispatcher\EventDispatcherInterface|null'
- name: artisan
  visibility: protected
  comment: '# * The Artisan application instance.

    # *

    # * @var \Illuminate\Console\Application|null'
- name: commands
  visibility: protected
  comment: '# * The Artisan commands provided by the application.

    # *

    # * @var array'
- name: commandPaths
  visibility: protected
  comment: '# * The paths where Artisan commands should be automatically discovered.

    # *

    # * @var array'
- name: commandRoutePaths
  visibility: protected
  comment: '# * The paths where Artisan "routes" should be automatically discovered.

    # *

    # * @var array'
- name: commandsLoaded
  visibility: protected
  comment: '# * Indicates if the Closure commands have been loaded.

    # *

    # * @var bool'
- name: loadedPaths
  visibility: protected
  comment: '# * The commands paths that have been "loaded".

    # *

    # * @var array'
- name: commandLifecycleDurationHandlers
  visibility: protected
  comment: '# * All of the registered command duration handlers.

    # *

    # * @var array'
- name: commandStartedAt
  visibility: protected
  comment: '# * When the currently handled command started.

    # *

    # * @var \Illuminate\Support\Carbon|null'
- name: bootstrappers
  visibility: protected
  comment: '# * The bootstrap classes for the application.

    # *

    # * @var string[]'
methods:
- name: __construct
  visibility: public
  parameters:
  - name: app
  - name: events
  comment: "# * The application implementation.\n# *\n# * @var \\Illuminate\\Contracts\\\
    Foundation\\Application\n# */\n# protected $app;\n# \n# /**\n# * The event dispatcher\
    \ implementation.\n# *\n# * @var \\Illuminate\\Contracts\\Events\\Dispatcher\n\
    # */\n# protected $events;\n# \n# /**\n# * The Symfony event dispatcher implementation.\n\
    # *\n# * @var \\Symfony\\Contracts\\EventDispatcher\\EventDispatcherInterface|null\n\
    # */\n# protected $symfonyDispatcher;\n# \n# /**\n# * The Artisan application\
    \ instance.\n# *\n# * @var \\Illuminate\\Console\\Application|null\n# */\n# protected\
    \ $artisan;\n# \n# /**\n# * The Artisan commands provided by the application.\n\
    # *\n# * @var array\n# */\n# protected $commands = [];\n# \n# /**\n# * The paths\
    \ where Artisan commands should be automatically discovered.\n# *\n# * @var array\n\
    # */\n# protected $commandPaths = [];\n# \n# /**\n# * The paths where Artisan\
    \ \"routes\" should be automatically discovered.\n# *\n# * @var array\n# */\n\
    # protected $commandRoutePaths = [];\n# \n# /**\n# * Indicates if the Closure\
    \ commands have been loaded.\n# *\n# * @var bool\n# */\n# protected $commandsLoaded\
    \ = false;\n# \n# /**\n# * The commands paths that have been \"loaded\".\n# *\n\
    # * @var array\n# */\n# protected $loadedPaths = [];\n# \n# /**\n# * All of the\
    \ registered command duration handlers.\n# *\n# * @var array\n# */\n# protected\
    \ $commandLifecycleDurationHandlers = [];\n# \n# /**\n# * When the currently handled\
    \ command started.\n# *\n# * @var \\Illuminate\\Support\\Carbon|null\n# */\n#\
    \ protected $commandStartedAt;\n# \n# /**\n# * The bootstrap classes for the application.\n\
    # *\n# * @var string[]\n# */\n# protected $bootstrappers = [\n# \\Illuminate\\\
    Foundation\\Bootstrap\\LoadEnvironmentVariables::class,\n# \\Illuminate\\Foundation\\\
    Bootstrap\\LoadConfiguration::class,\n# \\Illuminate\\Foundation\\Bootstrap\\\
    HandleExceptions::class,\n# \\Illuminate\\Foundation\\Bootstrap\\RegisterFacades::class,\n\
    # \\Illuminate\\Foundation\\Bootstrap\\SetRequestForConsole::class,\n# \\Illuminate\\\
    Foundation\\Bootstrap\\RegisterProviders::class,\n# \\Illuminate\\Foundation\\\
    Bootstrap\\BootProviders::class,\n# ];\n# \n# /**\n# * Create a new console kernel\
    \ instance.\n# *\n# * @param  \\Illuminate\\Contracts\\Foundation\\Application\
    \  $app\n# * @param  \\Illuminate\\Contracts\\Events\\Dispatcher  $events\n# *\
    \ @return void"
- name: rerouteSymfonyCommandEvents
  visibility: public
  parameters: []
  comment: '# * Re-route the Symfony command events to their Laravel counterparts.

    # *

    # * @internal

    # *

    # * @return $this'
- name: handle
  visibility: public
  parameters:
  - name: input
  - name: output
    default: 'null'
  comment: '# * Run the console application.

    # *

    # * @param  \Symfony\Component\Console\Input\InputInterface  $input

    # * @param  \Symfony\Component\Console\Output\OutputInterface|null  $output

    # * @return int'
- name: terminate
  visibility: public
  parameters:
  - name: input
  - name: status
  comment: '# * Terminate the application.

    # *

    # * @param  \Symfony\Component\Console\Input\InputInterface  $input

    # * @param  int  $status

    # * @return void'
- name: whenCommandLifecycleIsLongerThan
  visibility: public
  parameters:
  - name: threshold
  - name: handler
  comment: '# * Register a callback to be invoked when the command lifecycle duration
    exceeds a given amount of time.

    # *

    # * @param  \DateTimeInterface|\Carbon\CarbonInterval|float|int  $threshold

    # * @param  callable  $handler

    # * @return void'
- name: commandStartedAt
  visibility: public
  parameters: []
  comment: '# * When the command being handled started.

    # *

    # * @return \Illuminate\Support\Carbon|null'
- name: schedule
  visibility: protected
  parameters:
  - name: schedule
  comment: '# * Define the application''s command schedule.

    # *

    # * @param  \Illuminate\Console\Scheduling\Schedule  $schedule

    # * @return void'
- name: resolveConsoleSchedule
  visibility: public
  parameters: []
  comment: '# * Resolve a console schedule instance.

    # *

    # * @return \Illuminate\Console\Scheduling\Schedule'
- name: scheduleTimezone
  visibility: protected
  parameters: []
  comment: '# * Get the timezone that should be used by default for scheduled events.

    # *

    # * @return \DateTimeZone|string|null'
- name: scheduleCache
  visibility: protected
  parameters: []
  comment: '# * Get the name of the cache store that should manage scheduling mutexes.

    # *

    # * @return string|null'
- name: commands
  visibility: protected
  parameters: []
  comment: '# * Register the commands for the application.

    # *

    # * @return void'
- name: command
  visibility: public
  parameters:
  - name: signature
  - name: callback
  comment: '# * Register a Closure based command with the application.

    # *

    # * @param  string  $signature

    # * @param  \Closure  $callback

    # * @return \Illuminate\Foundation\Console\ClosureCommand'
- name: load
  visibility: protected
  parameters:
  - name: paths
  comment: '# * Register all of the commands in the given directory.

    # *

    # * @param  array|string  $paths

    # * @return void'
- name: commandClassFromFile
  visibility: protected
  parameters:
  - name: file
  - name: namespace
  comment: '# * Extract the command class name from the given file path.

    # *

    # * @param  \SplFileInfo  $file

    # * @param  string  $namespace

    # * @return string'
- name: registerCommand
  visibility: public
  parameters:
  - name: command
  comment: '# * Register the given command with the console application.

    # *

    # * @param  \Symfony\Component\Console\Command\Command  $command

    # * @return void'
- name: call
  visibility: public
  parameters:
  - name: command
  - name: parameters
    default: '[]'
  - name: outputBuffer
    default: 'null'
  comment: '# * Run an Artisan console command by name.

    # *

    # * @param  string  $command

    # * @param  array  $parameters

    # * @param  \Symfony\Component\Console\Output\OutputInterface|null  $outputBuffer

    # * @return int

    # *

    # * @throws \Symfony\Component\Console\Exception\CommandNotFoundException'
- name: queue
  visibility: public
  parameters:
  - name: command
  - name: parameters
    default: '[]'
  comment: '# * Queue the given console command.

    # *

    # * @param  string  $command

    # * @param  array  $parameters

    # * @return \Illuminate\Foundation\Bus\PendingDispatch'
- name: all
  visibility: public
  parameters: []
  comment: '# * Get all of the commands registered with the console.

    # *

    # * @return array'
- name: output
  visibility: public
  parameters: []
  comment: '# * Get the output for the last run command.

    # *

    # * @return string'
- name: bootstrap
  visibility: public
  parameters: []
  comment: '# * Bootstrap the application for artisan commands.

    # *

    # * @return void'
- name: discoverCommands
  visibility: protected
  parameters: []
  comment: '# * Discover the commands that should be automatically loaded.

    # *

    # * @return void'
- name: bootstrapWithoutBootingProviders
  visibility: public
  parameters: []
  comment: '# * Bootstrap the application without booting service providers.

    # *

    # * @return void'
- name: shouldDiscoverCommands
  visibility: protected
  parameters: []
  comment: '# * Determine if the kernel should discover commands.

    # *

    # * @return bool'
- name: getArtisan
  visibility: protected
  parameters: []
  comment: '# * Get the Artisan application instance.

    # *

    # * @return \Illuminate\Console\Application'
- name: setArtisan
  visibility: public
  parameters:
  - name: artisan
  comment: '# * Set the Artisan application instance.

    # *

    # * @param  \Illuminate\Console\Application|null  $artisan

    # * @return void'
- name: addCommands
  visibility: public
  parameters:
  - name: commands
  comment: '# * Set the Artisan commands provided by the application.

    # *

    # * @param  array  $commands

    # * @return $this'
- name: addCommandPaths
  visibility: public
  parameters:
  - name: paths
  comment: '# * Set the paths that should have their Artisan commands automatically
    discovered.

    # *

    # * @param  array  $paths

    # * @return $this'
- name: addCommandRoutePaths
  visibility: public
  parameters:
  - name: paths
  comment: '# * Set the paths that should have their Artisan "routes" automatically
    discovered.

    # *

    # * @param  array  $paths

    # * @return $this'
- name: bootstrappers
  visibility: protected
  parameters: []
  comment: '# * Get the bootstrap classes for the application.

    # *

    # * @return array'
- name: reportException
  visibility: protected
  parameters:
  - name: e
  comment: '# * Report the exception to the exception handler.

    # *

    # * @param  \Throwable  $e

    # * @return void'
- name: renderException
  visibility: protected
  parameters:
  - name: output
  - name: e
  comment: '# * Render the given exception.

    # *

    # * @param  \Symfony\Component\Console\Output\OutputInterface  $output

    # * @param  \Throwable  $e

    # * @return void'
traits:
- Carbon\CarbonInterval
- Closure
- DateTimeInterface
- Illuminate\Console\Command
- Illuminate\Console\Events\CommandFinished
- Illuminate\Console\Events\CommandStarting
- Illuminate\Console\Scheduling\Schedule
- Illuminate\Contracts\Debug\ExceptionHandler
- Illuminate\Contracts\Events\Dispatcher
- Illuminate\Contracts\Foundation\Application
- Illuminate\Support\Arr
- Illuminate\Support\Carbon
- Illuminate\Support\Env
- Illuminate\Support\InteractsWithTime
- Illuminate\Support\Str
- ReflectionClass
- SplFileInfo
- Symfony\Component\Console\ConsoleEvents
- Symfony\Component\Console\Event\ConsoleCommandEvent
- Symfony\Component\Console\Event\ConsoleTerminateEvent
- Symfony\Component\EventDispatcher\EventDispatcher
- Symfony\Component\Finder\Finder
- Throwable
- InteractsWithTime
interfaces:
- KernelContract