aboutsummaryrefslogtreecommitdiff
path: root/xsde/cxx/hybrid/tree-size-processor.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'xsde/cxx/hybrid/tree-size-processor.cxx')
-rw-r--r--xsde/cxx/hybrid/tree-size-processor.cxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/xsde/cxx/hybrid/tree-size-processor.cxx b/xsde/cxx/hybrid/tree-size-processor.cxx
index 0470884..4f1939e 100644
--- a/xsde/cxx/hybrid/tree-size-processor.cxx
+++ b/xsde/cxx/hybrid/tree-size-processor.cxx
@@ -363,6 +363,14 @@ namespace CXX
dispatch (b);
fixed = get (b);
+
+ // If our base is polymorphic and recursive, then we
+ // are also automatically recursive, since we can be
+ // substiuted for the base.
+ //
+ if (b.context ().count ("polymorphic") &&
+ b.context ().count ("recursive"))
+ ctx.set ("recursive", true);
}
// Check particles. Do this even if fixed is already false