summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authoralalazo <massimiliano.culpo@googlemail.com>2017-06-19 15:38:37 +0200
committerTodd Gamblin <tgamblin@llnl.gov>2018-02-13 02:18:28 -0800
commiteae72638385fd61932c9ed98ce7ee078c28882f0 (patch)
tree8f21066f1f80d15ebfafa9e68b83641c3a8b6383 /lib
parent22def01adf117d38dbe20c8f719fbd2f50fe5393 (diff)
downloadspack-eae72638385fd61932c9ed98ce7ee078c28882f0.tar.gz
spack-eae72638385fd61932c9ed98ce7ee078c28882f0.tar.bz2
spack-eae72638385fd61932c9ed98ce7ee078c28882f0.tar.xz
spack-eae72638385fd61932c9ed98ce7ee078c28882f0.zip
mixins: flush method dictionaries after registration.
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/mixins.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/spack/spack/mixins.py b/lib/spack/spack/mixins.py
index d757a963b3..2ce80c4c39 100644
--- a/lib/spack/spack/mixins.py
+++ b/lib/spack/spack/mixins.py
@@ -118,6 +118,9 @@ class PackageMixinsMeta(type):
for f in fn_list:
phase_obj.run_before.append(f)
+ # Flush the dictionary for the next class
+ PackageMixinsMeta._add_method_before.clear()
+
for phase in PackageMixinsMeta._add_method_after:
attr_name = attr_fmt.format(phase)
@@ -127,6 +130,9 @@ class PackageMixinsMeta(type):
for f in fn_list:
phase_obj.run_after.append(f)
+ # Flush the dictionary for the next class
+ PackageMixinsMeta._add_method_after.clear()
+
super(PackageMixinsMeta, cls).__init__(name, bases, attr_dict)