class_docstr: Descriptors base class.
  
  This class is the base of all descriptor classes. It provides common options
  related functionality.
  
  Attributes:
    has_options:  True if the descriptor has non-default options.  Usually it
        is not necessary to read this -- just call GetOptions() which will
        happily return the default instance.  However, it's sometimes useful
        for efficiency, and also useful inside the protobuf implementation to
        avoid some bootstrapping issues.
class_docstr_tok: ["Descriptors","base","class",".","This","class","is","the","base","of","all","descriptor","classes",".","It","provides","common","options","related","functionality",".","Attributes",":","has_options",":","True","if","the","descriptor","has","non-default","options",".","Usually","it","is","not","necessary","to","read","this","--","just","call","GetOptions","(",")","which","will","happily","return","the","default","instance",".","However",",","it","'s","sometimes","useful","for","efficiency",",","and","also","useful","inside","the","protobuf","implementation","to","avoid","some","bootstrapping","issues","."]
docstr: Retrieves descriptor options.
  
  This method returns the options set or creates the default options for the
  descriptor.
code: def GetOptions(self):
      """Retrieves descriptor options.
  
      This method returns the options set or creates the default options for the
      descriptor.
      """
      if self._options:
          return self._options
  
      from google.protobuf import descriptor_pb2
  
      try:
          options_class = getattr(
              descriptor_pb2, self._options_class_name
          )
      except AttributeError:
          raise RuntimeError(
              "Unknown options class name %s!"
              % (self._options_class_name)
          )
  
      with _lock:
          if self._serialized_options is None:
              self._options = options_class()
          else:
              self._options = _ParseOptions(
                  options_class(), self._serialized_options
              )
  
          return self._options
  
imports: import threading
  import warnings
  import six
  from google.protobuf.internal import api_implementation
label_desc: Use image node_id 3 for calling the DescriptorBase obj's underlying member method code with example usage: obj.GetOptions() and returns: self, self