mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			53 lines
		
	
	
		
			898 B
		
	
	
	
		
			Java
		
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			898 B
		
	
	
	
		
			Java
		
	
	
	
| 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";
 | |
|   }
 | |
| }
 |