61 {
62 var int32 =
Module.Universe.System_Int32;
63 var setArgs =
new Type[rank + 1];
64 var getArgs =
new Type[rank];
65 var ctorArgs =
new Type[rank * 2];
66 for (int i = 0; i < rank; i++)
67 {
68 setArgs[i] = int32;
69 getArgs[i] = int32;
70 ctorArgs[i * 2 + 0] = int32;
71 ctorArgs[i * 2 + 1] = int32;
72 }
73
75
77 {
78 new ConstructorInfoImpl(
new BuiltinArrayMethod(
Module,
this,
".ctor", CallingConventions.Standard | CallingConventions.HasThis,
Module.Universe.System_Void, getArgs)),
79 new ConstructorInfoImpl(
new BuiltinArrayMethod(
Module,
this,
".ctor", CallingConventions.Standard | CallingConventions.HasThis,
Module.Universe.System_Void, ctorArgs)),
80 new BuiltinArrayMethod(
Module,
this,
"Set", CallingConventions.Standard | CallingConventions.HasThis,
Module.Universe.System_Void, setArgs),
81 new BuiltinArrayMethod(
Module,
this,
"Address", CallingConventions.Standard | CallingConventions.HasThis,
elementType.MakeByRefType(), getArgs),
82 new BuiltinArrayMethod(
Module,
this,
"Get", CallingConventions.Standard | CallingConventions.HasThis,
elementType, getArgs),
83 };
84 }
IKVM.Reflection.Module Module
IKVM.Reflection.Type Type
IKVM.Reflection.MethodBase MethodBase
readonly Type elementType