mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-09 21:35:05 -04:00
Add final type hint to synapse.server. (#15035)
This commit is contained in:
parent
7081bb56e2
commit
733531ee3e
7 changed files with 11 additions and 12 deletions
|
@ -21,7 +21,7 @@
|
|||
import abc
|
||||
import functools
|
||||
import logging
|
||||
from typing import TYPE_CHECKING, Any, Callable, Dict, List, Optional, TypeVar, cast
|
||||
from typing import TYPE_CHECKING, Callable, Dict, List, Optional, TypeVar, cast
|
||||
|
||||
from twisted.internet.interfaces import IOpenSSLContextFactory
|
||||
from twisted.internet.tcp import Port
|
||||
|
@ -144,10 +144,10 @@ if TYPE_CHECKING:
|
|||
from synapse.handlers.saml import SamlHandler
|
||||
|
||||
|
||||
T = TypeVar("T", bound=Callable[..., Any])
|
||||
T = TypeVar("T")
|
||||
|
||||
|
||||
def cache_in_self(builder: T) -> T:
|
||||
def cache_in_self(builder: Callable[["HomeServer"], T]) -> Callable[["HomeServer"], T]:
|
||||
"""Wraps a function called e.g. `get_foo`, checking if `self.foo` exists and
|
||||
returning if so. If not, calls the given function and sets `self.foo` to it.
|
||||
|
||||
|
@ -166,7 +166,7 @@ def cache_in_self(builder: T) -> T:
|
|||
building = [False]
|
||||
|
||||
@functools.wraps(builder)
|
||||
def _get(self):
|
||||
def _get(self: "HomeServer") -> T:
|
||||
try:
|
||||
return getattr(self, depname)
|
||||
except AttributeError:
|
||||
|
@ -185,9 +185,7 @@ def cache_in_self(builder: T) -> T:
|
|||
|
||||
return dep
|
||||
|
||||
# We cast here as we need to tell mypy that `_get` has the same signature as
|
||||
# `builder`.
|
||||
return cast(T, _get)
|
||||
return _get
|
||||
|
||||
|
||||
class HomeServer(metaclass=abc.ABCMeta):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue