private fun serialize_meta_string(type_name: String)
do
if plain_msgpack or not cache_metadata_strings then
# String only version
stream.write_msgpack_str type_name
return
end
if cache.has_object(type_name) then
# if already serialized, add reference
var id = cache.id_for(type_name)
stream.write_msgpack_ext(ext_typ_ref, id.to_bytes)
else
# serialize
var id = cache.new_id_for(type_name)
stream.write_msgpack_array 2 # obj+id, type_name
stream.write_msgpack_ext(ext_typ_obj, id.to_bytes)
stream.write_msgpack_str type_name
end
end
lib/msgpack/serialization_write.nit:129,2--148,4