# Path: sigtools/modifiers.py
# class _PokTranslator(_util.OverrideableDataDesc):
# class annotate(object):
#     def __new__(cls, func=None, posoargs=(), kwoargs=(), **kwargs):
#     def __init__(self, func, posoargs=(), kwoargs=(), **kwargs):
#     def _merge_other(self, other):
#     def _prepare(self):
#     def _sigtools__autoforwards_hint(self, func):
#     def __call__(self, *args, **kwargs):
#     def parameters(self):
#     def __repr__(self):
# def kwoargs(start=None, *kwoarg_names):
# def _kwoargs_start(start, _kwoargs, func, *args, **kwargs):
# def posoargs(end=None, *posoarg_names):
# def _posoargs_end(end, _posoargs, func, *args, **kwargs):
# def autokwoargs(func=None, exceptions=()):
# def _autokwoargs(exceptions, func):
#     def __init__(self, __return_annotation=_util.UNSET, **annotations):
#     def __call__(self, obj):
#     def __repr__(self):
# 
# Path: sigtools/specifiers.py
# class _AsForged(object):
# class _ForgerWrapper(object):
#     def __init__(self):
#     def __get__(self, instance, owner):
# def set_signature_forger(obj, forger, emulate=None):
# def _transform(obj, meta):
#     def __init__(self, obj, forger):
#     def _sigtools__forger(self, obj):
#     def __call__(self, *args, **kwargs):
#     def __get__(self, instance, owner):
# def forger_function(func):
#     def _apply_forger(emulate=None, *args, **kwargs):
#         def _applier(obj):
# def forwards(wrapper, wrapped, *args, **kwargs):
# def forwards_to_function(obj, *args, **kwargs):
# def forwards_to_method(obj, wrapped_name, *args, **kwargs):
# def _get_origin_class(obj, cls):
# def forwards_to_super(obj, cls=None, *args, **kwargs):
# def apply_forwards_to_super(num_args=0, named_args=(), *member_names,
#                             **kwargs):
# def _apply_forwards_to_super(member_names, m_args, m_kwargs, cls):


from sigtools import modifiers, specifiers


def inner(a, b):
    raise NotImplementedError


class AClass(object):
    class_attr = True
    """class attr doc"""

    def __init__(self):
        self.abc = 123
        """instance attr doc"""

    @specifiers.forwards_to(inner)
    def outer(self, c, *args, **kwargs):
        raise NotImplementedError


@modifiers.autokwoargs
def kwo(a, b, c=1, d=2):
    raise NotImplementedError



# Path: sigtools/modifiers.py
# class _PokTranslator(_util.OverrideableDataDesc):
# class annotate(object):
#     def __new__(cls, func=None, posoargs=(), kwoargs=(), **kwargs):
#     def __init__(self, func, posoargs=(), kwoargs=(), **kwargs):
#     def _merge_other(self, other):
#     def _prepare(self):
#     def _sigtools__autoforwards_hint(self, func):
#     def __call__(self, *args, **kwargs):
#     def parameters(self):
#     def __repr__(self):
# def kwoargs(start=None, *kwoarg_names):
# def _kwoargs_start(start, _kwoargs, func, *args, **kwargs):
# def posoargs(end=None, *posoarg_names):
# def _posoargs_end(end, _posoargs, func, *args, **kwargs):
# def autokwoargs(func=None, exceptions=()):
# def _autokwoargs(exceptions, func):
#     def __init__(self, __return_annotation=_util.UNSET, **annotations):
#     def __call__(self, obj):
#     def __repr__(self):
# 
# Path: sigtools/specifiers.py
# class _AsForged(object):
# class _ForgerWrapper(object):
#     def __init__(self):
#     def __get__(self, instance, owner):
# def set_signature_forger(obj, forger, emulate=None):
# def _transform(obj, meta):
#     def __init__(self, obj, forger):
#     def _sigtools__forger(self, obj):
#     def __call__(self, *args, **kwargs):
#     def __get__(self, instance, owner):
# def forger_function(func):
#     def _apply_forger(emulate=None, *args, **kwargs):
#         def _applier(obj):
# def forwards(wrapper, wrapped, *args, **kwargs):
# def forwards_to_function(obj, *args, **kwargs):
# def forwards_to_method(obj, wrapped_name, *args, **kwargs):
# def _get_origin_class(obj, cls):
# def forwards_to_super(obj, cls=None, *args, **kwargs):
# def apply_forwards_to_super(num_args=0, named_args=(), *member_names,
#                             **kwargs):
# def _apply_forwards_to_super(member_names, m_args, m_kwargs, cls):


# Path: sigtools/tests/sphinxextfixt.py
from sigtools import modifiers, specifiers



def inner(a, b):
    raise NotImplementedError


class AClass(object):
    class_attr = True
    """class attr doc"""

    def __init__(self):
        self.abc = 123
        """instance attr doc"""

    @specifiers.forwards_to(inner)
    def outer(self, c, *args, **kwargs):
        raise NotImplementedError


@modifiers.autokwoargs
def kwo(a, b, c=1, d=2):
    raise NotImplementedError



@specifiers.forwards_to(inner)