docs: def _get_provides(self, private=False):
          """
          iterator of provided classes, fields, methods
          """
  
          # TODO I probably need to add inner classes here
  
          me = self.pretty_this()
          yield me
  
          for field in self.fields:
              if private or field.is_public():
                  yield "%s.%s" % (me, field.pretty_identifier())
  
          for method in self.methods:
              if private or method.is_public():
                  yield "%s.%s" % (me, method.pretty_identifier())