(self, def_dict)
Construct a UseableInTemplates object.

    Args:
      def_dict: The discovery dictionary for this element. All the values in it
          are exposed to the template expander.
Construct a UseableInTemplates object.
Construct a UseableInTemplates object .
def __init__(self, def_dict):
    """Construct a UseableInTemplates object.

    Args:
      def_dict: The discovery dictionary for this element. All the values in it
          are exposed to the template expander.
    """
    # TODO(user): Do we really need both of these?  Can def_dict
    # simply be a deep copy? Or can we store mutations separately and
    # thus not change the underlying dictionary?
    self._def_dict = dict(def_dict)
    self._raw_def_dict = dict(copy.deepcopy(def_dict))
def __init__ ( self , def_dict ) : # TODO(user): Do we really need both of these?  Can def_dict # simply be a deep copy? Or can we store mutations separately and # thus not change the underlying dictionary? self . _def_dict = dict ( def_dict ) self . _raw_def_dict = dict ( copy . deepcopy ( def_dict ) )