From d66fe17543679f5e29c79a1c7142edbd53cfed8f Mon Sep 17 00:00:00 2001
From: Dominic Kempf <dominic.kempf@iwr.uni-heidelberg.de>
Date: Tue, 23 Feb 2016 14:54:04 +0100
Subject: [PATCH] [fixup] Porting more stuff

---
 python/dune/perftool/pdelab/__init__.py      |  1 +
 python/dune/perftool/pdelab/localoperator.py | 12 ++++++------
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/python/dune/perftool/pdelab/__init__.py b/python/dune/perftool/pdelab/__init__.py
index a73ae2e9..9b611ba1 100644
--- a/python/dune/perftool/pdelab/__init__.py
+++ b/python/dune/perftool/pdelab/__init__.py
@@ -1,6 +1,7 @@
 """ The pdelab specific parts of the code generation process """
 
 # Define the generators that are used throughout all pdelab specific code generations.
+from dune.perftool.generation import symbol
 from dune.perftool.loopy.transformer import quadrature_iname
 from loopy import CInstruction
 
diff --git a/python/dune/perftool/pdelab/localoperator.py b/python/dune/perftool/pdelab/localoperator.py
index 52274e00..1de24fb0 100644
--- a/python/dune/perftool/pdelab/localoperator.py
+++ b/python/dune/perftool/pdelab/localoperator.py
@@ -1,7 +1,7 @@
 from __future__ import absolute_import
 
 from dune.perftool.options import get_option
-from dune.perftool.generation import include_file, base_class, symbol
+from dune.perftool.generation import include_file, base_class, symbol, generator_factory
 from dune.perftool.cgen.clazz import BaseClass, ClassMember
 
 from pytools import memoize
@@ -56,7 +56,7 @@ def measure_specific_details(measure):
             # Add a base class
             from dune.perftool.pdelab.driver import type_localoperator
             loptype = type_localoperator()
-            base_class("Dune::PDELab::NumericalJacobian{}<{}>".format(which, loptype))
+            base_class("Dune::PDELab::NumericalJacobian{}<{}>".format(which, loptype), classtag="operator")
 
             # Add the initializer list for that base class
             ini = name_initree_member()
@@ -64,7 +64,7 @@ def measure_specific_details(measure):
                              ["{}.get(\"numerical_epsilon.{}\", 1e-9)".format(ini, which.lower())])
 
     if measure == "cell":
-        base_class('Dune::PDELab::FullVolumePattern')
+        base_class('Dune::PDELab::FullVolumePattern', classtag="operator")
         numerical_jacobian("Volume")
 
         ret["residual_signature"] = ['template<typename EG, typename LFSV0, typename X, typename LFSV1, typename R>',
@@ -73,7 +73,7 @@ def measure_specific_details(measure):
                                      'void jacobian_volume(const EG& eg, const LFSV0& lfsv0, const X& x, const LFSV1& lfsv1, J& jac) const']
 
     if measure == "exterior_facet":
-        base_class('Dune::PDELab::FullBoundaryPattern')
+        base_class('Dune::PDELab::FullBoundaryPattern', classtag="operator")
         numerical_jacobian("Boundary")
 
         ret["residual_signature"] = ['template<typename IG, typename LFSV0, typename X, typename LFSV1, typename R>',
@@ -82,7 +82,7 @@ def measure_specific_details(measure):
                                      'void jacobian_boundary(const IG& ig, const LFSV0& lfsv0, const X& x, const LFSV1& lfsv1, J& jac) const']
 
     if measure == "interior_facet":
-        base_class('Dune::PDELab::FullSkeletonPattern')
+        base_class('Dune::PDELab::FullSkeletonPattern', classtag="operator")
         numerical_jacobian("Skeleton")
 
         ret["residual_signature"] = ['template<typename IG, typename LFSV0_S, typename X, typename LFSV1_S, typename LFSV0_N, typename R, typename LFSV1_N>',
@@ -171,7 +171,7 @@ def generate_localoperator_kernels(form):
     include_file('dune/pdelab/localoperator/pattern.hh', filetag="operator")
     include_file('dune/geometry/quadraturerules.hh', filetag="operator")
 
-    base_class('Dune::PDELab::LocalOperatorDefaultFlags')
+    base_class('Dune::PDELab::LocalOperatorDefaultFlags', classtag="operator")
 
     # Have a data structure collect the generated kernels
     operator_kernels = {}
-- 
GitLab