IBM Support

PK28940: ROSE: JAVA 1.5 CASTING OF GENERICS RETURNS A PARSE ERROR DURING REVERSE ENGINEERING

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The user is running on Rational Rose Enterprise 2003.06.15b with
    iFix1 and iFix2, but this defect is also verified on Rose v7.0
    The user is encountering a problem with the JDK1.5 generics
    construct.  The user provided the following code example:
    ----------------------------------------------------------------
    import java.util.*;
    import java.util.LinkedList;
    public class test<Long> {
    
      public LinkedList<Integer> getTests()
      {
        LinkedList<Integer> c = new LinkedList<Integer>();
        Object o = c;
        c.add(1);
        LinkedList<Integer> tl = (LinkedList<Integer>)o;
        return tl;
      }
    }
    ---------------------------------
    This code compiles successfully, but the user is experiencing
    the following error during Reverse Engineering into Rose:
    16:54:37|  Parser Error: near token ) on line 20 occurred in
    File C:\Documents and Settings\Administrator\Desktop\test.java
    Line 20 corresponds to "LinkedList<Integer> tl =
    (LinkedList<Integer>)o;"
    Rose does not recognize the generics construct during a standard
    cast and the user is requesting this functionality be fixed so
    that casting with generics reverse engineers successfully.
    Steps to Reproduce:
    1) Copy the source code sample into a test.java file and save
    2) Open Rose
    3) Select Java -> Reverse Engineer
    4) Add the classpath to test.java
    5) Reverse Engineer test.java
    *The error occurs*
    I also verified that standard casting (without generics)
    compiles successfully.
    

Local fix

Problem summary

  • In the grammer one rule was missing. The same has ben added
    for "casting to an java object".
    

Problem conclusion

  • Rose: Java 1.5 casting of generics returns a parse error
    during reverse engineering.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PK28940

  • Reported component name

    ROSE ENTERPRISE

  • Reported component ID

    5724G5002

  • Reported release

    605

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2006-07-28

  • Closed date

    2007-08-21

  • Last modified date

    2007-08-21

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    ROSE ENTERPRISE

  • Fixed component ID

    5724G5002

Applicable component levels

  • R605 PSN

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSSHEM","label":"Rational Rose Enterprise"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.0.5","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
18 October 2021