summaryrefslogtreecommitdiff
path: root/mesonbuild/utils
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/utils')
-rw-r--r--mesonbuild/utils/universal.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/mesonbuild/utils/universal.py b/mesonbuild/utils/universal.py
index dda35cc2b..45c0b7c13 100644
--- a/mesonbuild/utils/universal.py
+++ b/mesonbuild/utils/universal.py
@@ -2379,10 +2379,17 @@ class lazy_property(T.Generic[_T]):
Due to Python's MRO that means that the calculated value will be found
before this property, speeding up subsequent lookups.
"""
- def __init__(self, func: T.Callable[[T.Any], _T]):
+ def __init__(self, func: T.Callable[[T.Any], _T]) -> None:
+ self.__name: T.Optional[str] = None
self.__func = func
+ def __set_name__(self, owner: T.Any, name: str) -> None:
+ if self.__name is None:
+ self.__name = name
+ else:
+ assert name == self.__name
+
def __get__(self, instance: object, cls: T.Type) -> _T:
value = self.__func(instance)
- setattr(instance, self.__func.__name__, value)
+ setattr(instance, self.__name, value)
return value