summaryrefslogtreecommitdiff
path: root/mesonbuild
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2019-04-30 12:52:37 -0700
committerJussi Pakkanen <jpakkane@gmail.com>2019-05-02 23:38:36 +0300
commitedb1229a48a4009bde5e04c5324ef86f1e2957bb (patch)
treec7b21c4fe28ac692ae6a02d0e787e5a1c9e25a1f /mesonbuild
parent1f4023fa47803458700e52352dec51f3f85fa6c1 (diff)
downloadmeson-edb1229a48a4009bde5e04c5324ef86f1e2957bb.tar.gz
mesonlib: Make a few type annotations strings
Mypy know what to do with these and isn't confused, but some versions of python 3.5 (at least 3.5.2) can't handle these annotations. By making them strings the python interpreter wont try to evaluate them. Fixes #5326
Diffstat (limited to 'mesonbuild')
-rw-r--r--mesonbuild/envconfig.py6
-rw-r--r--mesonbuild/mesonlib.py3
2 files changed, 5 insertions, 4 deletions
diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py
index 977d93083..f29fbba74 100644
--- a/mesonbuild/envconfig.py
+++ b/mesonbuild/envconfig.py
@@ -134,7 +134,7 @@ class Properties(HasEnvVarFallback):
def get_sys_root(self) -> typing.Optional[typing.Union[str, typing.List[str]]]:
return self.properties.get('sys_root', None)
- def __eq__(self, other: typing.Any) -> typing.Union[bool, 'NotImplemented']:
+ def __eq__(self, other: typing.Any) -> 'typing.Union[bool, NotImplemented]':
if isinstance(other, type(self)):
return self.properties == other.properties
return NotImplemented
@@ -159,7 +159,7 @@ class MachineInfo:
self.endian = endian
self.is_64_bit = cpu_family in CPU_FAMILES_64_BIT # type: bool
- def __eq__(self, other: typing.Any) -> typing.Union[bool, 'NotImplemented']:
+ def __eq__(self, other: typing.Any) -> 'typing.Union[bool, NotImplemented]':
if self.__class__ is not other.__class__:
return NotImplemented
return \
@@ -168,7 +168,7 @@ class MachineInfo:
self.cpu == other.cpu and \
self.endian == other.endian
- def __ne__(self, other: typing.Any) -> typing.Union[bool, 'NotImplemented']:
+ def __ne__(self, other: typing.Any) -> 'typing.Union[bool, NotImplemented]':
if self.__class__ is not other.__class__:
return NotImplemented
return not self.__eq__(other)
diff --git a/mesonbuild/mesonlib.py b/mesonbuild/mesonlib.py
index aaaf14407..f78fa352f 100644
--- a/mesonbuild/mesonlib.py
+++ b/mesonbuild/mesonlib.py
@@ -920,7 +920,8 @@ def extract_as_list(dict_object, *keys, pop=False, **kwargs):
result.append(listify(fetch(key, []), **kwargs))
return result
-def typeslistify(item: typing.Union[_T, typing.List[_T]], types: typing.Union[typing.Type[_T], typing.Tuple[typing.Type[_T]]]) -> typing.List[_T]:
+def typeslistify(item: 'typing.Union[_T, typing.List[_T]]',
+ types: 'typing.Union[typing.Type[_T], typing.Tuple[typing.Type[_T]]]') -> typing.List[_T]:
'''
Ensure that type(@item) is one of @types or a
list of items all of which are of type @types