From ed804071b4579ab6e03fca2c45389dce779fcbc4 Mon Sep 17 00:00:00 2001
From: Matt Wala <wala1@illinois.edu>
Date: Sat, 20 May 2017 18:23:26 -0500
Subject: [PATCH] UniqueNameGenerator: Add a _name_added() callback.

---
 pytools/__init__.py | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/pytools/__init__.py b/pytools/__init__.py
index 0755496..a0470d8 100644
--- a/pytools/__init__.py
+++ b/pytools/__init__.py
@@ -1775,6 +1775,11 @@ class UniqueNameGenerator:
     def is_name_conflicting(self, name):
         return name in self.existing_names
 
+    def _name_added(self, name):
+        """Callback to alert subclasses when a name has been added.
+        """
+        pass
+
     def add_name(self, name):
         if self.is_name_conflicting(name):
             raise ValueError("name '%s' conflicts with existing names")
@@ -1782,6 +1787,7 @@ class UniqueNameGenerator:
             raise ValueError("name '%s' does not start with required prefix")
 
         self.existing_names.add(name)
+        self._name_added(name)
 
     def add_names(self, names):
         for name in names:
@@ -1801,6 +1807,7 @@ class UniqueNameGenerator:
         var_name = intern(var_name)
 
         self.existing_names.add(var_name)
+        self._name_added(var_name)
         return var_name
 
 # }}}
-- 
GitLab