diff options
author | Daniel Mensinger <daniel@mensinger-ka.de> | 2021-09-01 23:46:56 +0200 |
---|---|---|
committer | Daniel Mensinger <daniel@mensinger-ka.de> | 2021-09-25 12:44:11 +0200 |
commit | 6b00c7dc810131da65029598b97abbcf3584067c (patch) | |
tree | b5837f7f8fee220c9212e49af411e08285a8d1ae /mesonbuild/interpreter/primitives/string.py | |
parent | d93d01b6c5c98a77e057b914e8d66b01d2a10771 (diff) | |
download | meson-6b00c7dc810131da65029598b97abbcf3584067c.zip meson-6b00c7dc810131da65029598b97abbcf3584067c.tar.gz meson-6b00c7dc810131da65029598b97abbcf3584067c.tar.bz2 |
Remove helpers.check_stringlist()
Diffstat (limited to 'mesonbuild/interpreter/primitives/string.py')
-rw-r--r-- | mesonbuild/interpreter/primitives/string.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/mesonbuild/interpreter/primitives/string.py b/mesonbuild/interpreter/primitives/string.py index 6b7155a..82da6ce 100644 --- a/mesonbuild/interpreter/primitives/string.py +++ b/mesonbuild/interpreter/primitives/string.py @@ -64,6 +64,7 @@ class StringHolder(ObjectHolder[str]): # Use actual methods for functions that require additional checks self.operators.update({ MesonOperator.DIV: self.op_div, + MesonOperator.INDEX: self.op_index, }) def display_name(self) -> str: @@ -162,6 +163,13 @@ class StringHolder(ObjectHolder[str]): def op_div(self, other: str) -> str: return (PurePath(self.held_object) / other).as_posix() + @typed_operator(MesonOperator.INDEX, int) + def op_index(self, other: int) -> str: + try: + return self.held_object[other] + except IndexError: + raise InvalidArguments(f'Index {other} out of bounds of string of size {len(self.held_object)}.') + class MesonVersionString(str): pass |