Skip to content

Commit d4f5a9c

Browse files
fix static typing errors
1 parent 20ec307 commit d4f5a9c

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

pythonbpf/vmlinux_parser/class_handler.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from .dependency_handler import DependencyHandler
55
from .dependency_node import DependencyNode
66
import ctypes
7-
from typing import Optional, Any
7+
from typing import Optional, Any, Dict
88

99
logger = logging.getLogger(__name__)
1010

@@ -34,7 +34,7 @@ def process_vmlinux_post_ast(
3434

3535
current_symbol_name = elem_type_class.__name__
3636
logger.info(f"Begin {current_symbol_name} Processing")
37-
field_table = {}
37+
field_table: Dict[str, list] = {}
3838
is_complex_type = False
3939
containing_type: Optional[Any] = None
4040
ctype_complex_type: Optional[Any] = None
@@ -65,23 +65,25 @@ def process_vmlinux_post_ast(
6565
# Inspect the class fields
6666
if hasattr(class_obj, "_fields_"):
6767
for field_elem in class_obj._fields_:
68-
field_name = None
69-
field_type = None
70-
bitfield_size = None
68+
field_name: str = ""
69+
field_type: Optional[Any] = None
70+
bitfield_size: Optional[int] = None
7171
if len(field_elem) == 2:
7272
field_name, field_type = field_elem
7373
elif len(field_elem) == 3:
7474
field_name, field_type, bitfield_size = field_elem
7575
field_table[field_name] = [field_type, bitfield_size]
7676
elif hasattr(class_obj, "__annotations__"):
7777
for field_elem in class_obj.__annotations__.items():
78-
field_name = None
79-
field_type = None
80-
bitfield_size = None
8178
if len(field_elem) == 2:
8279
field_name, field_type = field_elem
80+
bitfield_size = None
8381
elif len(field_elem) == 3:
8482
field_name, field_type, bitfield_size = field_elem
83+
else:
84+
raise ValueError(
85+
"Number of fields in items() of class object unexpected"
86+
)
8587
field_table[field_name] = [field_type, bitfield_size]
8688
else:
8789
raise TypeError("Could not get required class and definition")

0 commit comments

Comments
 (0)