From: William F. <wsf...@us...> - 2004-05-31 07:14:44
|
Update of /cvsroot/swig/SWIG/Examples/java/enum In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1578 Modified Files: example.h index.html main.java Log Message: Update for new enum wrapping which uses the typesafe enum pattern Index: example.h =================================================================== RCS file: /cvsroot/swig/SWIG/Examples/java/enum/example.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** example.h 30 Nov 2002 21:58:31 -0000 1.2 --- example.h 31 May 2004 07:14:18 -0000 1.3 *************** *** 6,10 **** public: Foo() { } ! enum speed { IMPULSE, WARP, LUDICROUS }; void enum_test(speed s); }; --- 6,10 ---- public: Foo() { } ! enum speed { IMPULSE=10, WARP=20, LUDICROUS=30 }; void enum_test(speed s); }; Index: main.java =================================================================== RCS file: /cvsroot/swig/SWIG/Examples/java/enum/main.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** main.java 30 Nov 2002 21:58:32 -0000 1.2 --- main.java 31 May 2004 07:14:33 -0000 1.3 *************** *** 14,39 **** // Print out the value of some enums System.out.println("*** color ***"); ! System.out.println(" RED = " + example.RED); ! System.out.println(" BLUE = " + example.BLUE); ! System.out.println(" GREEN = " + example.GREEN); System.out.println("\n*** Foo::speed ***"); ! System.out.println(" Foo::IMPULSE = " + Foo.IMPULSE); ! System.out.println(" Foo::WARP = " + Foo.WARP); ! System.out.println(" Foo::LUDICROUS = " + Foo.LUDICROUS); System.out.println("\nTesting use of enums with functions\n"); ! example.enum_test(example.RED, Foo.IMPULSE); ! example.enum_test(example.BLUE, Foo.WARP); ! example.enum_test(example.GREEN, Foo.LUDICROUS); ! example.enum_test(1234,5678); System.out.println( "\nTesting use of enum with class method" ); Foo f = new Foo(); ! f.enum_test(Foo.IMPULSE); ! f.enum_test(Foo.WARP); ! f.enum_test(Foo.LUDICROUS); } } --- 14,38 ---- // Print out the value of some enums System.out.println("*** color ***"); ! System.out.println(" " + color.RED + " = " + color.RED.swigValue()); ! System.out.println(" " + color.BLUE + " = " + color.BLUE.swigValue()); ! System.out.println(" " + color.GREEN + " = " + color.GREEN.swigValue()); System.out.println("\n*** Foo::speed ***"); ! System.out.println(" Foo::" + Foo.speed.IMPULSE + " = " + Foo.speed.IMPULSE.swigValue()); ! System.out.println(" Foo::" + Foo.speed.WARP + " = " + Foo.speed.WARP.swigValue()); ! System.out.println(" Foo::" + Foo.speed.LUDICROUS + " = " + Foo.speed.LUDICROUS.swigValue()); System.out.println("\nTesting use of enums with functions\n"); ! example.enum_test(color.RED, Foo.speed.IMPULSE); ! example.enum_test(color.BLUE, Foo.speed.WARP); ! example.enum_test(color.GREEN, Foo.speed.LUDICROUS); System.out.println( "\nTesting use of enum with class method" ); Foo f = new Foo(); ! f.enum_test(Foo.speed.IMPULSE); ! f.enum_test(Foo.speed.WARP); ! f.enum_test(Foo.speed.LUDICROUS); } } Index: index.html =================================================================== RCS file: /cvsroot/swig/SWIG/Examples/java/enum/index.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** index.html 30 Nov 2002 22:10:02 -0000 1.3 --- index.html 31 May 2004 07:14:33 -0000 1.4 *************** *** 15,21 **** <p> ! This example tests SWIG's ability to wrap enumerations. By default, SWIG ! converts enumeration specifications into integer constants. Further use ! of enumerated types are handled as integers. <ul> --- 15,23 ---- <p> ! This example tests SWIG's ability to wrap enumerations. ! SWIG wraps enums in numerous different ways. The default approach is to wrap ! each enum with the typesafe enum pattern. Enums are handled as integers in the JNI layer. ! See the documentation for the other approaches for wrapping enums. ! <ul> *************** *** 25,36 **** </ul> - <h2>Notes</h2> - - <ul> - <li>SWIG allows arbitrary integers to be passed as enum values. However, - the result of passing an integer not corresponding to any of the values - specified in the <tt>enum</tt> specification is undefined. - </ul> - <hr> </body> --- 27,30 ---- |