diff --git a/cmake/codegen-requirements.txt b/cmake/codegen-requirements.txt index 15fffb4ef00e73c7effbc4b7a1eb0ebbf1482905..74c8bc093037545fc5c7b97cf4d58419594a0c2b 100644 --- a/cmake/codegen-requirements.txt +++ b/cmake/codegen-requirements.txt @@ -4,5 +4,5 @@ git+https://i10git.cs.fau.de/pycodegen/pystencils.git@v2.0-dev # lbmpy: feature branch for pystencils-2.0 compatibility git+https://i10git.cs.fau.de/pycodegen/lbmpy.git@fhennig/pystencils2.0-compat -# pystencils-sfg: (development branch with updated CMake modules and cpptypes) -git+https://i10git.cs.fau.de/pycodegen/pystencils-sfg.git@master +# pystencils-sfg +git+https://i10git.cs.fau.de/pycodegen/pystencils-sfg.git@fhennig/fix-base-classes-printing diff --git a/src/sfg_walberla/reflection.py b/src/sfg_walberla/reflection.py index 13e422d94cf2329d339a23077a51a13553928652..1b8d2021d8381bf8d5cf8a8430f8e2d33d177779 100644 --- a/src/sfg_walberla/reflection.py +++ b/src/sfg_walberla/reflection.py @@ -5,14 +5,9 @@ from pystencilssfg.ir import SfgClass class GeneratedClassWrapperBase(CppClass): _class: SfgClass - _namespace: str | None def __init_subclass__(cls) -> None: - typename = ( - f"{cls._namespace}::{cls._class.class_name}" - if cls._namespace is not None - else cls._class.class_name - ) + typename = cls._class.fqname cls.template = cpptype(typename) def ctor(self, **kwargs) -> AugExpr: @@ -22,7 +17,7 @@ class GeneratedClassWrapperBase(CppClass): break else: raise Exception( - f"No constructor of class {self._class.class_name} matches the argument names {kwargs.keys()}" + f"No constructor of class {self._class.fqname} matches the argument names {kwargs.keys()}" ) ctor_args = [kwargs[name] for name in ctor_argnames] diff --git a/src/sfg_walberla/sweep.py b/src/sfg_walberla/sweep.py index a79d133f4381deea94d06e96ff57c33531e73e26..6da15adddbdb5f62884ceca7925e7608bfaa4fe5 100644 --- a/src/sfg_walberla/sweep.py +++ b/src/sfg_walberla/sweep.py @@ -618,12 +618,13 @@ class Sweep(CustomGenerator): *shadows_cache.render(sfg), ) - gen_class = sfg.context.get_class(self._name) + from pystencilssfg.ir import SfgClass + gen_class = sfg._cursor.get_entity(self._name) + assert isinstance(gen_class, SfgClass) assert gen_class is not None class GenClassWrapper(GeneratedClassWrapperBase): _class = gen_class - _namespace = sfg.context.fully_qualified_namespace self._generated_class = GenClassWrapper