From 056e4812f87ffdb0335cbe7e836543dd03ede3da Mon Sep 17 00:00:00 2001 From: Robert Chisholm Date: Mon, 27 Nov 2023 13:54:27 +0000 Subject: [PATCH] BugFix: #1147 broke Python 3.8.13 This variant has been tested on both 3.8.13 and 3.10.12 --- swig/python/codegen/__init__.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/swig/python/codegen/__init__.py b/swig/python/codegen/__init__.py index cf27dd11d..80e72726f 100644 --- a/swig/python/codegen/__init__.py +++ b/swig/python/codegen/__init__.py @@ -2,9 +2,10 @@ from io import StringIO from .codegen import CodeGenerator from .codegen import CodeGenException -from typing import Callable, Union +from typing import Callable, Union, _SpecialForm import ast import inspect +import pyflamegpu def codegen(tree: ast.AST) -> str: """ @@ -51,7 +52,7 @@ def translate(function: Union[str, Callable]) -> str: prepend_c_source = "" # Find all annotated variables for key, val in module_annontations.items(): - if val.__name__ == "Final" or val.__name__ == "constant": + if (isinstance(val, _SpecialForm) and val._name == "Final") or val.__name__ == "constant": # Locate the literal for that variable (Python will precompute anything e.g. math.sqrt(12.5)) for mem in module_members: if key == mem[0]: