mirror of
https://github.com/varun-r-mallya/Python-BPF.git
synced 2025-12-31 21:06:25 +00:00
fix static typing errors
This commit is contained in:
@ -4,7 +4,7 @@ import importlib
|
|||||||
from .dependency_handler import DependencyHandler
|
from .dependency_handler import DependencyHandler
|
||||||
from .dependency_node import DependencyNode
|
from .dependency_node import DependencyNode
|
||||||
import ctypes
|
import ctypes
|
||||||
from typing import Optional, Any
|
from typing import Optional, Any, Dict
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -34,7 +34,7 @@ def process_vmlinux_post_ast(
|
|||||||
|
|
||||||
current_symbol_name = elem_type_class.__name__
|
current_symbol_name = elem_type_class.__name__
|
||||||
logger.info(f"Begin {current_symbol_name} Processing")
|
logger.info(f"Begin {current_symbol_name} Processing")
|
||||||
field_table = {}
|
field_table: Dict[str, list] = {}
|
||||||
is_complex_type = False
|
is_complex_type = False
|
||||||
containing_type: Optional[Any] = None
|
containing_type: Optional[Any] = None
|
||||||
ctype_complex_type: Optional[Any] = None
|
ctype_complex_type: Optional[Any] = None
|
||||||
@ -65,9 +65,9 @@ def process_vmlinux_post_ast(
|
|||||||
# Inspect the class fields
|
# Inspect the class fields
|
||||||
if hasattr(class_obj, "_fields_"):
|
if hasattr(class_obj, "_fields_"):
|
||||||
for field_elem in class_obj._fields_:
|
for field_elem in class_obj._fields_:
|
||||||
field_name = None
|
field_name: str = ""
|
||||||
field_type = None
|
field_type: Optional[Any] = None
|
||||||
bitfield_size = None
|
bitfield_size: Optional[int] = None
|
||||||
if len(field_elem) == 2:
|
if len(field_elem) == 2:
|
||||||
field_name, field_type = field_elem
|
field_name, field_type = field_elem
|
||||||
elif len(field_elem) == 3:
|
elif len(field_elem) == 3:
|
||||||
@ -75,13 +75,15 @@ def process_vmlinux_post_ast(
|
|||||||
field_table[field_name] = [field_type, bitfield_size]
|
field_table[field_name] = [field_type, bitfield_size]
|
||||||
elif hasattr(class_obj, "__annotations__"):
|
elif hasattr(class_obj, "__annotations__"):
|
||||||
for field_elem in class_obj.__annotations__.items():
|
for field_elem in class_obj.__annotations__.items():
|
||||||
field_name = None
|
|
||||||
field_type = None
|
|
||||||
bitfield_size = None
|
|
||||||
if len(field_elem) == 2:
|
if len(field_elem) == 2:
|
||||||
field_name, field_type = field_elem
|
field_name, field_type = field_elem
|
||||||
|
bitfield_size = None
|
||||||
elif len(field_elem) == 3:
|
elif len(field_elem) == 3:
|
||||||
field_name, field_type, bitfield_size = field_elem
|
field_name, field_type, bitfield_size = field_elem
|
||||||
|
else:
|
||||||
|
raise ValueError(
|
||||||
|
"Number of fields in items() of class object unexpected"
|
||||||
|
)
|
||||||
field_table[field_name] = [field_type, bitfield_size]
|
field_table[field_name] = [field_type, bitfield_size]
|
||||||
else:
|
else:
|
||||||
raise TypeError("Could not get required class and definition")
|
raise TypeError("Could not get required class and definition")
|
||||||
|
|||||||
Reference in New Issue
Block a user