(self, descriptor)
return self._classes[descriptor.full_name]
Builds a proto2 message class based on the passed in descriptor.

    Passing a descriptor with a fully qualified name matching a previous
    invocation will cause the same class to be returned.

    Args:
      descriptor: The descriptor to build from.

    Returns:
      A class describing the passed in descriptor.
Builds a proto2 message class based on the passed in descriptor.
Builds a proto2 message class based on the passed in descriptor .
def GetPrototype(self, descriptor):
    """Builds a proto2 message class based on the passed in descriptor.

    Passing a descriptor with a fully qualified name matching a previous
    invocation will cause the same class to be returned.

    Args:
      descriptor: The descriptor to build from.

    Returns:
      A class describing the passed in descriptor.
    """
    if descriptor.full_name not in self._classes:
      descriptor_name = descriptor.name
      if str is bytes:  # PY2
        descriptor_name = descriptor.name.encode('ascii', 'ignore')
      result_class = reflection.GeneratedProtocolMessageType(
          descriptor_name,
          (message.Message,),
          {'DESCRIPTOR': descriptor, '__module__': None})
          # If module not set, it wrongly points to the reflection.py module.
      self._classes[descriptor.full_name] = result_class
      for field in descriptor.fields:
        if field.message_type:
          self.GetPrototype(field.message_type)
      for extension in result_class.DESCRIPTOR.extensions:
        if extension.containing_type.full_name not in self._classes:
          self.GetPrototype(extension.containing_type)
        extended_class = self._classes[extension.containing_type.full_name]
        extended_class.RegisterExtension(extension)
    return self._classes[descriptor.full_name]
def GetPrototype ( self , descriptor ) : if descriptor . full_name not in self . _classes : descriptor_name = descriptor . name if str is bytes : # PY2 descriptor_name = descriptor . name . encode ( 'ascii' , 'ignore' ) result_class = reflection . GeneratedProtocolMessageType ( descriptor_name , ( message . Message , ) , { 'DESCRIPTOR' : descriptor , '__module__' : None } ) # If module not set, it wrongly points to the reflection.py module. self . _classes [ descriptor . full_name ] = result_class for field in descriptor . fields : if field . message_type : self . GetPrototype ( field . message_type ) for extension in result_class . DESCRIPTOR . extensions : if extension . containing_type . full_name not in self . _classes : self . GetPrototype ( extension . containing_type ) extended_class = self . _classes [ extension . containing_type . full_name ] extended_class . RegisterExtension ( extension ) return self . _classes [ descriptor . full_name ]