From a138edcb2ea100850d230ef35cefad40a07f3c62 Mon Sep 17 00:00:00 2001 From: Frederik Hennig <frederik.hennig@fau.de> Date: Tue, 6 Aug 2024 17:22:00 +0200 Subject: [PATCH] Fix: Collect parameters for class methods when binding them --- src/pystencilssfg/ir/source_components.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/pystencilssfg/ir/source_components.py b/src/pystencilssfg/ir/source_components.py index 6aace69..06788cf 100644 --- a/src/pystencilssfg/ir/source_components.py +++ b/src/pystencilssfg/ir/source_components.py @@ -435,11 +435,7 @@ class SfgMethod(SfgFunction, SfgClassMember): self._inline = inline self._const = const - - from .postprocessing import CallTreePostProcessing - - param_collector = CallTreePostProcessing() - self._parameters: set[SfgVar] = param_collector(self._tree).function_params + self._parameters: set[SfgVar] = set() @property def inline(self) -> bool: @@ -449,6 +445,14 @@ class SfgMethod(SfgFunction, SfgClassMember): def const(self) -> bool: return self._const + def _bind(self, cls: SfgClass, vis: SfgVisibility): + super()._bind(cls, vis) + + from .postprocessing import CallTreePostProcessing + + param_collector = CallTreePostProcessing(enclosing_class=cls) + self._parameters = param_collector(self._tree).function_params + class SfgConstructor(SfgClassMember): def __init__( -- GitLab