Ah, sorry. There's a mistake with the highlighting. At the bottom of
read_object, it should read like this
elseif rType == defaultRType.RAWSXP
rawLength = readInt32(rr.reader)
result = RObject(readbytes(rr.reader, rawLength), is_raw = true)
elseif rType == defaultRType.LANGSXP
result = RObject(None)
att_list = read_attribute_list(rr) # att_list returns nothing DataType
setAttributes(result, att_list)
elseif rType == defaultRType.SYMSXP
symbol = read_symbol_or_string(rr)
push!(rr.symbols, symbol)
return RObject([symbol])
else
error("Unexpected type")
end
if getAttributeFlag(typeTag)
att_list = read_attribute_list(rr)
setAttributes(result, att_list)
end
return result
end