diff options
Diffstat (limited to 'libjava/testsuite/libjava.lang/ArrayStore.java')
-rw-r--r-- | libjava/testsuite/libjava.lang/ArrayStore.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/libjava/testsuite/libjava.lang/ArrayStore.java b/libjava/testsuite/libjava.lang/ArrayStore.java new file mode 100644 index 000000000..9afac71c2 --- /dev/null +++ b/libjava/testsuite/libjava.lang/ArrayStore.java @@ -0,0 +1,52 @@ +public class ArrayStore +{ + public static void main(String[] args) + { + ArrayStore s = new ArrayStore(); + + /* Check that bounds check takes precedence over array store check. */ + try + { + s.a(new String[1]); + } + catch (Exception x) + { + System.out.println (x.getClass().getName()); + } + + try + { + s.a(new String[2]); + } + catch (Exception x) + { + System.out.println (x.getClass().getName()); + } + + /* Check that += operator on String[] element works and throws bounds + exception. */ + try + { + s.b(new String[1]); + } + catch (Exception x) + { + System.out.println (x.getClass().getName()); + } + + String[] sb = new String[2]; + sb[1] = "foo"; + s.b(sb); + System.out.println (sb[1]); + } + + void a(Object[] oa) + { + oa[1] = new Integer(2); + } + + void b(String[] sa) + { + sa[1] += "bar"; + } +} |