mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			60 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Java
		
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Java
		
	
	
	
// Extended regression test for the PR 179.
 | 
						|
//
 | 
						|
// This tests the ".class" language syntax, initialization behaviour for 
 | 
						|
// Class.isInstance() and Class.isAssignableFrom(), and isAssignableFrom()
 | 
						|
// functionality in the event that an interface argument that is not 
 | 
						|
// implemented by any loaded class is given.
 | 
						|
 | 
						|
class A
 | 
						|
{
 | 
						|
  static 
 | 
						|
  {
 | 
						|
    System.out.println("A initialized");
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
interface IA {}
 | 
						|
 | 
						|
class B implements IA
 | 
						|
{
 | 
						|
  static 
 | 
						|
  {
 | 
						|
    System.out.println("B initialized");
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
class C
 | 
						|
{
 | 
						|
  static 
 | 
						|
  {
 | 
						|
    System.out.println("C initialized");
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
interface IB {}
 | 
						|
 | 
						|
public class pr179
 | 
						|
{
 | 
						|
  public static void main(String[] args)
 | 
						|
  {
 | 
						|
    System.out.println (A.class.isAssignableFrom (Object.class));
 | 
						|
    System.out.println (IB.class.isAssignableFrom (B.class));
 | 
						|
    System.out.println (IA.class.isAssignableFrom (B.class));
 | 
						|
    A a = new A();
 | 
						|
    System.out.println (C.class.isInstance (a));
 | 
						|
    C c = new C();
 | 
						|
    System.out.println (C.class.isInstance (c));
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
/* Expected Output:
 | 
						|
A initialized
 | 
						|
false
 | 
						|
B initialized
 | 
						|
false
 | 
						|
true
 | 
						|
C initialized
 | 
						|
false
 | 
						|
true
 | 
						|
*/
 |