IBM Support

PH06026: DERIVED ATTRIBUTE USING BASE TEMPLATE CLASS TYPEDEF DOES NOT GENERATE SCOPE OPERATOR

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

APAR status

  • Closed as program error.

Error description

  • Using a typedef from a base template class in the member
    attribute for a derived class fails to generate the scope
    operator
    
    Steps:
    
    1) Add a template class "Base", add a typedef called "aType"
    using the T type.
    2) Add a regular class, "Derived".
    3) Add a generalisation from "Derived" to "Base". Set the value
    in the Template Instantiation tab: "int"
    4) Add an attribute "aVar" to the "Derived" class and specify
    the typedef from "Base"
    
    Note the attribute code is generated without the scope operator:
    
    typename Base<T>aType aVar;
    
    where it should be:
    
    typename Base<T>::aType aVar;
    
    Note that even though the "int" instantiation has been
    explicitly modelled, it is not available for selection in the
    attribute type list.
    
    Workaround:
    
    User must manually enter the type information for the attribute.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Rhapsody                                                     *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * Derived attribute using base template class typedef does not *
    * generate scope operator                                      *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    

Problem conclusion

  • Missing scope operator problem is fixed. But Rhapsody doesn't
    allow selecting of  type in template instantiation. It is a
    limitation.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH06026

  • Reported component name

    TLOGIC RHAPSODY

  • Reported component ID

    5724V74RP

  • Reported release

    831

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2018-12-03

  • Closed date

    2019-04-30

  • Last modified date

    2019-04-30

  • 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

    TLOGIC RHAPSODY

  • Fixed component ID

    5724V74RP

Applicable component levels



Document information

More support for: Rational Rhapsody

Software version: 831

Reference #: PH06026

Modified date: 30 April 2019