Skip to content

Commit ee4b510

Browse files
committed
convert: Remove unsupported file xrefs from EnumLookupMember.
1 parent d03ab18 commit ee4b510

File tree

1 file changed

+12
-14
lines changed

1 file changed

+12
-14
lines changed

openage/convert/value_object/read/read_members.py

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright 2014-2023 the openage authors. See copying.md for legal info.
1+
# Copyright 2014-2025 the openage authors. See copying.md for legal info.
22
#
33
# TODO pylint: disable=C,R,abstract-method
44

@@ -265,14 +265,12 @@ class EnumMember(RefMember):
265265
def __init__(
266266
self,
267267
type_name: str,
268-
values: dict[typing.Any, typing.Any],
269-
file_name: str = None
268+
values: list[str]
270269
):
271-
super().__init__(type_name, file_name)
270+
super().__init__(type_name, None) # external xrefs unsupported
272271
self.values = values
273-
self.resolved = True # TODO, xrefs not supported yet.
274272

275-
def validate_value(self, value: typing.Any) -> bool:
273+
def validate_value(self, value: str) -> bool:
276274
return value in self.values
277275

278276
def __repr__(self):
@@ -281,36 +279,36 @@ def __repr__(self):
281279

282280
class EnumLookupMember(EnumMember):
283281
"""
284-
enum definition, does lookup of raw datfile data => enum value
282+
enum definition, does lookup of raw datfile data => human-readable enum value
285283
"""
286284

287285
def __init__(
288286
self,
289287
type_name: str,
290-
lookup_dict: dict[typing.Any, typing.Any],
291-
raw_type: str,
292-
file_name: str = None
288+
lookup_dict: dict[int, str],
289+
raw_type: str
293290
):
294291
super().__init__(
295292
type_name,
296-
[v for k, v in sorted(lookup_dict.items())],
297-
file_name
293+
sorted(list(lookup_dict.values()))
298294
)
299295
self.lookup_dict = lookup_dict
300296
self.raw_type = raw_type
301297

302-
def entry_hook(self, data: typing.Any) -> typing.Any:
298+
def entry_hook(self, data: int) -> str:
303299
"""
304300
perform lookup of raw data -> enum member name
305301
"""
306-
307302
try:
308303
return self.lookup_dict[data]
304+
309305
except KeyError:
310306
try:
311307
h = f" = {hex(data)}"
308+
312309
except TypeError:
313310
h = ""
311+
314312
raise KeyError("failed to find %s%s in lookup dict %s!" %
315313
(str(data), h, self.type_name)) from None
316314

0 commit comments

Comments
 (0)