
    gM                     T    d Z dZddlZddlmZ ddlmZ ej                  Zi Zd Z	d Z
y)a  Contains a metaclass and helper functions used to create
protocol message classes from Descriptor objects at runtime.

Recall that a metaclass is the "type" of a class.
(A class is to a metaclass what an instance is to a class.)

In this case, we use the GeneratedProtocolMessageType metaclass
to inject all the useful functionality into the classes
output by the protocol compiler at compile-time.

The upshot of all this is that the real implementation
details for ALL pure-Python protocol buffers are *here in
this file*.
z#robinson@google.com (Will Robinson)    N)message_factory)symbol_databasec                 z    t        j                  dd       t        |       } |       }|j                  |       |S )al  Generate a new Message instance from this Descriptor and a byte string.

  DEPRECATED: ParseMessage is deprecated because it is using MakeClass().
  Please use MessageFactory.GetMessageClass() instead.

  Args:
    descriptor: Protobuf Descriptor object
    byte_str: Serialized protocol buffer byte string

  Returns:
    Newly created protobuf Message object.
  zreflection.ParseMessage() is deprecated. Please use MessageFactory.GetMessageClass() and message.ParseFromString() instead. reflection.ParseMessage() will be removed in Jan 2025.   
stacklevel)warningswarn	MakeClassParseFromString)
descriptorbyte_strresult_classnew_msgs       O/var/www/openai/venv/lib/python3.12/site-packages/google/protobuf/reflection.pyParseMessager   (   s@     --? 	 :&,N'	(#	.    c                 Z    t        j                  dd       t        j                  |       S )a  Construct a class object for a protobuf described by descriptor.

  DEPRECATED: use MessageFactory.GetMessageClass() instead.

  Args:
    descriptor: A descriptor.Descriptor object describing the protobuf.
  Returns:
    The Message class object described by the descriptor.
  zreflection.MakeClass() is deprecated. Please use MessageFactory.GetMessageClass() instead. reflection.MakeClass() will be removed in Jan 2025.r   r   )r	   r
   r   GetMessageClass)r   s    r   r   r   B   s-     --< 	 
	(	(	44r   )__doc__
__author__r	   google.protobufr   r    _GENERATED_PROTOCOL_MESSAGE_TYPEGeneratedProtocolMessageTypeMESSAGE_CLASS_CACHEr   r    r   r   <module>r      s8    3
  + +  /OO  45r   