From 89a359d3f961bfa4d4bb9bb0059d23420fc13fb9 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <kloeckner@hpcgeek.ccv.brown.edu> Date: Wed, 6 May 2009 12:39:33 -0400 Subject: [PATCH] Support "extra properties" for common subexpressions. --- src/mapper/__init__.py | 4 +++- src/primitives.py | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/mapper/__init__.py b/src/mapper/__init__.py index d54d1da..7817546 100644 --- a/src/mapper/__init__.py +++ b/src/mapper/__init__.py @@ -195,7 +195,9 @@ class IdentityMapperBase(object): return result def map_common_subexpression(self, expr, *args, **kwargs): - return expr.__class__(self.rec(expr.child, *args, **kwargs)) + return expr.__class__( + self.rec(expr.child, *args, **kwargs), + **expr.get_extra_properties()) diff --git a/src/primitives.py b/src/primitives.py index 14b066f..fe1c2b3 100644 --- a/src/primitives.py +++ b/src/primitives.py @@ -548,6 +548,9 @@ class CommonSubexpression(Expression): return (other.__class__ == self.__class__ and other.child == self.child) + def get_extra_properties(self): + return {} + def get_mapper_method(self, mapper): return mapper.map_common_subexpression -- GitLab