public SerializedSignature ParseFunctionTypeCode()
{
string convention = ParseCallingConvention();
SerializedType retType;
if (PeekAndDiscard('@'))
{
// C++ ctors have no return type!
retType = null;
}
else
{
retType = ParseDataTypeCode(new List<Argument_v1>());
}
Argument_v1[] args = ParseArgumentList();
return new SerializedSignature
{
Convention = convention,
Arguments = args,
EnclosingType = CreateEnclosingType(Scope),
IsInstanceMethod = this.isInstanceMethod,
ReturnValue = new Argument_v1 { Type = retType ?? new VoidType_v1() }
};
}