diff --git a/misc/config_tools/board_inspector/acpiparser/aml/context.py b/misc/config_tools/board_inspector/acpiparser/aml/context.py index 075379340..ebb0dfe9d 100644 --- a/misc/config_tools/board_inspector/acpiparser/aml/context.py +++ b/misc/config_tools/board_inspector/acpiparser/aml/context.py @@ -11,6 +11,10 @@ from .exception import * from .stream import Stream class NamedDecl: + @staticmethod + def object_type(): + return 0 + def __init__(self, name, tree): self.tree = tree self.name = name @@ -66,6 +70,10 @@ class AliasDecl(NamedDecl): print(f"{self.name}: {self.__class__.__name__}, aliasing {self.source}") class MethodDecl(NamedDecl): + @staticmethod + def object_type(): + return 8 + def __init__(self, name, nargs, tree): super().__init__(name, tree) self.nargs = nargs @@ -74,6 +82,10 @@ class MethodDecl(NamedDecl): print(f"{self.name}: {self.__class__.__name__}, {self.nargs} args") class PredefinedMethodDecl(NamedDecl): + @staticmethod + def object_type(): + return 8 + def __init__(self, name, nargs, fn): super().__init__(name, None) self.nargs = nargs @@ -83,6 +95,10 @@ class PredefinedMethodDecl(NamedDecl): print(f"{self.name}: {self.__class__.__name__}, {self.nargs} args") class DeviceDecl(NamedDecl): + @staticmethod + def object_type(): + return 6 + def __init__(self, name, tree): super().__init__(name, tree) diff --git a/misc/config_tools/board_inspector/acpiparser/aml/parser.py b/misc/config_tools/board_inspector/acpiparser/aml/parser.py index 6fcbf153b..324a17028 100644 --- a/misc/config_tools/board_inspector/acpiparser/aml/parser.py +++ b/misc/config_tools/board_inspector/acpiparser/aml/parser.py @@ -501,7 +501,7 @@ def DefExternal_hook_post(context, tree): ty = tree.ObjectType.value nargs = tree.ArgumentCount.value - if ty == 0x8: # an external method + if ty == MethodDecl.object_type(): sym = MethodDecl(name, nargs, tree) else: sym = NamedDecl(name, tree)