Ejemplo n.º 1
0
        static private int FixupCallStructReturn(TypeSig returnType, List <StackEntry> arguments, IILImporterProxy importer, bool hasThis)
        {
            // Create temp
            var lclNum          = importer.GrabTemp(returnType.GetStackValueKind(), returnType.GetExactSize());
            var returnBufferPtr = new LocalVariableAddressEntry(lclNum);

            // Ensure return buffer parameter goes after the this parameter if present
            var returnBufferArgPos = hasThis ? 1 : 0;

            arguments.Insert(returnBufferArgPos, returnBufferPtr);

            return(lclNum);
        }