fix types and small type safety violations

This commit is contained in:
jonschz 2024-05-23 21:48:24 +02:00
parent 03cf2560ac
commit e6cbd466f8
2 changed files with 6 additions and 4 deletions

View File

@ -11,7 +11,7 @@
# pylint: disable=wrong-import-position,ungrouped-imports
# pylint: disable=undefined-variable # need to disable this one globally because pylint does not understand e.g. askYesNo()
# pylint: disable=undefined-variable # need to disable this one globally because pylint does not understand e.g. `askYesNo()``
import importlib
from dataclasses import dataclass, field
@ -24,7 +24,7 @@
if TYPE_CHECKING:
import ghidra
from lego_util.headers import * # pylint: disable=wildcard-import
from lego_util.headers import * # pylint: disable=wildcard-import # these are just for headers
def reload_module(module: str):

View File

@ -46,7 +46,7 @@ def is_pointer(self) -> bool:
class TypeInfo(NamedTuple):
key: str
size: int
size: Optional[int]
name: Optional[str] = None
members: Optional[List[FieldListItem]] = None
@ -298,6 +298,7 @@ def _mock_array_members(self, type_obj: Dict) -> List[FieldListItem]:
raise CvdumpIntegrityError("No array element type")
array_element_size = self.get(array_type).size
assert array_element_size is not None, "Encountered an array whose type has no size"
n_elements = type_obj["size"] // array_element_size
@ -356,7 +357,7 @@ def get(self, type_key: str) -> TypeInfo:
return TypeInfo(
key=type_key,
size=obj["size"],
size=obj.get("size"),
name=obj.get("name"),
members=members,
)
@ -398,6 +399,7 @@ def get_scalars_gapless(self, type_key: str) -> List[ScalarType]:
obj = self.get(type_key)
total_size = obj.size
assert total_size is not None, "Called get_scalar_gapless() on a type without size"
scalars = self.get_scalars(type_key)