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
282280class 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