name: ReflectsClosures
class_comment: null
dependencies:
- name: Closure
  type: class
  source: Closure
- name: Reflector
  type: class
  source: Illuminate\Support\Reflector
- name: ReflectionFunction
  type: class
  source: ReflectionFunction
- name: RuntimeException
  type: class
  source: RuntimeException
properties: []
methods:
- name: firstClosureParameterType
  visibility: protected
  parameters:
  - name: closure
  comment: '# * Get the class name of the first parameter of the given Closure.

    # *

    # * @param  \Closure  $closure

    # * @return string

    # *

    # * @throws \ReflectionException

    # * @throws \RuntimeException'
- name: firstClosureParameterTypes
  visibility: protected
  parameters:
  - name: closure
  comment: '# * Get the class names of the first parameter of the given Closure, including
    union types.

    # *

    # * @param  \Closure  $closure

    # * @return array

    # *

    # * @throws \ReflectionException

    # * @throws \RuntimeException'
- name: closureParameterTypes
  visibility: protected
  parameters:
  - name: closure
  comment: '# * Get the class names / types of the parameters of the given Closure.

    # *

    # * @param  \Closure  $closure

    # * @return array

    # *

    # * @throws \ReflectionException'
traits:
- Closure
- Illuminate\Support\Reflector
- ReflectionFunction
- RuntimeException
interfaces: []