Skip to content
Snippets Groups Projects
Commit 2dca4f92 authored by Frederik Hennig's avatar Frederik Hennig
Browse files

remove superfluous interfaces; remove debug lines from coverage

parent b87be486
No related branches found
No related tags found
1 merge request!17Improved Source File and Code Structure Modelling
Pipeline #73684 passed
...@@ -59,6 +59,7 @@ parentdir_prefix = "pystencilssfg-" ...@@ -59,6 +59,7 @@ parentdir_prefix = "pystencilssfg-"
[tool.coverage.run] [tool.coverage.run]
omit = [ omit = [
"setup.py", "setup.py",
"noxfile.py",
"src/pystencilssfg/_version.py", "src/pystencilssfg/_version.py",
"integration/*" "integration/*"
] ]
...@@ -68,4 +69,5 @@ exclude_also = [ ...@@ -68,4 +69,5 @@ exclude_also = [
"\\.\\.\\.\n", "\\.\\.\\.\n",
"if TYPE_CHECKING:", "if TYPE_CHECKING:",
"@(abc\\.)?abstractmethod", "@(abc\\.)?abstractmethod",
"assert False"
] ]
...@@ -7,10 +7,9 @@ from typing import ( ...@@ -7,10 +7,9 @@ from typing import (
Sequence, Sequence,
Generator, Generator,
) )
from dataclasses import replace
from itertools import chain from itertools import chain
from pystencils import CreateKernelConfig, create_kernel, Field from pystencils import Field
from pystencils.codegen import Kernel from pystencils.codegen import Kernel
from pystencils.types import PsType, PsCustomType from pystencils.types import PsType, PsCustomType
...@@ -164,57 +163,6 @@ class SfgKernelNamespace(SfgNamespace): ...@@ -164,57 +163,6 @@ class SfgKernelNamespace(SfgNamespace):
) )
self._kernels[kernel.name] = kernel self._kernels[kernel.name] = kernel
def add(self, kernel: Kernel, name: str | None = None):
"""Adds an existing pystencils AST to this namespace.
If a name is specified, the AST's function name is changed."""
if name is None:
kernel_name = kernel.name
else:
kernel_name = name
if kernel_name in self._kernels:
raise ValueError(
f"Duplicate kernels: A kernel called {kernel_name} already exists in namespace {self.fqname}"
)
if name is not None:
kernel.name = kernel_name
khandle = SfgKernelHandle(kernel_name, self, kernel)
self._kernels[kernel_name] = khandle
# TODO: collect includes later
# for header in kernel.required_headers:
# self._ctx.add_include(
# SfgHeaderInclude(HeaderFile.parse(header), private=True)
# )
return khandle
def create(
self,
assignments,
name: str | None = None,
config: CreateKernelConfig | None = None,
):
"""Creates a new pystencils kernel from a list of assignments and a configuration.
This is a wrapper around `pystencils.create_kernel`
with a subsequent call to `add`.
"""
if config is None:
config = CreateKernelConfig()
if name is not None:
if name in self._kernels:
raise ValueError(
f"Duplicate kernels: A kernel with name {name} already exists in namespace {self.fqname}"
)
config = replace(config, function_name=name)
# type: ignore
kernel = create_kernel(assignments, config=config)
return self.add(kernel)
class SfgFunction(SfgCodeEntity): class SfgFunction(SfgCodeEntity):
"""A free function.""" """A free function."""
......
...@@ -2,7 +2,6 @@ from __future__ import annotations ...@@ -2,7 +2,6 @@ from __future__ import annotations
from enum import Enum, auto from enum import Enum, auto
from typing import ( from typing import (
Generator,
Iterable, Iterable,
TypeVar, TypeVar,
Generic, Generic,
...@@ -15,7 +14,6 @@ from .entities import ( ...@@ -15,7 +14,6 @@ from .entities import (
SfgKernelHandle, SfgKernelHandle,
SfgFunction, SfgFunction,
SfgClassMember, SfgClassMember,
SfgMemberVariable,
SfgVisibility, SfgVisibility,
SfgClass, SfgClass,
) )
...@@ -99,14 +97,6 @@ class SfgVisibilityBlock: ...@@ -99,14 +97,6 @@ class SfgVisibilityBlock:
def elements(self, elems: Iterable[SfgClassBodyElement]): def elements(self, elems: Iterable[SfgClassBodyElement]):
self._elements = list(elems) self._elements = list(elems)
def members(self) -> Generator[SfgClassMember, None, None]:
for elem in self._elements:
match elem:
case SfgEntityDecl(entity) | SfgEntityDef(entity):
yield entity
case SfgMemberVariable():
yield elem
class SfgNamespaceBlock: class SfgNamespaceBlock:
"""A C++ namespace block. """A C++ namespace block.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment