in src/annotations.pyx [0:0]
def map(self):
cdef c_amqpvalue.AMQP_VALUE unmapped
cdef c_amqpvalue.AMQP_VALUE mapped
cdef c_amqpvalue.AMQP_VALUE unextracted
cdef c_amqpvalue.AMQP_VALUE extracted
unextracted = c_amqpvalue.amqpvalue_clone(<c_amqpvalue.AMQP_VALUE>self._c_value)
extracted = c_amqpvalue.amqpvalue_get_inplace_described_value(unextracted)
unmapped = c_amqpvalue.amqpvalue_clone(extracted)
if <void*>unmapped == NULL:
result = None
elif c_amqpvalue.amqpvalue_get_map(unmapped, &mapped) == 0:
if <void*>mapped == NULL:
result = None
else:
result = copy.deepcopy(value_factory(mapped).value)
else:
result = None
c_amqpvalue.amqpvalue_destroy(unextracted)
return result