Files
mercury/runtime/mercury_dotnet.cs.in
Peter Wang 5f7d3e6bb2 Use consistent integer types for some RTTI fields.
runtime/mercury_type_info.h:
    Use unsigned integer types for a few RTTI structure fields that
    are known to hold non-negative values.

    Add comments for other field types that could be changed later.

compiler/rtti.m:
    Use fixed size integer types for fields matching the size
    and signedness of the corresponding C RTTI structure fields.

    Encode type ctor flags in a uint16 instead of int.

    Make type_ctor_details_num_ptags and type_ctor_details_num_functors
    return a maybe value, instead of a negative value to represent no
    primary tags or no function symbols, respectively.

compiler/type_ctor_info.m:
    Conform to type changes.

    Use uint16 to represent the "contains var" bit vector.

compiler/rtti_out.m:
compiler/rtti_to_mlds.m:
    Conform to type changes.

    Add comments to make it easier to find the code that writes out
    each particular RTTI structure field.

compiler/ml_util.m:
    Add helper functions.

compiler/add_special_pred.m:
compiler/du_type_layout.m:
compiler/erl_rtti.m:
compiler/erlang_rtti.m:
compiler/hlds_data.m:
compiler/llds_out_data.m:
compiler/ml_unify_gen_construct.m:
compiler/opt_debug.m:
compiler/pseudo_type_info.m:
compiler/stack_layout.m:
compiler/unify_gen_construct.m:
    Conform to type changes.

compiler/parse_type_defn.m:
compiler/prog_data.m:
    Use uint32 for functor ordinal numbers.

library/rtti_implementation.m:
    Use fixed size integer types for RTTI field accessor functions,
    and update callers.

java/runtime/DuArgLocn.java:
java/runtime/DuExistInfo.java:
java/runtime/DuExistLocn.java:
java/runtime/DuFunctorDesc.java:
java/runtime/TypeCtorInfo_Struct.java:
    Use integer types in RTTI structure definitions for Java that match
    the types in the C versions of the same structures.

runtime/mercury_dotnet.cs.in:
    Use integer types in RTTI structure definitions for C# that match
    the types in the C versions of the same structures.
2018-11-19 12:37:36 +11:00

1181 lines
93 KiB
C#

