Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4374650

Mapping for Java boolean constant type to IDL is wrong

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 1.4.0
    • 1.4.0
    • other-libs
    • None
    • beta3
    • sparc
    • solaris_8
    • Verified


        tuong.nguyen@eng 2000-09-27

        *******************************************************************************

        Description:

         Mapping for Java boolean constant to IDL is incorrect. I would expect to see
         TRUE or FALSE not "tru" or "fals". Please see the output below.

        (tuongn@bonnelle) [7:23pm] constants01 [349] % cat Test1.java

        // OMG ptc/00-01-06 - 1.3.4.5 Constants

        import java.rmi.*;

        public interface Test1 extends Remote {
         
            public final static boolean PASSED = true;
            public final static boolean FAILED = false;
        }
        (tuongn@bonnelle) [7:23pm] constants01 [350] % /usr/local/java/jdk1.4/solaris/bin/javac Test1.java
        (tuongn@bonnelle) [7:24pm] constants01 [351] % /usr/local/java/jdk1.4/solaris/bin/rmic -idl Test1
        (tuongn@bonnelle) [7:24pm] constants01 [352] % ls -l Test1.*
        -rw-r--r-- 1 tuongn green 194 Sep 27 19:24 Test1.class
        -rw-r--r-- 1 tuongn green 337 Sep 27 19:24 Test1.idl
        -rw-r--r-- 1 tuongn green 201 Sep 27 19:09 Test1.java
        (tuongn@bonnelle) [7:25pm] constants01 [353] % cat Test1.idl
        /**
         * Test1.idl
         * Generated by rmic -idl. Do not edit
         * Wednesday, September 27, 2000 7:24:49 PM PDT
         */

        #include "orb.idl"

        #ifndef __Test1__
        #define __Test1__



            interface Test1 {
            
                const boolean PASSED = tru;
                const boolean FAILED = fals;
            
            };

        #pragma ID Test1 "RMI:Test1:0000000000000000"


        #endif

        (tuongn@bonnelle) [7:25pm] constants01 [354] %

        ********************************************************************************

        ###@###.### 2001-08-15

        - The test still failed with the idlj command in build
          j2sdk-1_4_0-beta_refresh-bin-b75-solsparc-09_aug_2001

        - Below is the detail output

        (tuongn@bonnelle) [11:27am] constants01 [248] % cat Test5.java

        // OMG ptc/00-01-06 - 1.3.4.5 Constants

        import java.rmi.*;

        public interface Test5 extends Remote {
            public final static boolean PASSED = true;
            public final static boolean FAILED = false;
        }
        (tuongn@bonnelle) [11:28am] constants01 [249] % /usr/local/java/jdk1.4/solsparc/bin/rmic -idl Test5
        (tuongn@bonnelle) [11:28am] constants01 [250] % cat Test5.idl
        /**
         * Test5.idl
         * Generated by rmic -idl. Do not edit
         * Wednesday, August 15, 2001 11:28:17 AM PDT
         */

        #include "orb.idl"

        #ifndef __Test5__
        #define __Test5__



            interface Test5 {
            
                const boolean PASSED = true;
                const boolean FAILED = false;
            
            };

        #pragma ID Test5 "RMI:Test5:0000000000000000"


        #endif

        (tuongn@bonnelle) [11:28am] constants01 [251] % /usr/local/java/jdk1.4/solsparc/bin/idlj -i /usr/local/java/jdk1.4/solsparc/lib Test5.idl
        Test5.idl (line 16): WARNING: Identifier `_true' collides with a keyword; use an escaped identifier to ensure future compatibility.
                const boolean PASSED = true;
                                       ^
        Test5.idl (line 16): _true is an undeclared type.
                const boolean PASSED = true;
                                           ^
        Test5.idl (line 16): The type of the constant expression is long, but it should be boolean.
                const boolean PASSED = true;
                                           ^
        Test5.idl (line 17): WARNING: Identifier `_false' collides with a keyword; use an escaped identifier to ensure future compatibility.
                const boolean FAILED = false;
                                       ^
        Test5.idl (line 17): _false is an undeclared type.
                const boolean FAILED = false;
                                            ^
        Test5.idl (line 17): The type of the constant expression is long, but it should be boolean.
                const boolean FAILED = false;
                                            ^
        (tuongn@bonnelle) [11:28am] constants01 [252] %
        ********************************************************************************

        ###@###.### 2001-09-18

        Fix verified OK
        - with build: j2sdk-1_4_0-beta3-bin-b79-solsparc-12_sep_2001
        - with test: tests/product/rmi-iiop/JavaToIdlMapping/Interfaces/constants01/Test5.java

        ********************************************************************************

              sbauersunw Stefan Bauer (Inactive)
              duke J. Duke
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: