code: def get_kind(cm, kind, value):
      
      if kind == KIND_METH:
          method = cm.get_method_ref(value)
          class_name = method.get_class_name()
          name = method.get_name()
          descriptor = method.get_descriptor()
  
          return "{}->{}{}".format(class_name, name, descriptor)
  
      elif kind == KIND_STRING:
          return repr(cm.get_string(value))
  
      elif kind == KIND_RAW_STRING:
          return cm.get_string(value)
  
      elif kind == KIND_FIELD:
          class_name, proto, field_name = cm.get_field(value)
          return "{}->{} {}".format(class_name, field_name, proto)
  
      elif kind == KIND_TYPE:
          return cm.get_type(value)
  
      elif kind == VTABLE_OFFSET:
          return "vtable[0x%x]" % value
  
      elif kind == FIELD_OFFSET:
          return "field[0x%x]" % value
  
      elif kind == INLINE_METHOD:
          buff = "inline[0x%x]" % value
  
          # FIXME: depends of the android version ...
          if len(INLINE_METHODS) > value:
              elem = INLINE_METHODS[value]
              buff += " {}->{}{}".format(elem[0], elem[1], elem[2])
  
          return buff
  
      return None
docs: Return the value of the 'kind' argument
  
      :param cm: a ClassManager object
      :type cm: :class:`ClassManager`
      :param kind: the type of the 'kind' argument
      :type kind: int
      :param value: the value of the 'kind' argument
      :type value: int
  
      :rtype: string