mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-26 17:51:16 +00:00
fix types and small type safety violations
This commit is contained in:
parent
03cf2560ac
commit
e6cbd466f8
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
|
|
||||||
# pylint: disable=wrong-import-position,ungrouped-imports
|
# 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
|
import importlib
|
||||||
from dataclasses import dataclass, field
|
from dataclasses import dataclass, field
|
||||||
@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
import ghidra
|
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):
|
def reload_module(module: str):
|
||||||
|
|||||||
@ -46,7 +46,7 @@ def is_pointer(self) -> bool:
|
|||||||
|
|
||||||
class TypeInfo(NamedTuple):
|
class TypeInfo(NamedTuple):
|
||||||
key: str
|
key: str
|
||||||
size: int
|
size: Optional[int]
|
||||||
name: Optional[str] = None
|
name: Optional[str] = None
|
||||||
members: Optional[List[FieldListItem]] = 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")
|
raise CvdumpIntegrityError("No array element type")
|
||||||
|
|
||||||
array_element_size = self.get(array_type).size
|
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
|
n_elements = type_obj["size"] // array_element_size
|
||||||
|
|
||||||
@ -356,7 +357,7 @@ def get(self, type_key: str) -> TypeInfo:
|
|||||||
|
|
||||||
return TypeInfo(
|
return TypeInfo(
|
||||||
key=type_key,
|
key=type_key,
|
||||||
size=obj["size"],
|
size=obj.get("size"),
|
||||||
name=obj.get("name"),
|
name=obj.get("name"),
|
||||||
members=members,
|
members=members,
|
||||||
)
|
)
|
||||||
@ -398,6 +399,7 @@ def get_scalars_gapless(self, type_key: str) -> List[ScalarType]:
|
|||||||
|
|
||||||
obj = self.get(type_key)
|
obj = self.get(type_key)
|
||||||
total_size = obj.size
|
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)
|
scalars = self.get_scalars(type_key)
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user