GP-4976 Only send back <typeref>

This commit is contained in:
caheckman 2024-09-30 22:06:29 +00:00
parent cb5ab633de
commit e80f52c22e
12 changed files with 84 additions and 29 deletions

View file

@ -3378,7 +3378,7 @@ void ProtoStoreInternal::encode(Encoder &encoder) const
if (outparam->isTypeLocked())
encoder.writeBool(ATTRIB_TYPELOCK,true);
outparam->getAddress().encode(encoder);
outparam->getType()->encode(encoder);
outparam->getType()->encodeRef(encoder);
encoder.closeElement(ELEM_RETPARAM);
}
else {
@ -3406,7 +3406,7 @@ void ProtoStoreInternal::encode(Encoder &encoder) const
if (param->isHiddenReturn())
encoder.writeBool(ATTRIB_HIDDENRETPARM, true);
param->getAddress().encode(encoder);
param->getType()->encode(encoder);
param->getType()->encodeRef(encoder);
encoder.closeElement(ELEM_PARAM);
}
encoder.closeElement(ELEM_INTERNALLIST);
@ -3422,7 +3422,7 @@ void ProtoStoreInternal::decode(Decoder &decoder,ProtoModel *model)
proto.firstVarArgSlot = -1;
bool addressesdetermined = true;
pieces.push_back( ParameterPieces() ); // Push on placeholder for output pieces
pieces.emplace_back(); // Push on placeholder for output pieces
pieces.back().type = outparam->getType();
pieces.back().flags = 0;
if (outparam->isTypeLocked())
@ -4599,7 +4599,7 @@ void FuncProto::encode(Encoder &encoder) const
if (outparam->isTypeLocked())
encoder.writeBool(ATTRIB_TYPELOCK, true);
outparam->getAddress().encode(encoder,outparam->getSize());
outparam->getType()->encode(encoder);
outparam->getType()->encodeRef(encoder);
encoder.closeElement(ELEM_RETURNSYM);
encodeEffect(encoder);
encodeLikelyTrash(encoder);