class_docstr: A hook implementation in a :class:`HookCaller`.
class_docstr_tok: ["A","hook","implementation","in","a",":","class",":","`","HookCaller","`","."]
docstr: :meta private:
docstr_tok: [":","meta","private",":"]
code: def __init__(
      self,
      plugin: _Plugin,
      plugin_name: str,
      function: _HookImplFunction[object],
      hook_impl_opts: HookimplOpts,
  ) -> None:
      """:meta private:"""
      #: The hook implementation function.
      self.function: Final = function
      argnames, kwargnames = varnames(self.function)
      #: The positional parameter names of ``function```.
      self.argnames: Final = argnames
      #: The keyword parameter names of ``function```.
      self.kwargnames: Final = kwargnames
      #: The plugin which defined this hook implementation.
      self.plugin: Final = plugin
      #: The :class:`HookimplOpts` used to configure this hook implementation.
      self.opts: Final = hook_impl_opts
      #: The name of the plugin which defined this hook implementation.
      self.plugin_name: Final = plugin_name
      #: Whether the hook implementation is a :ref:`wrapper <hookwrapper>`.
      self.wrapper: Final = hook_impl_opts["wrapper"]
      #: Whether the hook implementation is an :ref:`old-style wrapper
      #: <old_style_hookwrappers>`.
      self.hookwrapper: Final = hook_impl_opts["hookwrapper"]
      #: Whether validation against a hook specification is :ref:`optional
      #: <optionalhook>`.
      self.optionalhook: Final = hook_impl_opts["optionalhook"]
      #: Whether to try to order this hook implementation :ref:`first
      #: <callorder>`.
      self.tryfirst: Final = hook_impl_opts["tryfirst"]
      #: Whether to try to order this hook implementation :ref:`last
      #: <callorder>`.
      self.trylast: Final = hook_impl_opts["trylast"]
  
imports: from __future__ import annotations
  import inspect
  import sys
  import warnings
  from types import ModuleType
  from typing import AbstractSet
  from typing import Any
  from typing import Callable
  from typing import Final
  from typing import final
  from typing import Generator
  from typing import List
  from typing import Mapping
  from typing import Optional
  from typing import overload
  from typing import Sequence
  from typing import Tuple
  from typing import TYPE_CHECKING
  from typing import TypedDict
  from typing import TypeVar
  from typing import Union
  from ._result import Result
label_desc: Use image node_id 1 to create a new HookImpl object  with example: obj = HookImpl(plugin, plugin_name, function, hook_impl_opts)