| // Test to make sure null arrays throw the right execption |
| |
| public class Array_3 |
| { |
| static Object foo () |
| { |
| return null; |
| } |
| |
| static int[] bar () |
| { |
| return null; |
| } |
| |
| static int baz () |
| { |
| int[] x = (int[])null; |
| int nn = x.length; |
| return 5; |
| } |
| |
| public static void main(String args[]) |
| { |
| boolean ok = false; |
| int nn = 0; |
| |
| try |
| { |
| int[] x = (int[])foo(); |
| nn = x.length; |
| } |
| catch (NullPointerException _) |
| { |
| ok = true; |
| } |
| if (!ok) |
| throw new RuntimeException("test failed:1"); |
| |
| ok = false; |
| try |
| { |
| int[] x = bar(); |
| nn = x.length; |
| } |
| catch (NullPointerException _) |
| { |
| ok = true; |
| } |
| if (!ok) |
| throw new RuntimeException("test failed:2"); |
| |
| ok = false; |
| try |
| { |
| int[] x = bar(); |
| nn = x[0]; |
| } |
| catch (NullPointerException _) |
| { |
| ok = true; |
| } |
| |
| if (!ok || nn != 0) |
| throw new RuntimeException("test failed:3"); |
| |
| ok = false; |
| try |
| { |
| int[] x = (int[])null; |
| nn = x.length; |
| } |
| catch (NullPointerException _) |
| { |
| ok = true; |
| } |
| if (!ok) |
| throw new RuntimeException("test failed:4"); |
| |
| ok = false; |
| try |
| { |
| nn = baz (); |
| } |
| catch (NullPointerException _) |
| { |
| ok = true; |
| } |
| if (!ok) |
| throw new RuntimeException("test failed:5"); |
| } |
| } |