// vim: ts=4 sw=4 expandtab ft=cs
//
// Copyright (C) 2003-2004, 2010-2011 The University of Melbourne.
// Copyright (C) 2014-2018 The Mercury team.
// This file is distributed under the terms specified in COPYING.LIB.
//
// mercury_dotnet.cs - This file defines the system runtime types and
// methods that are used when generating code for the .NET backend.
// The following "using" declaration works around a bug in GNU Portable.NET's
// C# compiler.
using System.Runtime.InteropServices;
namespace mercury.runtime {
/*---------------------------------------------------------------------------*/
public delegate void MethodPtr1_r0 <A1> (A1 a1);
public delegate R1 MethodPtr1_r1 <A1, R1> (A1 a1);
public delegate R1 MethodPtr1_r2 <A1, R1, R2> (A1 a1, out R2 r2);
public delegate R1 MethodPtr1_r3 <A1, R1, R2, R3> (A1 a1, out R2 r2, out R3 r3);
public delegate R1 MethodPtr1_r4 <A1, R1, R2, R3, R4> (A1 a1, out R2 r2, out R3 r3, out R4 r4);
public delegate R1 MethodPtr1_r5 <A1, R1, R2, R3, R4, R5> (A1 a1, out R2 r2, out R3 r3, out R4 r4, out R5 r5);
public delegate R1 MethodPtr1_r6 <A1, R1, R2, R3, R4, R5, R6> (A1 a1, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6);
public delegate R1 MethodPtr1_r7 <A1, R1, R2, R3, R4, R5, R6, R7> (A1 a1, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7);
public delegate R1 MethodPtr1_r8 <A1, R1, R2, R3, R4, R5, R6, R7, R8> (A1 a1, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8);
public delegate R1 MethodPtr1_r9 <A1, R1, R2, R3, R4, R5, R6, R7, R8, R9> (A1 a1, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9);
public delegate R1 MethodPtr1_r10 <A1, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10> (A1 a1, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10);
public delegate R1 MethodPtr1_r11 <A1, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11> (A1 a1, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11);
public delegate R1 MethodPtr1_r12 <A1, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12> (A1 a1, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12);
public delegate R1 MethodPtr1_r13 <A1, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13> (A1 a1, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13);
public delegate R1 MethodPtr1_r14 <A1, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14> (A1 a1, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14);
public delegate R1 MethodPtr1_r15 <A1, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15> (A1 a1, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15);
public delegate R1 MethodPtr1_r16 <A1, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16> (A1 a1, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15, out R16 r16);
public delegate void MethodPtr2_r0 <A1, A2> (A1 a1, A2 a2);
public delegate R1 MethodPtr2_r1 <A1, A2, R1> (A1 a1, A2 a2);
public delegate R1 MethodPtr2_r2 <A1, A2, R1, R2> (A1 a1, A2 a2, out R2 r2);
public delegate R1 MethodPtr2_r3 <A1, A2, R1, R2, R3> (A1 a1, A2 a2, out R2 r2, out R3 r3);
public delegate R1 MethodPtr2_r4 <A1, A2, R1, R2, R3, R4> (A1 a1, A2 a2, out R2 r2, out R3 r3, out R4 r4);
public delegate R1 MethodPtr2_r5 <A1, A2, R1, R2, R3, R4, R5> (A1 a1, A2 a2, out R2 r2, out R3 r3, out R4 r4, out R5 r5);
public delegate R1 MethodPtr2_r6 <A1, A2, R1, R2, R3, R4, R5, R6> (A1 a1, A2 a2, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6);
public delegate R1 MethodPtr2_r7 <A1, A2, R1, R2, R3, R4, R5, R6, R7> (A1 a1, A2 a2, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7);
public delegate R1 MethodPtr2_r8 <A1, A2, R1, R2, R3, R4, R5, R6, R7, R8> (A1 a1, A2 a2, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8);
public delegate R1 MethodPtr2_r9 <A1, A2, R1, R2, R3, R4, R5, R6, R7, R8, R9> (A1 a1, A2 a2, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9);
public delegate R1 MethodPtr2_r10 <A1, A2, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10> (A1 a1, A2 a2, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10);
public delegate R1 MethodPtr2_r11 <A1, A2, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11> (A1 a1, A2 a2, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11);
public delegate R1 MethodPtr2_r12 <A1, A2, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12> (A1 a1, A2 a2, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12);
public delegate R1 MethodPtr2_r13 <A1, A2, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13> (A1 a1, A2 a2, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13);
public delegate R1 MethodPtr2_r14 <A1, A2, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14> (A1 a1, A2 a2, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14);
public delegate R1 MethodPtr2_r15 <A1, A2, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15> (A1 a1, A2 a2, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15);
public delegate R1 MethodPtr2_r16 <A1, A2, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16> (A1 a1, A2 a2, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15, out R16 r16);
public delegate void MethodPtr3_r0 <A1, A2, A3> (A1 a1, A2 a2, A3 a3);
public delegate R1 MethodPtr3_r1 <A1, A2, A3, R1> (A1 a1, A2 a2, A3 a3);
public delegate R1 MethodPtr3_r2 <A1, A2, A3, R1, R2> (A1 a1, A2 a2, A3 a3, out R2 r2);
public delegate R1 MethodPtr3_r3 <A1, A2, A3, R1, R2, R3> (A1 a1, A2 a2, A3 a3, out R2 r2, out R3 r3);
public delegate R1 MethodPtr3_r4 <A1, A2, A3, R1, R2, R3, R4> (A1 a1, A2 a2, A3 a3, out R2 r2, out R3 r3, out R4 r4);
public delegate R1 MethodPtr3_r5 <A1, A2, A3, R1, R2, R3, R4, R5> (A1 a1, A2 a2, A3 a3, out R2 r2, out R3 r3, out R4 r4, out R5 r5);
public delegate R1 MethodPtr3_r6 <A1, A2, A3, R1, R2, R3, R4, R5, R6> (A1 a1, A2 a2, A3 a3, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6);
public delegate R1 MethodPtr3_r7 <A1, A2, A3, R1, R2, R3, R4, R5, R6, R7> (A1 a1, A2 a2, A3 a3, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7);
public delegate R1 MethodPtr3_r8 <A1, A2, A3, R1, R2, R3, R4, R5, R6, R7, R8> (A1 a1, A2 a2, A3 a3, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8);
public delegate R1 MethodPtr3_r9 <A1, A2, A3, R1, R2, R3, R4, R5, R6, R7, R8, R9> (A1 a1, A2 a2, A3 a3, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9);
public delegate R1 MethodPtr3_r10 <A1, A2, A3, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10> (A1 a1, A2 a2, A3 a3, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10);
public delegate R1 MethodPtr3_r11 <A1, A2, A3, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11> (A1 a1, A2 a2, A3 a3, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11);
public delegate R1 MethodPtr3_r12 <A1, A2, A3, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12> (A1 a1, A2 a2, A3 a3, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12);
public delegate R1 MethodPtr3_r13 <A1, A2, A3, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13> (A1 a1, A2 a2, A3 a3, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13);
public delegate R1 MethodPtr3_r14 <A1, A2, A3, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14> (A1 a1, A2 a2, A3 a3, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14);
public delegate R1 MethodPtr3_r15 <A1, A2, A3, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15> (A1 a1, A2 a2, A3 a3, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15);
public delegate R1 MethodPtr3_r16 <A1, A2, A3, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16> (A1 a1, A2 a2, A3 a3, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15, out R16 r16);
public delegate void MethodPtr4_r0 <A1, A2, A3, A4> (A1 a1, A2 a2, A3 a3, A4 a4);
public delegate R1 MethodPtr4_r1 <A1, A2, A3, A4, R1> (A1 a1, A2 a2, A3 a3, A4 a4);
public delegate R1 MethodPtr4_r2 <A1, A2, A3, A4, R1, R2> (A1 a1, A2 a2, A3 a3, A4 a4, out R2 r2);
public delegate R1 MethodPtr4_r3 <A1, A2, A3, A4, R1, R2, R3> (A1 a1, A2 a2, A3 a3, A4 a4, out R2 r2, out R3 r3);
public delegate R1 MethodPtr4_r4 <A1, A2, A3, A4, R1, R2, R3, R4> (A1 a1, A2 a2, A3 a3, A4 a4, out R2 r2, out R3 r3, out R4 r4);
public delegate R1 MethodPtr4_r5 <A1, A2, A3, A4, R1, R2, R3, R4, R5> (A1 a1, A2 a2, A3 a3, A4 a4, out R2 r2, out R3 r3, out R4 r4, out R5 r5);
public delegate R1 MethodPtr4_r6 <A1, A2, A3, A4, R1, R2, R3, R4, R5, R6> (A1 a1, A2 a2, A3 a3, A4 a4, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6);
public delegate R1 MethodPtr4_r7 <A1, A2, A3, A4, R1, R2, R3, R4, R5, R6, R7> (A1 a1, A2 a2, A3 a3, A4 a4, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7);
public delegate R1 MethodPtr4_r8 <A1, A2, A3, A4, R1, R2, R3, R4, R5, R6, R7, R8> (A1 a1, A2 a2, A3 a3, A4 a4, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8);
public delegate R1 MethodPtr4_r9 <A1, A2, A3, A4, R1, R2, R3, R4, R5, R6, R7, R8, R9> (A1 a1, A2 a2, A3 a3, A4 a4, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9);
public delegate R1 MethodPtr4_r10 <A1, A2, A3, A4, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10> (A1 a1, A2 a2, A3 a3, A4 a4, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10);
public delegate R1 MethodPtr4_r11 <A1, A2, A3, A4, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11> (A1 a1, A2 a2, A3 a3, A4 a4, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11);
public delegate R1 MethodPtr4_r12 <A1, A2, A3, A4, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12> (A1 a1, A2 a2, A3 a3, A4 a4, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12);
public delegate R1 MethodPtr4_r13 <A1, A2, A3, A4, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13> (A1 a1, A2 a2, A3 a3, A4 a4, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13);
public delegate R1 MethodPtr4_r14 <A1, A2, A3, A4, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14> (A1 a1, A2 a2, A3 a3, A4 a4, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14);
public delegate R1 MethodPtr4_r15 <A1, A2, A3, A4, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15> (A1 a1, A2 a2, A3 a3, A4 a4, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15);
public delegate R1 MethodPtr4_r16 <A1, A2, A3, A4, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16> (A1 a1, A2 a2, A3 a3, A4 a4, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15, out R16 r16);
public delegate void MethodPtr5_r0 <A1, A2, A3, A4, A5> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5);
public delegate R1 MethodPtr5_r1 <A1, A2, A3, A4, A5, R1> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5);
public delegate R1 MethodPtr5_r2 <A1, A2, A3, A4, A5, R1, R2> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, out R2 r2);
public delegate R1 MethodPtr5_r3 <A1, A2, A3, A4, A5, R1, R2, R3> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, out R2 r2, out R3 r3);
public delegate R1 MethodPtr5_r4 <A1, A2, A3, A4, A5, R1, R2, R3, R4> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, out R2 r2, out R3 r3, out R4 r4);
public delegate R1 MethodPtr5_r5 <A1, A2, A3, A4, A5, R1, R2, R3, R4, R5> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, out R2 r2, out R3 r3, out R4 r4, out R5 r5);
public delegate R1 MethodPtr5_r6 <A1, A2, A3, A4, A5, R1, R2, R3, R4, R5, R6> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6);
public delegate R1 MethodPtr5_r7 <A1, A2, A3, A4, A5, R1, R2, R3, R4, R5, R6, R7> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7);
public delegate R1 MethodPtr5_r8 <A1, A2, A3, A4, A5, R1, R2, R3, R4, R5, R6, R7, R8> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8);
public delegate R1 MethodPtr5_r9 <A1, A2, A3, A4, A5, R1, R2, R3, R4, R5, R6, R7, R8, R9> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9);
public delegate R1 MethodPtr5_r10 <A1, A2, A3, A4, A5, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10);
public delegate R1 MethodPtr5_r11 <A1, A2, A3, A4, A5, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11);
public delegate R1 MethodPtr5_r12 <A1, A2, A3, A4, A5, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12);
public delegate R1 MethodPtr5_r13 <A1, A2, A3, A4, A5, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13);
public delegate R1 MethodPtr5_r14 <A1, A2, A3, A4, A5, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14);
public delegate R1 MethodPtr5_r15 <A1, A2, A3, A4, A5, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15);
public delegate R1 MethodPtr5_r16 <A1, A2, A3, A4, A5, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15, out R16 r16);
public delegate void MethodPtr6_r0 <A1, A2, A3, A4, A5, A6> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6);
public delegate R1 MethodPtr6_r1 <A1, A2, A3, A4, A5, A6, R1> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6);
public delegate R1 MethodPtr6_r2 <A1, A2, A3, A4, A5, A6, R1, R2> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, out R2 r2);
public delegate R1 MethodPtr6_r3 <A1, A2, A3, A4, A5, A6, R1, R2, R3> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, out R2 r2, out R3 r3);
public delegate R1 MethodPtr6_r4 <A1, A2, A3, A4, A5, A6, R1, R2, R3, R4> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, out R2 r2, out R3 r3, out R4 r4);
public delegate R1 MethodPtr6_r5 <A1, A2, A3, A4, A5, A6, R1, R2, R3, R4, R5> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, out R2 r2, out R3 r3, out R4 r4, out R5 r5);
public delegate R1 MethodPtr6_r6 <A1, A2, A3, A4, A5, A6, R1, R2, R3, R4, R5, R6> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6);
public delegate R1 MethodPtr6_r7 <A1, A2, A3, A4, A5, A6, R1, R2, R3, R4, R5, R6, R7> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7);
public delegate R1 MethodPtr6_r8 <A1, A2, A3, A4, A5, A6, R1, R2, R3, R4, R5, R6, R7, R8> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8);
public delegate R1 MethodPtr6_r9 <A1, A2, A3, A4, A5, A6, R1, R2, R3, R4, R5, R6, R7, R8, R9> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9);
public delegate R1 MethodPtr6_r10 <A1, A2, A3, A4, A5, A6, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10);
public delegate R1 MethodPtr6_r11 <A1, A2, A3, A4, A5, A6, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11);
public delegate R1 MethodPtr6_r12 <A1, A2, A3, A4, A5, A6, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12);
public delegate R1 MethodPtr6_r13 <A1, A2, A3, A4, A5, A6, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13);
public delegate R1 MethodPtr6_r14 <A1, A2, A3, A4, A5, A6, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14);
public delegate R1 MethodPtr6_r15 <A1, A2, A3, A4, A5, A6, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15);
public delegate R1 MethodPtr6_r16 <A1, A2, A3, A4, A5, A6, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15, out R16 r16);
public delegate void MethodPtr7_r0 <A1, A2, A3, A4, A5, A6, A7> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7);
public delegate R1 MethodPtr7_r1 <A1, A2, A3, A4, A5, A6, A7, R1> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7);
public delegate R1 MethodPtr7_r2 <A1, A2, A3, A4, A5, A6, A7, R1, R2> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, out R2 r2);
public delegate R1 MethodPtr7_r3 <A1, A2, A3, A4, A5, A6, A7, R1, R2, R3> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, out R2 r2, out R3 r3);
public delegate R1 MethodPtr7_r4 <A1, A2, A3, A4, A5, A6, A7, R1, R2, R3, R4> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, out R2 r2, out R3 r3, out R4 r4);
public delegate R1 MethodPtr7_r5 <A1, A2, A3, A4, A5, A6, A7, R1, R2, R3, R4, R5> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, out R2 r2, out R3 r3, out R4 r4, out R5 r5);
public delegate R1 MethodPtr7_r6 <A1, A2, A3, A4, A5, A6, A7, R1, R2, R3, R4, R5, R6> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6);
public delegate R1 MethodPtr7_r7 <A1, A2, A3, A4, A5, A6, A7, R1, R2, R3, R4, R5, R6, R7> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7);
public delegate R1 MethodPtr7_r8 <A1, A2, A3, A4, A5, A6, A7, R1, R2, R3, R4, R5, R6, R7, R8> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8);
public delegate R1 MethodPtr7_r9 <A1, A2, A3, A4, A5, A6, A7, R1, R2, R3, R4, R5, R6, R7, R8, R9> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9);
public delegate R1 MethodPtr7_r10 <A1, A2, A3, A4, A5, A6, A7, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10);
public delegate R1 MethodPtr7_r11 <A1, A2, A3, A4, A5, A6, A7, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11);
public delegate R1 MethodPtr7_r12 <A1, A2, A3, A4, A5, A6, A7, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12);
public delegate R1 MethodPtr7_r13 <A1, A2, A3, A4, A5, A6, A7, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13);
public delegate R1 MethodPtr7_r14 <A1, A2, A3, A4, A5, A6, A7, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14);
public delegate R1 MethodPtr7_r15 <A1, A2, A3, A4, A5, A6, A7, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15);
public delegate R1 MethodPtr7_r16 <A1, A2, A3, A4, A5, A6, A7, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15, out R16 r16);
public delegate void MethodPtr8_r0 <A1, A2, A3, A4, A5, A6, A7, A8> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8);
public delegate R1 MethodPtr8_r1 <A1, A2, A3, A4, A5, A6, A7, A8, R1> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8);
public delegate R1 MethodPtr8_r2 <A1, A2, A3, A4, A5, A6, A7, A8, R1, R2> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, out R2 r2);
public delegate R1 MethodPtr8_r3 <A1, A2, A3, A4, A5, A6, A7, A8, R1, R2, R3> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, out R2 r2, out R3 r3);
public delegate R1 MethodPtr8_r4 <A1, A2, A3, A4, A5, A6, A7, A8, R1, R2, R3, R4> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, out R2 r2, out R3 r3, out R4 r4);
public delegate R1 MethodPtr8_r5 <A1, A2, A3, A4, A5, A6, A7, A8, R1, R2, R3, R4, R5> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, out R2 r2, out R3 r3, out R4 r4, out R5 r5);
public delegate R1 MethodPtr8_r6 <A1, A2, A3, A4, A5, A6, A7, A8, R1, R2, R3, R4, R5, R6> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6);
public delegate R1 MethodPtr8_r7 <A1, A2, A3, A4, A5, A6, A7, A8, R1, R2, R3, R4, R5, R6, R7> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7);
public delegate R1 MethodPtr8_r8 <A1, A2, A3, A4, A5, A6, A7, A8, R1, R2, R3, R4, R5, R6, R7, R8> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8);
public delegate R1 MethodPtr8_r9 <A1, A2, A3, A4, A5, A6, A7, A8, R1, R2, R3, R4, R5, R6, R7, R8, R9> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9);
public delegate R1 MethodPtr8_r10 <A1, A2, A3, A4, A5, A6, A7, A8, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10);
public delegate R1 MethodPtr8_r11 <A1, A2, A3, A4, A5, A6, A7, A8, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11);
public delegate R1 MethodPtr8_r12 <A1, A2, A3, A4, A5, A6, A7, A8, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12);
public delegate R1 MethodPtr8_r13 <A1, A2, A3, A4, A5, A6, A7, A8, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13);
public delegate R1 MethodPtr8_r14 <A1, A2, A3, A4, A5, A6, A7, A8, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14);
public delegate R1 MethodPtr8_r15 <A1, A2, A3, A4, A5, A6, A7, A8, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15);
public delegate R1 MethodPtr8_r16 <A1, A2, A3, A4, A5, A6, A7, A8, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15, out R16 r16);
public delegate void MethodPtr9_r0 <A1, A2, A3, A4, A5, A6, A7, A8, A9> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9);
public delegate R1 MethodPtr9_r1 <A1, A2, A3, A4, A5, A6, A7, A8, A9, R1> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9);
public delegate R1 MethodPtr9_r2 <A1, A2, A3, A4, A5, A6, A7, A8, A9, R1, R2> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, out R2 r2);
public delegate R1 MethodPtr9_r3 <A1, A2, A3, A4, A5, A6, A7, A8, A9, R1, R2, R3> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, out R2 r2, out R3 r3);
public delegate R1 MethodPtr9_r4 <A1, A2, A3, A4, A5, A6, A7, A8, A9, R1, R2, R3, R4> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, out R2 r2, out R3 r3, out R4 r4);
public delegate R1 MethodPtr9_r5 <A1, A2, A3, A4, A5, A6, A7, A8, A9, R1, R2, R3, R4, R5> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, out R2 r2, out R3 r3, out R4 r4, out R5 r5);
public delegate R1 MethodPtr9_r6 <A1, A2, A3, A4, A5, A6, A7, A8, A9, R1, R2, R3, R4, R5, R6> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6);
public delegate R1 MethodPtr9_r7 <A1, A2, A3, A4, A5, A6, A7, A8, A9, R1, R2, R3, R4, R5, R6, R7> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7);
public delegate R1 MethodPtr9_r8 <A1, A2, A3, A4, A5, A6, A7, A8, A9, R1, R2, R3, R4, R5, R6, R7, R8> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8);
public delegate R1 MethodPtr9_r9 <A1, A2, A3, A4, A5, A6, A7, A8, A9, R1, R2, R3, R4, R5, R6, R7, R8, R9> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9);
public delegate R1 MethodPtr9_r10 <A1, A2, A3, A4, A5, A6, A7, A8, A9, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10);
public delegate R1 MethodPtr9_r11 <A1, A2, A3, A4, A5, A6, A7, A8, A9, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11);
public delegate R1 MethodPtr9_r12 <A1, A2, A3, A4, A5, A6, A7, A8, A9, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12);
public delegate R1 MethodPtr9_r13 <A1, A2, A3, A4, A5, A6, A7, A8, A9, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13);
public delegate R1 MethodPtr9_r14 <A1, A2, A3, A4, A5, A6, A7, A8, A9, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14);
public delegate R1 MethodPtr9_r15 <A1, A2, A3, A4, A5, A6, A7, A8, A9, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15);
public delegate R1 MethodPtr9_r16 <A1, A2, A3, A4, A5, A6, A7, A8, A9, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15, out R16 r16);
public delegate void MethodPtr10_r0 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10);
public delegate R1 MethodPtr10_r1 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R1> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10);
public delegate R1 MethodPtr10_r2 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R1, R2> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, out R2 r2);
public delegate R1 MethodPtr10_r3 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R1, R2, R3> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, out R2 r2, out R3 r3);
public delegate R1 MethodPtr10_r4 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R1, R2, R3, R4> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, out R2 r2, out R3 r3, out R4 r4);
public delegate R1 MethodPtr10_r5 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R1, R2, R3, R4, R5> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, out R2 r2, out R3 r3, out R4 r4, out R5 r5);
public delegate R1 MethodPtr10_r6 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R1, R2, R3, R4, R5, R6> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6);
public delegate R1 MethodPtr10_r7 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R1, R2, R3, R4, R5, R6, R7> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7);
public delegate R1 MethodPtr10_r8 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R1, R2, R3, R4, R5, R6, R7, R8> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8);
public delegate R1 MethodPtr10_r9 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R1, R2, R3, R4, R5, R6, R7, R8, R9> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9);
public delegate R1 MethodPtr10_r10 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10);
public delegate R1 MethodPtr10_r11 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11);
public delegate R1 MethodPtr10_r12 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12);
public delegate R1 MethodPtr10_r13 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13);
public delegate R1 MethodPtr10_r14 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14);
public delegate R1 MethodPtr10_r15 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15);
public delegate R1 MethodPtr10_r16 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15, out R16 r16);
public delegate void MethodPtr11_r0 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11);
public delegate R1 MethodPtr11_r1 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R1> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11);
public delegate R1 MethodPtr11_r2 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R1, R2> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, out R2 r2);
public delegate R1 MethodPtr11_r3 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R1, R2, R3> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, out R2 r2, out R3 r3);
public delegate R1 MethodPtr11_r4 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R1, R2, R3, R4> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, out R2 r2, out R3 r3, out R4 r4);
public delegate R1 MethodPtr11_r5 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R1, R2, R3, R4, R5> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, out R2 r2, out R3 r3, out R4 r4, out R5 r5);
public delegate R1 MethodPtr11_r6 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R1, R2, R3, R4, R5, R6> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6);
public delegate R1 MethodPtr11_r7 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R1, R2, R3, R4, R5, R6, R7> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7);
public delegate R1 MethodPtr11_r8 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R1, R2, R3, R4, R5, R6, R7, R8> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8);
public delegate R1 MethodPtr11_r9 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R1, R2, R3, R4, R5, R6, R7, R8, R9> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9);
public delegate R1 MethodPtr11_r10 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10);
public delegate R1 MethodPtr11_r11 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11);
public delegate R1 MethodPtr11_r12 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12);
public delegate R1 MethodPtr11_r13 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13);
public delegate R1 MethodPtr11_r14 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14);
public delegate R1 MethodPtr11_r15 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15);
public delegate R1 MethodPtr11_r16 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15, out R16 r16);
public delegate void MethodPtr12_r0 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12);
public delegate R1 MethodPtr12_r1 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R1> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12);
public delegate R1 MethodPtr12_r2 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R1, R2> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, out R2 r2);
public delegate R1 MethodPtr12_r3 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R1, R2, R3> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, out R2 r2, out R3 r3);
public delegate R1 MethodPtr12_r4 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R1, R2, R3, R4> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, out R2 r2, out R3 r3, out R4 r4);
public delegate R1 MethodPtr12_r5 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R1, R2, R3, R4, R5> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, out R2 r2, out R3 r3, out R4 r4, out R5 r5);
public delegate R1 MethodPtr12_r6 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R1, R2, R3, R4, R5, R6> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6);
public delegate R1 MethodPtr12_r7 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R1, R2, R3, R4, R5, R6, R7> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7);
public delegate R1 MethodPtr12_r8 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R1, R2, R3, R4, R5, R6, R7, R8> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8);
public delegate R1 MethodPtr12_r9 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R1, R2, R3, R4, R5, R6, R7, R8, R9> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9);
public delegate R1 MethodPtr12_r10 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10);
public delegate R1 MethodPtr12_r11 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11);
public delegate R1 MethodPtr12_r12 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12);
public delegate R1 MethodPtr12_r13 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13);
public delegate R1 MethodPtr12_r14 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14);
public delegate R1 MethodPtr12_r15 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15);
public delegate R1 MethodPtr12_r16 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15, out R16 r16);
public delegate void MethodPtr13_r0 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13);
public delegate R1 MethodPtr13_r1 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R1> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13);
public delegate R1 MethodPtr13_r2 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R1, R2> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, out R2 r2);
public delegate R1 MethodPtr13_r3 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R1, R2, R3> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, out R2 r2, out R3 r3);
public delegate R1 MethodPtr13_r4 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R1, R2, R3, R4> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, out R2 r2, out R3 r3, out R4 r4);
public delegate R1 MethodPtr13_r5 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R1, R2, R3, R4, R5> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, out R2 r2, out R3 r3, out R4 r4, out R5 r5);
public delegate R1 MethodPtr13_r6 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R1, R2, R3, R4, R5, R6> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6);
public delegate R1 MethodPtr13_r7 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R1, R2, R3, R4, R5, R6, R7> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7);
public delegate R1 MethodPtr13_r8 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R1, R2, R3, R4, R5, R6, R7, R8> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8);
public delegate R1 MethodPtr13_r9 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R1, R2, R3, R4, R5, R6, R7, R8, R9> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9);
public delegate R1 MethodPtr13_r10 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10);
public delegate R1 MethodPtr13_r11 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11);
public delegate R1 MethodPtr13_r12 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12);
public delegate R1 MethodPtr13_r13 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13);
public delegate R1 MethodPtr13_r14 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14);
public delegate R1 MethodPtr13_r15 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15);
public delegate R1 MethodPtr13_r16 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15, out R16 r16);
public delegate void MethodPtr14_r0 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14);
public delegate R1 MethodPtr14_r1 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, R1> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14);
public delegate R1 MethodPtr14_r2 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, R1, R2> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, out R2 r2);
public delegate R1 MethodPtr14_r3 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, R1, R2, R3> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, out R2 r2, out R3 r3);
public delegate R1 MethodPtr14_r4 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, R1, R2, R3, R4> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, out R2 r2, out R3 r3, out R4 r4);
public delegate R1 MethodPtr14_r5 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, R1, R2, R3, R4, R5> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, out R2 r2, out R3 r3, out R4 r4, out R5 r5);
public delegate R1 MethodPtr14_r6 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, R1, R2, R3, R4, R5, R6> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6);
public delegate R1 MethodPtr14_r7 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, R1, R2, R3, R4, R5, R6, R7> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7);
public delegate R1 MethodPtr14_r8 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, R1, R2, R3, R4, R5, R6, R7, R8> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8);
public delegate R1 MethodPtr14_r9 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, R1, R2, R3, R4, R5, R6, R7, R8, R9> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9);
public delegate R1 MethodPtr14_r10 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10);
public delegate R1 MethodPtr14_r11 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11);
public delegate R1 MethodPtr14_r12 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12);
public delegate R1 MethodPtr14_r13 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13);
public delegate R1 MethodPtr14_r14 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14);
public delegate R1 MethodPtr14_r15 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15);
public delegate R1 MethodPtr14_r16 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15, out R16 r16);
public delegate void MethodPtr15_r0 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15);
public delegate R1 MethodPtr15_r1 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, R1> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15);
public delegate R1 MethodPtr15_r2 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, R1, R2> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, out R2 r2);
public delegate R1 MethodPtr15_r3 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, R1, R2, R3> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, out R2 r2, out R3 r3);
public delegate R1 MethodPtr15_r4 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, R1, R2, R3, R4> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, out R2 r2, out R3 r3, out R4 r4);
public delegate R1 MethodPtr15_r5 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, R1, R2, R3, R4, R5> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, out R2 r2, out R3 r3, out R4 r4, out R5 r5);
public delegate R1 MethodPtr15_r6 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, R1, R2, R3, R4, R5, R6> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6);
public delegate R1 MethodPtr15_r7 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, R1, R2, R3, R4, R5, R6, R7> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7);
public delegate R1 MethodPtr15_r8 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, R1, R2, R3, R4, R5, R6, R7, R8> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8);
public delegate R1 MethodPtr15_r9 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, R1, R2, R3, R4, R5, R6, R7, R8, R9> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9);
public delegate R1 MethodPtr15_r10 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10);
public delegate R1 MethodPtr15_r11 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11);
public delegate R1 MethodPtr15_r12 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12);
public delegate R1 MethodPtr15_r13 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13);
public delegate R1 MethodPtr15_r14 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14);
public delegate R1 MethodPtr15_r15 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15);
public delegate R1 MethodPtr15_r16 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15, out R16 r16);
public delegate void MethodPtr16_r0 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16);
public delegate R1 MethodPtr16_r1 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, R1> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16);
public delegate R1 MethodPtr16_r2 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, R1, R2> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, out R2 r2);
public delegate R1 MethodPtr16_r3 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, R1, R2, R3> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, out R2 r2, out R3 r3);
public delegate R1 MethodPtr16_r4 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, R1, R2, R3, R4> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, out R2 r2, out R3 r3, out R4 r4);
public delegate R1 MethodPtr16_r5 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, R1, R2, R3, R4, R5> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, out R2 r2, out R3 r3, out R4 r4, out R5 r5);
public delegate R1 MethodPtr16_r6 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, R1, R2, R3, R4, R5, R6> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6);
public delegate R1 MethodPtr16_r7 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, R1, R2, R3, R4, R5, R6, R7> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7);
public delegate R1 MethodPtr16_r8 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, R1, R2, R3, R4, R5, R6, R7, R8> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8);
public delegate R1 MethodPtr16_r9 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, R1, R2, R3, R4, R5, R6, R7, R8, R9> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9);
public delegate R1 MethodPtr16_r10 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10);
public delegate R1 MethodPtr16_r11 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11);
public delegate R1 MethodPtr16_r12 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12);
public delegate R1 MethodPtr16_r13 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13);
public delegate R1 MethodPtr16_r14 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14);
public delegate R1 MethodPtr16_r15 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15);
public delegate R1 MethodPtr16_r16 <A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16> (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15, A16 a16, out R2 r2, out R3 r3, out R4 r4, out R5 r5, out R6 r6, out R7 r7, out R8 r8, out R9 r9, out R10 r10, out R11 r11, out R12 r12, out R13 r13, out R14 r14, out R15 r15, out R16 r16);
/*---------------------------------------------------------------------------*/
public enum TypeCtorRep {
MR_TYPECTOR_REP_ENUM = 0,
MR_TYPECTOR_REP_ENUM_USEREQ = 1,
MR_TYPECTOR_REP_DU = 2,
MR_TYPECTOR_REP_DU_USEREQ = 3,
MR_TYPECTOR_REP_NOTAG = 4,
MR_TYPECTOR_REP_NOTAG_USEREQ = 5,
MR_TYPECTOR_REP_EQUIV = 6,
MR_TYPECTOR_REP_FUNC = 7,
MR_TYPECTOR_REP_INT = 8,
MR_TYPECTOR_REP_UINT = 9,
MR_TYPECTOR_REP_CHAR = 10,
MR_TYPECTOR_REP_FLOAT = 11,
MR_TYPECTOR_REP_STRING = 12,
MR_TYPECTOR_REP_PRED = 13,
MR_TYPECTOR_REP_SUBGOAL = 14,
MR_TYPECTOR_REP_VOID = 15,
MR_TYPECTOR_REP_C_POINTER = 16,
MR_TYPECTOR_REP_TYPEINFO = 17,
MR_TYPECTOR_REP_TYPECLASSINFO = 18,
MR_TYPECTOR_REP_ARRAY = 19,
MR_TYPECTOR_REP_SUCCIP = 20,
MR_TYPECTOR_REP_HP = 21,
MR_TYPECTOR_REP_CURFR = 22,
MR_TYPECTOR_REP_MAXFR = 23,
MR_TYPECTOR_REP_REDOFR = 24,
MR_TYPECTOR_REP_REDOIP = 25,
MR_TYPECTOR_REP_TRAIL_PTR = 26,
MR_TYPECTOR_REP_TICKET = 27,
MR_TYPECTOR_REP_NOTAG_GROUND = 28,
MR_TYPECTOR_REP_NOTAG_GROUND_USEREQ = 29,
MR_TYPECTOR_REP_EQUIV_GROUND = 30,
MR_TYPECTOR_REP_TUPLE = 31,
MR_TYPECTOR_REP_RESERVED_ADDR = 32,
MR_TYPECTOR_REP_RESERVED_ADDR_USEREQ = 33,
MR_TYPECTOR_REP_TYPECTORINFO = 34,
MR_TYPECTOR_REP_BASETYPECLASSINFO = 35,
MR_TYPECTOR_REP_TYPEDESC = 36,
MR_TYPECTOR_REP_TYPECTORDESC = 37,
MR_TYPECTOR_REP_FOREIGN = 38,
MR_TYPECTOR_REP_REFERENCE = 39,
MR_TYPECTOR_REP_STABLE_C_POINTER = 40,
MR_TYPECTOR_REP_STABLE_FOREIGN = 41,
MR_TYPECTOR_REP_PSEUDOTYPEDESC = 42,
MR_TYPECTOR_REP_DUMMY = 43,
MR_TYPECTOR_REP_BITMAP = 44,
MR_TYPECTOR_REP_FOREIGN_ENUM = 45,
MR_TYPECTOR_REP_FOREIGN_ENUM_USEREQ = 46,
MR_TYPECTOR_REP_INT8 = 47,
MR_TYPECTOR_REP_UINT8 = 48,
MR_TYPECTOR_REP_INT16 = 49,
MR_TYPECTOR_REP_UINT16 = 50,
MR_TYPECTOR_REP_INT32 = 51,
MR_TYPECTOR_REP_UINT32 = 52,
MR_TYPECTOR_REP_INT64 = 53,
MR_TYPECTOR_REP_UINT64 = 54,
MR_TYPECTOR_REP_UNKNOWN = 55,
MR_TYPECTOR_REP_MAX = 56
}
public class PseudoTypeInfo {
public readonly int variable_number;
public static PseudoTypeInfo K1 = new PseudoTypeInfo(1);
public static PseudoTypeInfo K2 = new PseudoTypeInfo(2);
public static PseudoTypeInfo K3 = new PseudoTypeInfo(3);
public static PseudoTypeInfo K4 = new PseudoTypeInfo(4);
public static PseudoTypeInfo K5 = new PseudoTypeInfo(5);
public PseudoTypeInfo() {
this.variable_number = -1;
}
public PseudoTypeInfo(int variable_number) {
this.variable_number = variable_number;
}
}
public class TypeCtorInfo_Struct : PseudoTypeInfo {
public int arity;
public byte type_ctor_version;
public sbyte type_ctor_num_ptags;
public TypeCtorRep type_ctor_rep;
public object unify_pred;
public object compare_pred;
public string type_ctor_module_name;
public string type_ctor_name;
public TypeFunctors type_functors;
public TypeLayout type_layout;
public int type_ctor_num_functors;
public ushort type_ctor_flags;
public int[] type_functor_number_map;
// This attribute is also to prevent cyclic copying in deep_copy.
[System.NonSerialized]
private TypeInfo_Struct cached_type_info;
public TypeCtorInfo_Struct() {
}
public TypeCtorInfo_Struct(TypeCtorInfo_Struct other, int arity) {
this.init(
arity,
other.type_ctor_version,
other.type_ctor_num_ptags,
other.type_ctor_rep,
other.unify_pred,
other.compare_pred,
other.type_ctor_module_name,
other.type_ctor_name,
other.type_functors,
other.type_layout,
other.type_ctor_num_functors,
other.type_ctor_flags,
other.type_functor_number_map
);
}
public void init(
int type_arity,
byte version,
sbyte num_ptags,
TypeCtorRep rep,
object unify_proc,
object compare_proc,
string module,
string name,
object name_ordered_functor_descs, // TypeFunctors
object value_ordered_functor_descs, // TypeLayout
int num_functors,
ushort flags,
int[] functor_number_map)
{
arity = type_arity;
type_ctor_version = version;
type_ctor_num_ptags = num_ptags;
type_ctor_rep = rep;
unify_pred = unify_proc;
compare_pred = compare_proc;
type_ctor_module_name = module;
type_ctor_name = name;
type_functors = (TypeFunctors) name_ordered_functor_descs;
type_layout = (TypeLayout) value_ordered_functor_descs;
type_ctor_num_functors = num_functors;
type_ctor_flags = flags;
type_functor_number_map = functor_number_map;
}
public override bool Equals(object other) {
TypeCtorInfo_Struct tci = other as TypeCtorInfo_Struct;
if ((System.Object) tci == null) {
return false;
}
return this.Equals(tci);
}
public bool Equals(TypeCtorInfo_Struct tci) {
if (tci == null) {
return false;
}
if (this == tci) {
return true;
}
return type_ctor_module_name.Equals(tci.type_ctor_module_name)
&& type_ctor_name.Equals(tci.type_ctor_name)
&& arity == tci.arity;
}
public override int GetHashCode() {
return type_ctor_module_name.GetHashCode()
^ type_ctor_name.GetHashCode()
^ arity;
}
public override string ToString() {
return type_ctor_module_name + "." + type_ctor_name + "/" + arity;
}
public TypeInfo_Struct ToTypeInfo() {
if (cached_type_info == null) {
cached_type_info = new TypeInfo_Struct(this);
}
return cached_type_info;
}
}
public class TypeInfo_Struct : PseudoTypeInfo {
public TypeCtorInfo_Struct type_ctor;
public PseudoTypeInfo[] args;
public TypeInfo_Struct() {
}
public TypeInfo_Struct(TypeCtorInfo_Struct tc) {
type_ctor = tc;
}
public TypeInfo_Struct(TypeInfo_Struct ti, int arity, params object[] args)
{
init(ti.type_ctor, arity, args);
}
public TypeInfo_Struct(TypeInfo_Struct ti, params object[] args) {
init(ti.type_ctor, args.Length, args);
}
public static TypeInfo_Struct maybe_new(TypeInfo_Struct ti) {
return ti;
}
public static TypeInfo_Struct maybe_new(TypeCtorInfo_Struct tc) {
return tc.ToTypeInfo();
}
public static TypeInfo_Struct maybe_new(PseudoTypeInfo obj) {
TypeCtorInfo_Struct tc = obj as TypeCtorInfo_Struct;
if (tc != null) {
return tc.ToTypeInfo();
}
return (TypeInfo_Struct) obj;
}
public void init(TypeCtorInfo_Struct tc, PseudoTypeInfo[] args) {
this.type_ctor = tc;
this.args = args;
}
// XXX "as" should have type PseudoTypeInfo[],
// but because init_array/1 does not store the type.
public void init(TypeCtorInfo_Struct tc, object[] os) {
init(tc, os.Length, os);
}
// XXX "as" should have type PseudoTypeInfo[],
// but because init_array/1 does not store the type.
public void init(TypeCtorInfo_Struct tc, int arity, object[] os) {
PseudoTypeInfo[] ptis = new PseudoTypeInfo[arity];
for (int i = 0; i < arity; i++) {
ptis[i] = (PseudoTypeInfo) os[i];
}
init(tc, ptis);
}
public TypeInfo_Struct copy() {
TypeInfo_Struct ti = new TypeInfo_Struct(type_ctor);
if (args != null) {
ti.args = (PseudoTypeInfo[]) args.Clone();
}
return ti;
}
public override bool Equals(object other) {
TypeInfo_Struct ti = other as TypeInfo_Struct;
if ((System.Object) ti == null) {
return false;
}
return this.Equals(ti);
}
public bool Equals(TypeInfo_Struct ti) {
if (ti == null) {
return false;
}
if (this == ti) {
return true;
}
TypeInfo_Struct self = this.collapse_equivalences();
ti = ti.collapse_equivalences();
if (self == ti) {
return true;
}
if (!self.type_ctor.Equals(ti.type_ctor)) {
return false;
}
int len1 = 0;
int len2 = 0;
if (self.args != null) {
len1 = self.args.Length;
}
if (ti.args != null) {
len2 = ti.args.Length;
}
if (len1 != len2) {
return false;
}
for (int i = 0; i < len1; i++) {
if (!self.args[i].Equals(ti.args[i])) {
return false;
}
}
return true;
}
private TypeInfo_Struct collapse_equivalences() {
TypeInfo_Struct ti = this;
// Look past equivalences.
while (ti.type_ctor.type_ctor_rep ==
TypeCtorRep.MR_TYPECTOR_REP_EQUIV_GROUND
|| ti.type_ctor.type_ctor_rep ==
TypeCtorRep.MR_TYPECTOR_REP_EQUIV)
{
ti = TypeInfo_Struct.maybe_new(
ti.type_ctor.type_layout.layout_equiv());
}
return ti;
}
public override int GetHashCode() {
int hash = type_ctor.GetHashCode();
if (args != null) {
foreach (PseudoTypeInfo a in args) {
hash ^= a.GetHashCode();
}
}
return hash;
}
/* Useful for debugging.
public override string ToString() {
string s = type_ctor.ToString() + "(";
if (args != null) {
foreach (PseudoTypeInfo a in args) {
s += a.ToString() + ",";
}
}
s += ")";
return s;
}
*/
}
public class TypeLayout {
private readonly object layout_init;
public TypeLayout(object init) {
layout_init = init;
}
public DuPtagLayout[] layout_du() {
return (DuPtagLayout[]) layout_init;
}
public EnumFunctorDesc[] layout_enum() {
return (EnumFunctorDesc[]) layout_init;
}
public NotagFunctorDesc[] layout_notag() {
return (NotagFunctorDesc[]) layout_init;
}
public PseudoTypeInfo layout_equiv() {
return (PseudoTypeInfo) layout_init;
}
}
public class TypeFunctors {
private readonly object functors_init;
public TypeFunctors(object init) {
functors_init = init;
}
public DuFunctorDesc[] functors_du() {
return (DuFunctorDesc[]) functors_init;
}
public EnumFunctorDesc[] functors_enum() {
return (EnumFunctorDesc[]) functors_init;
}
public ForeignEnumFunctorDesc[] functors_foreign_enum() {
return (ForeignEnumFunctorDesc[]) functors_init;
}
public NotagFunctorDesc functors_notag() {
return (NotagFunctorDesc) functors_init;
}
}
public class DuFunctorDesc {
public string du_functor_name;
public short du_functor_orig_arity;
public ushort du_functor_arg_type_contains_var;
public Sectag_Locn du_functor_sectag_locn;
public byte du_functor_primary;
public int du_functor_secondary;
public int du_functor_ordinal;
public PseudoTypeInfo[] du_functor_arg_types;
public string[] du_functor_arg_names;
public DuArgLocn[] du_functor_arg_locns;
public DuExistInfo du_functor_exist_info;
public FunctorSubtypeInfo du_functor_subtype_info;
public byte du_functor_num_sectag_bits; // unused in C# grades
public DuFunctorDesc() {
}
public void init(
string functor_name,
short orig_arity,
ushort arg_type_contains_var,
Sectag_Locn sectag_locn,
byte primary,
int secondary,
int ordinal,
// XXX why do we need to use object here?
object arg_types,
object arg_names,
object arg_locns,
object exist_info,
FunctorSubtypeInfo functor_subtype_info,
byte num_sectag_bits)
{
du_functor_name = functor_name;
du_functor_orig_arity = orig_arity;
du_functor_ordinal = ordinal;
du_functor_arg_type_contains_var = arg_type_contains_var;
du_functor_sectag_locn = sectag_locn;
du_functor_primary = primary;
du_functor_secondary = secondary;
du_functor_ordinal = ordinal;
du_functor_arg_types = (PseudoTypeInfo []) arg_types;
du_functor_arg_names = (string[]) arg_names;
du_functor_arg_locns = (DuArgLocn[]) arg_locns;
du_functor_exist_info = (DuExistInfo) exist_info;
du_functor_subtype_info = functor_subtype_info;
du_functor_num_sectag_bits = num_sectag_bits;
}
}
public enum Sectag_Locn {
MR_SECTAG_NONE = 0,
MR_SECTAG_NONE_DIRECT_ARG = 1,
MR_SECTAG_LOCAL = 2,
MR_SECTAG_LOCAL_REST_OF_WORD = 2, // synonym
MR_SECTAG_REMOTE = 3,
MR_SECTAG_REMOTE_FULL_WORD = 3 // synonym
// These are never used.
// MR_SECTAG_VARIABLE = 4
// These are never used in C# grades.
// MR_SECTAG_LOCAL_BITS = 5
// MR_SECTAG_REMOTE_BITS = 6
}
public enum FunctorSubtypeInfo {
MR_FUNCTOR_SUBTYPE_NONE = 0,
MR_FUNCTOR_SUBTYPE_EXISTS = 1
}
public class DuPtagLayout {
public uint sectag_sharers;
public Sectag_Locn sectag_locn;
public /* final */ DuFunctorDesc[] sectag_alternatives;
public sbyte sectag_numbits; // unused in C# grades
public DuPtagLayout(
uint sharers,
Sectag_Locn locn,
DuFunctorDesc[] alts,
sbyte numbits)
{
sectag_sharers = sharers;
sectag_locn = locn;
sectag_alternatives = alts;
sectag_numbits = numbits;
}
public DuPtagLayout(
uint sharers,
int locn,
DuFunctorDesc[] alts,
sbyte numbits)
: this(sharers, (Sectag_Locn) locn, alts, numbits)
{
}
}
public class DuArgLocn {
public short arg_offset;
public sbyte arg_shift;
public sbyte arg_bits;
public DuArgLocn(short arg_offset, sbyte arg_shift, sbyte arg_bits) {
this.arg_offset = arg_offset;
this.arg_shift = arg_shift;
this.arg_bits = arg_bits;
}
}
public class DuExistInfo {
public short exist_typeinfos_plain;
public short exist_typeinfos_in_tci;
public short exist_tcis;
public /* final */ DuExistLocn[] exist_typeinfo_locns;
public /* final */ TypeClassConstraint[] exist_constraints;
public DuExistInfo() {
}
public void init(
short typeinfos_plain,
short typeinfos_in_tci,
short tcis,
DuExistLocn[] typeinfo_locns,
TypeClassConstraint[] constraints)
{
exist_typeinfos_plain = typeinfos_plain;
exist_typeinfos_in_tci = typeinfos_in_tci;
exist_tcis = tcis;
exist_typeinfo_locns = typeinfo_locns;
exist_constraints = constraints;
}
}
public class DuExistLocn {
public short exist_arg_num;
public short exist_offset_in_tci;
public DuExistLocn(short arg_num, short offset_in_tci) {
exist_arg_num = arg_num;
exist_offset_in_tci = offset_in_tci;
}
}
public class TypeClassConstraint {
public TypeClassDeclStruct tc_constr_type_class;
public PseudoTypeInfo[] tc_constr_arg_ptis;
public TypeClassConstraint() {
}
public void init(
TypeClassDeclStruct type_class,
// XXX object[] should be PseudoTypeInfo[],
// but mlds_to_csharp.m generates Object[] since
// init_array/1 doesn't give type info
object[] ptis)
{
tc_constr_type_class = type_class;
tc_constr_arg_ptis = new PseudoTypeInfo[ptis.Length];
for (int i = 0; i < ptis.Length; i++) {
tc_constr_arg_ptis[i] = (PseudoTypeInfo) ptis[i];
}
}
}
public class TypeClassDeclStruct {
public TypeClassId tc_decl_id;
public int tc_decl_version_number;
public int tc_decl_num_supers; // redundant
public TypeClassConstraint tc_decl_supers;
public TypeClassDeclStruct() {
}
public void init(
TypeClassId id,
int version_number,
int num_supers,
TypeClassConstraint supers)
{
tc_decl_id = id;
tc_decl_version_number = version_number;
tc_decl_num_supers = num_supers;
tc_decl_supers = supers;
}
}
public class TypeClassId {
public string tc_id_module_name;
public string tc_id_name;
public int tc_id_arity;
public int tc_id_num_type_vars; // XXX redundant
public int tc_id_num_methods; // XXX redundant
public string[] tc_id_var_names;
public TypeClassMethod[] tc_id_methods;
public TypeClassId() {
}
public void init(
string module_name,
string name,
int arity,
int num_type_vars,
int num_methods,
string[] var_names,
TypeClassMethod[] methods)
{
tc_id_module_name = module_name;
tc_id_name = name;
tc_id_arity = arity;
tc_id_num_type_vars = num_type_vars;
tc_id_num_methods = num_methods;
tc_id_var_names = var_names;
tc_id_methods = methods;
}
}
public class TypeClassMethod {
public string tc_method_name;
public int tc_method_arity;
public int /* PredFunc */ tc_method_pred_func;
public TypeClassMethod(string name, int arity, int pred_func) {
tc_method_name = name;
tc_method_arity = arity;
tc_method_pred_func = pred_func;
}
}
public class EnumFunctorDesc {
public string enum_functor_name;
public int enum_functor_ordinal;
public EnumFunctorDesc() {
}
public void init(string name, int ordinal) {
enum_functor_name = name;
enum_functor_ordinal = ordinal;
}
}
public class NotagFunctorDesc {
public string no_tag_functor_name;
public PseudoTypeInfo no_tag_functor_arg_type;
public string no_tag_functor_arg_name;
public NotagFunctorDesc(
string functor_name,
PseudoTypeInfo functor_arg_type,
object functor_arg_name)
{
no_tag_functor_name = functor_name;
no_tag_functor_arg_type = functor_arg_type;
// XXX cast might fail
no_tag_functor_arg_name = (string) functor_arg_name;
}
}
public class ForeignEnumFunctorDesc {
public string foreign_enum_functor_name;
public int foreign_enum_functor_ordinal;
public int foreign_enum_functor_value;
public ForeignEnumFunctorDesc() {
}
public void init(string name, int ordinal, int val) {
foreign_enum_functor_name = name;
foreign_enum_functor_ordinal = ordinal;
foreign_enum_functor_value = val;
}
}
/*---------------------------------------------------------------------------*/
public class SystemException : System.Exception
{
public SystemException(string Msg) : base(Msg)
{
// The parent constructor sets the error message that will be printed.
}
}
public class Errors
{
public static void SORRY(string s)
{
string msg;
msg = System.String.Concat("Sorry, unimplemented: ", s);
throw new mercury.runtime.SystemException(msg);
}
public static void fatal_error(string s)
{
string msg;
msg = System.String.Concat("Fatal error: ", s);
throw new mercury.runtime.SystemException(msg);
}
}
public class Exception : System.Exception
{
private object _exception; // univ.Univ_0
public Exception(object exception) {
this._exception = exception;
}
public object exception {
get { return _exception; }
}
};
public class Commit : System.Exception
{
}
public class UnreachableDefault : System.Exception {
}
/*---------------------------------------------------------------------------*/
public class ThreadLocalMutables
{
// Child threads do not inherit [ThreadStatic] values, so we cannot use
// the attribute to implement `thread_local' mutables directly. Instead,
// all thread-local mutables are stored in a single array, which is copied
// from the parent thread when a new thread is spawned. The array indices
// are allocated by module initialisation predicates.
[System.ThreadStatic]
private static object[] array = null;
public static int new_index()
{
if (array == null) {
array = new object[1];
return 0;
} else {
int i = array.Length;
System.Array.Resize(ref array, i + 1);
return i;
}
}
public static void set(int i, object val)
{
array[i] = val;
}
public static object get(int i)
{
return array[i];
}
public static object[] clone()
{
if (array == null) {
return null;
} else {
return (object[]) array.Clone();
}
}
public static void set_array(object[] arr)
{
array = arr;
}
}
/*---------------------------------------------------------------------------*/
public class Constants
{
public static readonly int MR_PREDICATE = 0;
public static readonly int MR_FUNCTION = 1;
public static readonly string MR_VERSION = "@VERSION@";
public static readonly string MR_FULLARCH = "@FULLARCH@";
}
/*---------------------------------------------------------------------------*/
#if !MR_HIGHLEVEL_DATA
public class Environment
{
}
public class LowLevelData
{
// Make a Mercury enumeration with the given integer value.
public static object[] make_enum(int enum_value)
{
object[] e;
e = make_MR_Word(enum_value, 0);
return e;
}
// Make a MR_Word with the given tag and arity.
public static object[] make_MR_Word(int tag, int arity)
{
object[] o = new object[arity + 1];
o[0] = tag;
return o;
}
// Set a field of an MR_Word with a given value.
// The first field is at index 1.
public static void set_MR_Word_field(object[] w, int index, object value)
{
w[index] = value;
}
// Get the value from an MR_Word.
// The first field is at index 1.
public static object get_MR_Word_field(object[] w, int index)
{
return w[index];
}
public static bool list_is_cons(object[] w)
{
return (System.Convert.ToInt32(w[0]) != 0);
}
public static object list_get_head(object[] w)
{
return w[1];
}
public static object[] list_get_tail(object[] w)
{
return ((object[]) w[2]);
}
}
#endif
class PInvoke {
[System.Runtime.InteropServices.DllImport("msvcrt.dll")]
public static extern int _putenv(string env);
}
// A bitmap class for bitmap.m and the rewind code in version_array.m.
[System.Serializable]
public class MercuryBitmap {
public int num_bits;
public byte[] elements;
public static int BITS_PER_BYTE = 8;
public MercuryBitmap(int numBits) {
num_bits = numBits;
elements = new byte[numBits / 8 + (((numBits % 8) != 0) ? 1: 0)];
}
public override bool Equals(object that) {
MercuryBitmap other = that as MercuryBitmap;
if (other == null) {
return false;
}
if (num_bits != other.num_bits) {
return false;
}
for (int i = 0; i < elements.Length; i++) {
if (elements[i] != other.elements[i]) {
return false;
}
}
return true;
}
public override int GetHashCode() {
return num_bits ^ elements.GetHashCode();
}
public bool GetBit(int bit)
{
return (elements[ByteIndexForBit(bit)]
& (1 << BitIndexWithinByte(bit))) != 0;
}
public void SetBit(int bit)
{
byte b;
b = elements[ByteIndexForBit(bit)];
b |= (byte) (1 << BitIndexWithinByte(bit));
elements[ByteIndexForBit(bit)] = b;
}
public void ClearBit(int bit)
{
byte b;
b = elements[ByteIndexForBit(bit)];
b &= (byte) ~(1 << BitIndexWithinByte(bit));
elements[ByteIndexForBit(bit)] = b;
}
public int ByteIndexForBit(int bit) {
return bit / BITS_PER_BYTE;
}
public int BitIndexWithinByte(int bit) {
return bit % BITS_PER_BYTE;
}
}
}