
    h                     N    S SK Jr  S SKJrJrJr  \" S\\\4   S9rS\S\4S jrg)	    )FunctionType)CallableTypeVarUnion_WrappedMethod)boundmethodreturnc                      [        U SS5        U $ )aB  Decorator to indicate that the decorated method is finalized and cannot be overridden.
The decorator code is executed while loading class. Using this method
should have minimal runtime performance implications.
Currently, only methods with @override are checked.

How to use:
from overrides import final

class SuperClass(object):
    @final
    def method(self):
      return 2

class SubClass(SuperClass):
    @override
    def method(self): #causes an error
        return 1

:raises AssertionError: if there exists a match in sub classes for the method name
:return: method
	__final__T)setattr)r	   s    bC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\overrides/final.pyfinalr      s    , FK&M    N)typesr   typingr   r   r   r   r    r   r   <module>r      s:      + +)|X7M1NO. ^ r   