36 public static int getLength(
object arrayObj)
41 public static object get(
object arrayObj,
int index)
46 public static bool getBoolean(
object arrayObj,
int index)
51 public static byte getByte(
object arrayObj,
int index)
56 public static char getChar(
object arrayObj,
int index)
61 public static short getShort(
object arrayObj,
int index)
66 public static int getInt(
object arrayObj,
int index)
71 public static float getFloat(
object arrayObj,
int index)
76 public static long getLong(
object arrayObj,
int index)
81 public static double getDouble(
object arrayObj,
int index)
86 public static void set(
object arrayObj,
int index,
object value)
90 public static void setBoolean(
object arrayObj,
int index,
bool value)
94 public static void setByte(
object arrayObj,
int index,
byte value)
98 public static void setChar(
object arrayObj,
int index,
char value)
102 public static void setShort(
object arrayObj,
int index,
short value)
106 public static void setInt(
object arrayObj,
int index,
int value)
110 public static void setFloat(
object arrayObj,
int index,
float value)
114 public static void setLong(
object arrayObj,
int index,
long value)
118 public static void setDouble(
object arrayObj,
int index,
double value)
122 public static object newArray(global::java.lang.Class componentType,
int length)
127 public static object multiNewArray(global::java.lang.Class componentType,
int[] dimensions)
132 private static global::System.Array CheckArray(
object arrayObj)
134 if (arrayObj ==
null)
136 throw new global::java.lang.NullPointerException();
138 global::System.Array arr = arrayObj as global::System.Array;
143 throw new global::java.lang.IllegalArgumentException(
"Argument is not an array");
148 return CheckArray(arrayObj).Length;
151 public static object get(
object arrayObj,
int index)
153 global::System.Array arr = CheckArray(arrayObj);
154 if (index < 0 || index >= arr.Length)
156 throw new global::java.lang.ArrayIndexOutOfBoundsException();
161 Type type = arrayObj.GetType();
162 if (type == typeof(
bool[]))
164 return global::java.lang.Boolean.valueOf(((
bool[])arr)[index]);
166 if (type == typeof(
byte[]))
168 return global::java.lang.Byte.valueOf(((
byte[])arr)[index]);
170 if (type == typeof(
short[]))
172 return global::java.lang.Short.valueOf(((
short[])arr)[index]);
174 if (type == typeof(
char[]))
176 return global::java.lang.Character.valueOf(((
char[])arr)[index]);
178 if (type == typeof(
int[]))
180 return global::java.lang.Integer.valueOf(((
int[])arr)[index]);
182 if (type == typeof(
float[]))
184 return global::java.lang.Float.valueOf(((
float[])arr)[index]);
186 if (type == typeof(
long[]))
188 return global::java.lang.Long.valueOf(((
long[])arr)[index]);
190 if (type == typeof(
double[]))
192 return global::java.lang.Double.valueOf(((
double[])arr)[index]);
194 return arr.GetValue(index);
199 if (arrayObj ==
null)
201 throw new global::java.lang.NullPointerException();
203 bool[] arr = arrayObj as
bool[];
206 if (index < 0 || index >= arr.Length)
208 throw new global::java.lang.ArrayIndexOutOfBoundsException();
212 throw new global::java.lang.IllegalArgumentException(
"argument type mismatch");
215 public static byte getByte(
object arrayObj,
int index)
217 if (arrayObj ==
null)
219 throw new global::java.lang.NullPointerException();
221 byte[] arr = arrayObj as
byte[];
224 if (index < 0 || index >= arr.Length)
226 throw new global::java.lang.ArrayIndexOutOfBoundsException();
230 throw new global::java.lang.IllegalArgumentException(
"argument type mismatch");
233 public static char getChar(
object arrayObj,
int index)
235 if (arrayObj ==
null)
237 throw new global::java.lang.NullPointerException();
239 char[] arr = arrayObj as
char[];
242 if (index < 0 || index >= arr.Length)
244 throw new global::java.lang.ArrayIndexOutOfBoundsException();
248 throw new global::java.lang.IllegalArgumentException(
"argument type mismatch");
251 public static short getShort(
object arrayObj,
int index)
253 if (arrayObj ==
null)
255 throw new global::java.lang.NullPointerException();
257 short[] arr = arrayObj as
short[];
260 if (index < 0 || index >= arr.Length)
262 throw new global::java.lang.ArrayIndexOutOfBoundsException();
266 return (sbyte)
getByte(arrayObj, index);
269 public static int getInt(
object arrayObj,
int index)
271 if (arrayObj ==
null)
273 throw new global::java.lang.NullPointerException();
275 int[] arr1 = arrayObj as
int[];
278 if (index < 0 || index >= arr1.Length)
280 throw new global::java.lang.ArrayIndexOutOfBoundsException();
284 char[] arr2 = arrayObj as
char[];
287 if (index < 0 || index >= arr2.Length)
289 throw new global::java.lang.ArrayIndexOutOfBoundsException();
296 public static float getFloat(
object arrayObj,
int index)
298 if (arrayObj ==
null)
300 throw new global::java.lang.NullPointerException();
302 float[] arr = arrayObj as
float[];
305 if (index < 0 || index >= arr.Length)
307 throw new global::java.lang.ArrayIndexOutOfBoundsException();
311 return getLong(arrayObj, index);
314 public static long getLong(
object arrayObj,
int index)
316 if (arrayObj ==
null)
318 throw new global::java.lang.NullPointerException();
320 long[] arr = arrayObj as
long[];
323 if (index < 0 || index >= arr.Length)
325 throw new global::java.lang.ArrayIndexOutOfBoundsException();
329 return getInt(arrayObj, index);
332 public static double getDouble(
object arrayObj,
int index)
334 if (arrayObj ==
null)
336 throw new global::java.lang.NullPointerException();
338 double[] arr = arrayObj as
double[];
341 if (index < 0 || index >= arr.Length)
343 throw new global::java.lang.ArrayIndexOutOfBoundsException();
350 public static void set(
object arrayObj,
int index,
object value)
352 if (arrayObj ==
null)
354 throw new global::java.lang.NullPointerException();
356 Type type = arrayObj.GetType();
359 global::java.lang.Boolean booleanValue = value as global::java.lang.Boolean;
360 if (booleanValue !=
null)
362 setBoolean(arrayObj, index, booleanValue.booleanValue());
365 global::java.lang.Byte byteValue = value as global::java.lang.Byte;
366 if (byteValue !=
null)
368 setByte(arrayObj, index, byteValue.byteValue());
371 global::java.lang.Character charValue = value as global::java.lang.Character;
372 if (charValue !=
null)
374 setChar(arrayObj, index, charValue.charValue());
377 global::java.lang.Short shortValue = value as global::java.lang.Short;
378 if (shortValue !=
null)
380 setShort(arrayObj, index, shortValue.shortValue());
383 global::java.lang.Integer intValue = value as global::java.lang.Integer;
384 if (intValue !=
null)
386 setInt(arrayObj, index, intValue.intValue());
389 global::java.lang.Float floatValue = value as global::java.lang.Float;
390 if (floatValue !=
null)
392 setFloat(arrayObj, index, floatValue.floatValue());
395 global::java.lang.Long longValue = value as global::java.lang.Long;
396 if (longValue !=
null)
398 setLong(arrayObj, index, longValue.longValue());
401 global::java.lang.Double doubleValue = value as global::java.lang.Double;
402 if (doubleValue !=
null)
404 setDouble(arrayObj, index, doubleValue.doubleValue());
410 CheckArray(arrayObj).SetValue(value, index);
412 catch (InvalidCastException)
414 throw new global::java.lang.IllegalArgumentException(
"argument type mismatch");
416 catch (IndexOutOfRangeException)
418 throw new global::java.lang.ArrayIndexOutOfBoundsException();
422 public static void setBoolean(
object arrayObj,
int index,
bool value)
424 if (arrayObj ==
null)
426 throw new global::java.lang.NullPointerException();
428 bool[] arr = arrayObj as
bool[];
431 if (index < 0 || index >= arr.Length)
433 throw new global::java.lang.ArrayIndexOutOfBoundsException();
439 throw new global::java.lang.IllegalArgumentException(
"argument type mismatch");
443 public static void setByte(
object arrayObj,
int index,
byte value)
445 if (arrayObj ==
null)
447 throw new global::java.lang.NullPointerException();
449 byte[] arr = arrayObj as
byte[];
452 if (index < 0 || index >= arr.Length)
454 throw new global::java.lang.ArrayIndexOutOfBoundsException();
460 setShort(arrayObj, index, (sbyte)value);
464 public static void setChar(
object arrayObj,
int index,
char value)
466 if (arrayObj ==
null)
468 throw new global::java.lang.NullPointerException();
470 char[] arr = arrayObj as
char[];
473 if (index < 0 || index >= arr.Length)
475 throw new global::java.lang.ArrayIndexOutOfBoundsException();
481 setInt(arrayObj, index, value);
485 public static void setShort(
object arrayObj,
int index,
short value)
487 if (arrayObj ==
null)
489 throw new global::java.lang.NullPointerException();
491 short[] arr = arrayObj as
short[];
494 if (index < 0 || index >= arr.Length)
496 throw new global::java.lang.ArrayIndexOutOfBoundsException();
502 setInt(arrayObj, index, value);
506 public static void setInt(
object arrayObj,
int index,
int value)
508 if (arrayObj ==
null)
510 throw new global::java.lang.NullPointerException();
512 int[] arr = arrayObj as
int[];
515 if (index < 0 || index >= arr.Length)
517 throw new global::java.lang.ArrayIndexOutOfBoundsException();
523 setLong(arrayObj, index, value);
527 public static void setFloat(
object arrayObj,
int index,
float value)
529 if (arrayObj ==
null)
531 throw new global::java.lang.NullPointerException();
533 float[] arr = arrayObj as
float[];
536 if (index < 0 || index >= arr.Length)
538 throw new global::java.lang.ArrayIndexOutOfBoundsException();
548 public static void setLong(
object arrayObj,
int index,
long value)
550 if (arrayObj ==
null)
552 throw new global::java.lang.NullPointerException();
554 long[] arr = arrayObj as
long[];
557 if (index < 0 || index >= arr.Length)
559 throw new global::java.lang.ArrayIndexOutOfBoundsException();
569 public static void setDouble(
object arrayObj,
int index,
double value)
571 if (arrayObj ==
null)
573 throw new global::java.lang.NullPointerException();
575 double[] arr = arrayObj as
double[];
578 if (index < 0 || index >= arr.Length)
580 throw new global::java.lang.ArrayIndexOutOfBoundsException();
586 throw new global::java.lang.IllegalArgumentException(
"argument type mismatch");
590 public static object newArray(global::java.lang.Class componentType,
int length)
592 if (componentType ==
null)
594 throw new global::java.lang.NullPointerException();
596 if (componentType == global::java.lang.Void.TYPE)
598 throw new global::java.lang.IllegalArgumentException();
602 throw new global::java.lang.NegativeArraySizeException();
606 RuntimeJavaType wrapper = RuntimeJavaType.FromClass(componentType);
608 object obj = global::System.Array.CreateInstance(wrapper.TypeAsArrayType, length);
609 if (wrapper.IsGhost || wrapper.IsGhostArray)
619 catch (NotSupportedException x)
623 throw new global::java.lang.IllegalArgumentException(x.Message);
627 public static object multiNewArray(global::java.lang.Class componentType,
int[] dimensions)
629 if (componentType ==
null || dimensions ==
null)
631 throw new global::java.lang.NullPointerException();
633 if (componentType == global::java.lang.Void.TYPE)
635 throw new global::java.lang.IllegalArgumentException();
637 if (dimensions.Length == 0 || dimensions.Length > 255)
639 throw new global::java.lang.IllegalArgumentException();
643 RuntimeJavaType wrapper = RuntimeJavaType.FromClass(componentType).MakeArrayType(dimensions.Length);
646 if (wrapper.IsGhostArray)
656 catch (NotSupportedException x)
660 throw new global::java.lang.IllegalArgumentException(x.Message);
IKVM.Reflection.Type Type
static char getChar(object arrayObj, int index)
static long getLong(object arrayObj, int index)
static object multiNewArray(global::java.lang.Class componentType, int[] dimensions)
static void setInt(object arrayObj, int index, int value)
static void setLong(object arrayObj, int index, long value)
static int getInt(object arrayObj, int index)
static short getShort(object arrayObj, int index)
static void setChar(object arrayObj, int index, char value)
static bool getBoolean(object arrayObj, int index)
static int getLength(object arrayObj)
static double getDouble(object arrayObj, int index)
static void setShort(object arrayObj, int index, short value)
static byte getByte(object arrayObj, int index)
static float getFloat(object arrayObj, int index)
static void setByte(object arrayObj, int index, byte value)
static void setFloat(object arrayObj, int index, float value)
static object newArray(global::java.lang.Class componentType, int length)
static void setBoolean(object arrayObj, int index, bool value)
static void setDouble(object arrayObj, int index, double value)
static object multianewarray(RuntimeTypeHandle typeHandle, int[] lengths)
Main state of the running JVM.
.NET exception that corresponds to a Java exception.
RuntimeClassLoaderFactory ClassLoaderFactory
Gets the RuntimeClassLoaderFactory associated with this instance of the runtime.