⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 typesignaturetest.java

📁 gcc的组建
💻 JAVA
字号:
/*************************************************************************/* TypeSignatureTest.java -- Tests TypeSignature class/*/* Copyright (c) 1998 by Free Software Foundation, Inc./*/* This program is free software; you can redistribute it and/or modify/* it under the terms of the GNU General Public License as published /* by the Free Software Foundation, version 2. (see COPYING)/*/* This program is distributed in the hope that it will be useful, but/* WITHOUT ANY WARRANTY; without even the implied warranty of/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the/* GNU General Public License for more details./*/* You should have received a copy of the GNU General Public License/* along with this program; if not, write to the Free Software Foundation/* Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA/*************************************************************************/import java.lang.reflect.Constructor;import java.lang.reflect.Method;import java.lang.reflect.Member;import gnu.java.lang.reflect.TypeSignature;public class TypeSignatureTest{  public static void pass()  {    System.out.print( "PASSED: " );  }    public static void fail()  {    System.out.print( "FAILED: " );  }  public static void testClass( Class clazz, String type_code )  {    if( TypeSignature.getEncodingOfClass( clazz ).equals( type_code ) )      pass();    else      fail();        System.out.println( "class encoding of " + clazz );  }  public static void testGetClass( Class clazz, String type_code )    throws ClassNotFoundException  {    if( TypeSignature.getClassForEncoding( type_code ).equals( clazz ) )      pass();    else      fail();        System.out.println( "class from encoding " + type_code );  }  public static void testConstructor( Constructor c, String type_code )  {    if( TypeSignature.getEncodingOfConstructor( c ).equals( type_code ) )      pass();    else      fail();        System.out.println( "constructor encoding of " + c );  }  public static void testMethod( Method m, String type_code )  {    if( TypeSignature.getEncodingOfMethod( m ).equals( type_code ) )      pass();    else      fail();        System.out.println( "method encoding of " + m );  }  public static void testMember( Member m, String type_code )  {    if( TypeSignature.getEncodingOfMember( m ).equals( type_code ) )      pass();    else      fail();        System.out.println( "member encoding of " + m );  }  public static void main( String[] args )  {    try    {      // test getEncodingOfClass      testClass( Boolean.TYPE, "Z" );      testClass( Byte.TYPE, "B" );      testClass( Character.TYPE, "C" );      testClass( Double.TYPE, "D" );      testClass( Float.TYPE, "F" );      testClass( Integer.TYPE, "I" );      testClass( Long.TYPE, "J" );      testClass( Short.TYPE, "S" );      testClass( (new int[] {}).getClass(), "[I" );      testClass( (new float[][][] {}).getClass(), "[[[F" );      testClass( String.class, "Ljava/lang/String;" );      testClass( TypeSignatureTest.class, "LTypeSignatureTest;" );      // test named inner-class      TypeSignatureTest tst = new TypeSignatureTest();      Inner i = tst.new Inner();      testClass( i.getClass(),		 "LTypeSignatureTest$Inner;" );      // test anonymous inner-class      Anon anon = new Anon() { public void f() {} };      testClass( anon.getClass(), "LTypeSignatureTest$1;" );      //test getEncodingOfConstructor      testConstructor( String.class.getConstructor( new Class[] {} ),		       "()V" );          testConstructor(	String.class.getConstructor( new Class[]				     { (new byte[]{}).getClass() } ),	"([B)V" );          testConstructor( 	String.class.getConstructor( new Class[] { StringBuffer.class } ),	"(Ljava/lang/StringBuffer;)V" );      // test getEncodingOfMethod      testMethod( 	String.class.getMethod( "lastIndexOf",				new Class[] { Integer.TYPE, Integer.TYPE } ),	"(II)I" );            testMethod(	String.class.getMethod( "length", new Class[] {} ),	"()I" );      testMethod(	TypeSignatureTest.class.getMethod( "pass", new Class[] {} ),	"()V" );      testMember(	TypeSignatureTest.class.getField( "i" ),	"I" );            testMember(	TypeSignatureTest.class.getField( "s" ),	"Ljava/lang/String;" );      testMember(	TypeSignatureTest.class.getField( "o" ),	"[[Ljava/lang/Object;" );            // test getClassForEncoding      testGetClass( Boolean.TYPE, "Z" );      testGetClass( Byte.TYPE, "B" );      testGetClass( Character.TYPE, "C" );      testGetClass( Double.TYPE, "D" );      testGetClass( Float.TYPE, "F" );      testGetClass( Integer.TYPE, "I" );      testGetClass( Long.TYPE, "J" );      testGetClass( Short.TYPE, "S" );      testGetClass( (new int[] {}).getClass(), "[I" );      testGetClass( (new float[][][] {}).getClass(), "[[[F" );      testGetClass( String.class, "Ljava/lang/String;" );      testGetClass( TypeSignatureTest.class, "LTypeSignatureTest;" );      // test named inner-class      testGetClass( i.getClass(),		 "LTypeSignatureTest$Inner;" );      // test anonymous inner-class      testGetClass( anon.getClass(), "LTypeSignatureTest$1;" );    }    catch( Exception e )    {      e.printStackTrace();    }  }  public int i;  public String s;  public Object[][] o;  class Inner  {}}interface Anon{  public void f();}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -