
                         @    S SK Jr  S SKJr  Sr\" S\S9rS\S\4S jrg	)
    )TypeVar)FunctionTypez0.1_WrappedMethod)boundmethodreturnc                      [        U SS5        U $ )aD  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 @overrides are checked.

How to use:
from overrides import final

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

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

:raises  AssertionError if there exists a match in sub classes for the method name
:return  method
__finalized__T)setattr)r   s    "lib/third_party/overrides/final.pyfinalr      s    , FOT*M    N)typingr   typesr   __VERSION__r   r    r   r   <module>r      s4       )>. ^ r   