Closed gmarkall closed 12 years ago
I'm not sure what you mean but I'll try to answer - we can't keep these objects as subclasses of Transformer because the Transformer._handlers_cache doesn't get updated, only the UserDefinedClassTransformer._handlers_cache gets updated with handlers for our user-defined classes.
The reason that the handlers are only updated in UserDefinedClassTransfomer was to avoid messing with the internal state of ufl.Transformer.
Or do you mean that the name UserDefinedClassTransformer is inappropriate? It is a bit long.
My comment was confusing. I meant to say it could override ufl.Transformer
in the same way we have overrides for TestFunction
/TrialFunction
- which is exactly what your last commit does.
Changes required for the transform to be generated as part of the kernel. Tested on the buildbot and passing all tests.
A high-level overview of the changes made: