def __init__(self, object):
     
     Writer.__init__(self)
     
     self._obj = object
     self._func_name_creator = FuncNameCreator()
     self._base_prefix = util.camelcase_to_underscore(self._obj.prefix).lower()
     
     self.annotations = Annotations()
 def __init__(self, flags):
     
     Writer.__init__(self)
     
     self._flags = flags
     
     namespace = ""
     basename = util.camelcase_to_underscore(self._flags.name)
     
     package = self._flags.package
     while package:
         if package.name:
             namespace = package.name + "_" + namespace
         package = package.package
             
     self._vars = {
                   "FLAGS_ABS_NAME": namespace.upper() + basename.upper(),
                   "FlagsAbsName": self.typename(self._flags),
                   }
 def __init__(self, enum):
     
     Writer.__init__(self)
     
     self._enum = enum
     
     namespace = ""
     basename = util.camelcase_to_underscore(self._enum.name)
     
     package = self._enum.package
     while package:
         if package.name:
             namespace = package.name + "_" + namespace
         package = package.package
             
     self._vars = {
                   "NAMESPACE": namespace.upper(),
                   "BASENAME": basename.upper(),
                   "ENUM_ABS_NAME": namespace.upper() + basename.upper(),
                   "EnumAbsName": self.typename(self._enum),
                   "prefix": namespace.lower() + basename.lower()
                   }
 def __init__(self, error_domain):
     
     Writer.__init__(self)
     
     self._error = error_domain
     
     namespace = ""
     basename = util.camelcase_to_underscore(self._error.name)
     error_domain_name = self._error.name
     
     package = self._error.package
     while package:
         if package.name:
             namespace = package.name + "_" + namespace
             error_domain_name = package.name.capitalize() + error_domain_name
         package = package.package
             
     self._vars = {
                   "ERROR_DOMAIN_NAME": namespace.upper() + basename.upper(),
                   "error_domain_name": namespace.lower() + basename.lower(),
                   "ErrorDomainName": error_domain_name,
                   }