diff --git a/pystencilssfg/configuration.py b/pystencilssfg/configuration.py index 07a6b170d4012b92c743133797ddb54a26ebf2f8..1de3a19ed7c8322eb902b614e43b2bd611dd3bf4 100644 --- a/pystencilssfg/configuration.py +++ b/pystencilssfg/configuration.py @@ -4,7 +4,6 @@ from typing import Sequence, Any from enum import Enum, auto from dataclasses import dataclass, replace, asdict, InitVar from argparse import ArgumentParser -from os import path from importlib import util as iutil diff --git a/pystencilssfg/context.py b/pystencilssfg/context.py index 9bed7e0ec60c54ad1205748cc9a8ecc408cde1e2..e11d82703ddbb7a7bfab4241cdb0a19673d8d33c 100644 --- a/pystencilssfg/context.py +++ b/pystencilssfg/context.py @@ -10,7 +10,7 @@ from pystencils.astnodes import KernelFunction from .configuration import SfgConfiguration, config_from_commandline, merge_configurations, SfgCodeStyle from .kernel_namespace import SfgKernelNamespace, SfgKernelHandle -from .tree import SfgCallTreeNode, SfgSequence, SfgKernelCallNode, SfgStatements +from .tree import SfgCallTreeNode, SfgKernelCallNode, SfgStatements from .tree.deferred_nodes import SfgDeferredFieldMapping from .tree.builders import SfgBranchBuilder, make_sequence from .tree.visitors import CollectIncludes diff --git a/pystencilssfg/source_concepts/cpp/std_vector.py b/pystencilssfg/source_concepts/cpp/std_vector.py index 5398f5dfdc5a84488f53d22fd1af7707d558f938..a4e5ac25e996a4473719f5b054ed746f59a3558b 100644 --- a/pystencilssfg/source_concepts/cpp/std_vector.py +++ b/pystencilssfg/source_concepts/cpp/std_vector.py @@ -4,7 +4,7 @@ from pystencils.typing import FieldPointerSymbol, FieldStrideSymbol, FieldShapeS from ...tree import SfgStatements from ..source_objects import SrcField, SrcVector -from ..source_objects import SrcObject, TypedSymbolOrObject +from ..source_objects import TypedSymbolOrObject from ...types import SrcType, PsType, cpp_typename from ...source_components.header_include import SfgHeaderInclude from ...exceptions import SfgException diff --git a/pystencilssfg/tree/deferred_nodes.py b/pystencilssfg/tree/deferred_nodes.py index 3eb42e5df94e0e02ac8f639852e31290640f0c45..ae364bb22632824112defeeef913da22dc8ac3af 100644 --- a/pystencilssfg/tree/deferred_nodes.py +++ b/pystencilssfg/tree/deferred_nodes.py @@ -1,14 +1,9 @@ from __future__ import annotations from typing import TYPE_CHECKING -from pystencilssfg.context import SfgContext - -if TYPE_CHECKING: - from ..context import SfgContext - from abc import ABC, abstractmethod -from pystencils import Field, TypedSymbol +from pystencils import Field from pystencils.typing import FieldPointerSymbol, FieldShapeSymbol, FieldStrideSymbol from ..exceptions import SfgException @@ -19,6 +14,9 @@ from .builders import make_sequence from ..source_concepts import SrcField from ..source_concepts.source_objects import TypedSymbolOrObject +if TYPE_CHECKING: + from ..context import SfgContext + class SfgDeferredNode(SfgCallTreeNode, ABC): """Nodes of this type are inserted as placeholders into the kernel call tree diff --git a/pystencilssfg/tree/dispatcher.py b/pystencilssfg/tree/dispatcher.py index 9ecba4801e0b10e7501c9276adecdb9c17a048bd..04108edc9ae3b44690576b396f5d72b18bb83793 100644 --- a/pystencilssfg/tree/dispatcher.py +++ b/pystencilssfg/tree/dispatcher.py @@ -1,5 +1,5 @@ from __future__ import annotations -from typing import Callable, TypeVar, Generic, Any, ParamSpec, Concatenate +from typing import Callable, TypeVar, Generic, ParamSpec from types import MethodType from functools import wraps @@ -10,6 +10,7 @@ V = TypeVar("V") R = TypeVar("R") P = ParamSpec("P") + class VisitorDispatcher(Generic[V, R]): def __init__(self, wrapped_method: Callable[..., R]): self._dispatch_dict: dict[type, Callable[..., R]] = {} diff --git a/pystencilssfg/tree/visitors.py b/pystencilssfg/tree/visitors.py index 434e271540562b0827b0f0e9e2b6505c50012655..7660cf20f347112a67faaff9db238dd10ee6b29f 100644 --- a/pystencilssfg/tree/visitors.py +++ b/pystencilssfg/tree/visitors.py @@ -4,8 +4,6 @@ from typing import TYPE_CHECKING from functools import reduce -from pystencils.typing import TypedSymbol - from .basic_nodes import SfgCallTreeNode, SfgCallTreeLeaf, SfgSequence, SfgStatements from .deferred_nodes import SfgParamCollectionDeferredNode from .dispatcher import visitor